hallo, ich habe hier ein programm welchs ein viereck darstellt mit 4 rädern und wo die vorderräder gelenkt werden. bedienung mit den pfeiltasten
da ich es auf dem gp2x einsetze für meinen roboter möchte ich es optimieren. wer kann hier weiterhelfen?
//charosserie
CREATESCREEN 1,1,20,40
USESCREEN 1
DRAWRECT 0,0,20,40,RGB(255,255,0)
//rad
CREATESCREEN 2,2,6,16
USESCREEN 2
DRAWRECT 0,0,6,16,RGB(0,255,0)
USESCREEN -1
x=40*1.6
y=40*1.6
x2=x/2
y2=y/2
mx=100
my=100
WHILE TRUE
IF KEY(208) // pfeil oben
INC phi, phid
x1 = SIN(phi)*1
y1 = COS(phi)*1
INC mx, x1
INC my, y1
ENDIF
IF KEY(200) // pfeil unten
DEC phi, phid
x1 = SIN(phi)*1
y1 = COS(phi)*1
DEC mx, x1
DEC my, y1
ENDIF
IF KEY(203) THEN DEC phid, 0.05 ; GOSUB drehen // pfeil links
IF KEY(205) THEN INC phid, 0.05 ; GOSUB drehen // pfeil rechts
RotoPivot(3, mx, my, x2,y2, phi)
SHOWSCREEN
WEND
SUB drehen:
IF phid > 1.55
DEC phid, 0.05
ELSEIF phid < -1.55
INC phid, 0.05
ENDIF
phi1=phid*20
CREATESCREEN 3,3,x,y
USESCREEN 3
DRAWSPRITE 1,x2-10,y2-20 // charosserie
RotoPivot (2,x2-10,y2-15,3,8,-phi1) // rad vorn links
RotoPivot (2,x2+10,y2-15,3,8,-phi1) // rad vorn rechts
RotoPivot (2,x2-10,y2+15,3,8,0) // rad hinten links
RotoPivot (2,x2+10,y2+15,3,8,0) // rad hinten links
USESCREEN -1
ENDSUB
FUNCTION RotoPivot: id, x,y, px, py, phi
LOCAL sx, sy, rx,ry
LOCAL cosp, sinp
cosp=COS(phi)
sinp=SIN(phi)
GETSPRITESIZE id, sx, sy
sx=sx/2
sy=sy/2
DEC px, sx
DEC py, sy
rx = px*cosp + py*sinp
ry = py*cosp - px*sinp
INC rx,sx
INC ry,sy
ROTOSPRITE id, x-rx, y-ry, phi
ENDFUNCTION
Hi
Mach doch gleich ein Geschicklichkeitsspiel daraus. Um Hindernisse herumfahren und so. :)
Erzähl doch mal was über das Projekt mit dem Roboter. Was macht der eigentlich so genau? Hilft der dann im Haushalt mit, mäht der den Rasen, geht der etwa einkaufen? Wird es die Welt verändern? ;) War nur Spass. Wäre interessant zu erfahren was du da eigentlich genau machst.
Cheers
QuoteWäre interessant zu erfahren was du da eigentlich genau machst.
na jut,
ich habe an der seriellen schnittstelle ein atmegaboard mit dem atmega32 oder auch manchmal den atmega644 eingesteckt. ich möchte nun das das glbasic einen visuellen roboter darstellt mit einem ultraschallsensor der auf einem screen rumfährt wo hindernisse (würfel/farbflächen bei 2d) aufgestellt sind.
der visuelle roboter soll nun hindernisse erkennen und soll auf befehlen reagieren (vor,zurück,links,rechts, stop). die erkennungsdaten soll der visuelle roboter nun über die serielle schnittstelle zum atmegaboard senden bzw empfangen
das atmegaboard wird mit bascom programmiert und soll die daten auf nehmen und dem roboter befehle senden wie er sich nun zu verhalten hat (vor,zurück,links,rechts, stop).
auch sollen sogenannte scandaten von den hindernissen(screeen) zum atmegaboard gesendet werden.diese daten werden vom atmegaboard auf eine sd-karte(128mb) geschrieben.
dann kommt das zweite spielchen.
das atmegaboard sendet mir auf verlangen die daten der sd-karte zum pc , aber nicht mehr zum visuellen roboter sondern zu einem anderen programm welches jetzt aus den scandaten eine umgebung zeichnet.
damit kann ich prüfen, wie genau ich den atemage programmiert habe,das dieses programm darauf mit einem roboter dann einen raum einscannen kann.
dieses ist eine aufgabe die ich mir gesetzt habe.
dieses ...einfach so rumfahren usw ....ist nicht mein ding.
ich möchte mit hardware-atmegaboard und hardware-pc zusammenarbeiten. und irgendwann habe ich auch den gp2xf200 soweit, das er mir darin den pc ersetzt.
ist ein anspruchsvolles hobby, auch finanziell. aber es bindet einen sehr lange und ist keine augenblickanschaffung bzw augenblickbeschäftigung.
muss man sich vorher reichlich überlegen, bevor man in diese fussspuren lang läuft.
Na da hast du dir ja was vorgenommen. :D Aber ein schönes Hobby.
Cheers
ist wie bei der modelleisenbahn : das ding darf nicht fertig werden.
schnüffel hier mal rum : http://www.mikrocontroller.net/forum/mikrocontroller-elektronik
es ist für jedem etwas da. vielleicht funkt es auch bei dir...!
mfg
Schweres hobby :)
Aber doch irgendwo interessant!
Ich erwarte bei Erfolg ein Video ;)
http://www.roboternetz.de/phpBB2/album_pic.php?pic_id=2060
da siehst du schon das atmegaboard am notebook , seriell.
da sind 2 atmega32 drauf und 1 atmega8 ,
können auch so gesteckt werden mit den verbindungsdrähten das alle oder auch nur zwei zusammenarbeiten.
das andere ist nur noch eine programmiersache.
das ist der umgebaute roboter von der kette auf räder :
http://www.roboternetz.de/phpBB2/album_pic.php?pic_id=1994
mfg
Cooles Gerät! Fette Sache. Ich dachte das wär' so ein Schuhkarton auf Rädern.