BananenFresser
06.11.2005, 18:28
So hab zum Geburtstag nun den Robby RP5 begommen, und es macht auch einen wirklich großen Spaß den Roboter zu programmieren und so waren dann auch schnell die ersten Programme geschrieben und ausprobiert. Alles Bestens. Sobald ich allerdings versuche mehre Sachen miteinander zu koppeln stoße ich an meine Grenzen. So wollte ich zum Bsp. den autonomen Betrieb (mit ACS) durch eine IR-Fernbediehnung unterbrechen und gegebenen Falls wieder aufnehmen lassen. Dies Funktioniert bei meinem Programmcode aber nicht wirklich und ich denke, das dies an meinen verwendeten Befehlen liegt, da ich noch nicht so sehr viel programmiert habe. Es wäre also sehr nett wenn ihr mir ein paar Tipps geben könntet wo ich zB. Tutorials oder so zu diesem Thema finde oder mir ggf. sogar sagen könntet wo der Fehler in meinem Programmcode steckt.
#Loop
if ifautonom=1 then gosub autonom
gosub IRDAT
Goto Loop
#IRDAT
pause 2:SYS COMNAV_STATUS
if IR_F =off then goto IRDAT
gosub GET_IRDATA:goto EX_COMMAND
#EX_COMMAND
if LBYTE=2 then ifautonom=1
if LBYTE=3 then ifautonom=0
IR_F =off
goto Loop
#autonom
pause 5:SYS COMNAV_STATUS
'--------- LEDs ansteuern --------------------
if ACSL_F=on then gosub LED4ON else gosub LED4OFF
if ACSR_F=on then gosub LED1ON else gosub LED1OFF
'--------- AUSWEICHMANÖVER EINLEITEN ---------
if (ACSL_F and ACSR_F)=on then goto rotate
if ACSL_F=on then goto move_right
if ACSR_F=on then goto move_left
SYS FWDR:SYS FWDL:SPEED_L=255:SPEED_R=255:goto Loop
'-------- AUSWEICHEN NACH RECHTS -------------
#move_right
SPEED_R=0:SPEED_L=255:goto Loop
'-------- AUSWEICHEN NACH LINKS -------------
#move_left
SPEED_L=0:SPEED_R=255:goto Loop
'---------- ROTIEREN --------------------
#rotate
SPEED_L=150:SPEED_R=150:SYS ROTR:goto Loop
'----------------------------------------------
So kann ich meinen Robby zwar per Fernsteuerung starten aber leider nicht mehr stoppen :(
PS: gibt es eine Möglichkeit mehrere Programme zu schreiben und vom Robby bearbeiten zu lassen (d.h. das Hauptprogramm ruft eine andere Datei auf), ich kenne dies aus PHP mit dem Befehl "include ..."
mfg
BananenFresser
#Loop
if ifautonom=1 then gosub autonom
gosub IRDAT
Goto Loop
#IRDAT
pause 2:SYS COMNAV_STATUS
if IR_F =off then goto IRDAT
gosub GET_IRDATA:goto EX_COMMAND
#EX_COMMAND
if LBYTE=2 then ifautonom=1
if LBYTE=3 then ifautonom=0
IR_F =off
goto Loop
#autonom
pause 5:SYS COMNAV_STATUS
'--------- LEDs ansteuern --------------------
if ACSL_F=on then gosub LED4ON else gosub LED4OFF
if ACSR_F=on then gosub LED1ON else gosub LED1OFF
'--------- AUSWEICHMANÖVER EINLEITEN ---------
if (ACSL_F and ACSR_F)=on then goto rotate
if ACSL_F=on then goto move_right
if ACSR_F=on then goto move_left
SYS FWDR:SYS FWDL:SPEED_L=255:SPEED_R=255:goto Loop
'-------- AUSWEICHEN NACH RECHTS -------------
#move_right
SPEED_R=0:SPEED_L=255:goto Loop
'-------- AUSWEICHEN NACH LINKS -------------
#move_left
SPEED_L=0:SPEED_R=255:goto Loop
'---------- ROTIEREN --------------------
#rotate
SPEED_L=150:SPEED_R=150:SYS ROTR:goto Loop
'----------------------------------------------
So kann ich meinen Robby zwar per Fernsteuerung starten aber leider nicht mehr stoppen :(
PS: gibt es eine Möglichkeit mehrere Programme zu schreiben und vom Robby bearbeiten zu lassen (d.h. das Hauptprogramm ruft eine andere Datei auf), ich kenne dies aus PHP mit dem Befehl "include ..."
mfg
BananenFresser