Hi Jon
Ich hab dein Prog. ausprobiert.
Da gibts bei mir 2 Fehler:

1. Robby hält nicht an.(Auch beim ersten Mal nicht)

2. Wenn einmal ein Hindernis im Weg war dreht er sich die ganze Zeit im Kreis auch wenn kein Hindernis mer im Weg ist.

Kann es vieleicht daran liegen, dass du irgentwelche Erweiterungen hast und dass es dadurch erst funktioniert?Ich haber nämlich nur den ganz einfachen Robby ohne Erwieterungen.

Vieleicht kann mal noch jemand anderes dieses Programm testen und mir mitteilen ob es bei ihm funktioniert hat?
Code:
'-------------------------- 
'------ I/O PORTS --------- 
'-------------------------- 
'- INTERFACE LCD/EXTPORT -- 
define sdio         port[1] 
define sclio        port[3] 
define strobe       port[4] 
'-- INTERFACE COM/NAV ----- 
define DATALINE     port[1] 
define CLOCKLINE    port[2] 
'-------------------------- 
'------ SENSORS --------- 
'-------------------------- 
define LIGHT_L      ad[7] 
define LIGHT_R      ad[6] 
define SYS_VOLTS    ad[3] 
define CHRG_CURRENT ad[2] 
define SYS_CURRENT  ad[1] 
define MIC          ad[4] 
define TOUCH        ad[5] 
'--------------------------- 
'------  DRIVE ------------- 
'--------------------------- 
define SPEED_L        da[1] 
define SPEED_R        da[2] 
define REV_L        port[6] 
define REV_R        port[5] 
'-------------------------- 
'---- SYSTEM MEMORY ------- 
'-------------------------- 
'--- INTERFACE BUFFER ---- 
define LBYTE         byte[1] 
define HBYTE         byte[2] 
define SUBCMD        byte[3] 
'---- OPERATION DATA ------ 
define EXTPORT       byte[4] 
define LED1_F        bit[29] 
define LED2_F        bit[30] 
define LED3_F        bit[31] 
define LED4_F        bit[32] 
define SYSTEM_STATUS byte[5] 
define ACSL_F        bit[33] 
define ACSR_F        bit[34] 
define IR_F          bit[35] 
'-------------------------- 
'----  USER MEMORY  ------- 
'-------------------------- 
define GP            byte[6] 
define MAXLIGHT      byte[7] 
define GP1           byte[8] 
define SAMPLE        byte[9] 
define HSAMPLE       byte[10] 
'--- SYSTEMROUTINEN ----------- 
define PLM_SLOW      &H01C4 
define SYSTEM        &H01C9 
define COMNAV        &H0154 
'- ERWEITERTE SYSTEM ROUTINEN - 
define REVR          &H0101   'ANTRIEB RECHTS RÜCKWÄRTS 
define REVL          &H0106   'ANTRIEB LINKS RÜCKWÄRTS 
define FWDR          &H010B   'ANTRIEG RECHTS VORWÄRTS 
define FWDL          &H0110   'ANTRIEB LINKS VORWÄRTS 
define ROTR          &H0115   'RECHTS DREHEN 
define ROTL          &H0119   'LINKS DREHEN 
define REV           &H011D   'RÜCKWÄRTS 
define FWD           &H0121   'VORWÄRTS 
define COMNAV_STATUS &H0125   'UPDATED ALLE FLAGS IM STATUS-REGISTER 
define ACS_LO        &H01E1   'ACS POWER LO 
define ACS_HI        &H01E9   ' 
define ACS_MAX       &H01F1   ' 
define SEND_TLM      &H014A   'SENDET TELEMETRIE (CH=HBYTE,DATEN=LBYTE) 
define SEND_SPEEDR   &H0134   'SENDET TLM KANAL 8,PLM RECHTS 
define SEND_SPEEDL   &H013A   'SENDET TLM KANAL 7,PLM LINKS 
define SEND_SYSSTAT  &H0144   'SENDET TLM KANAL 0,SYSTEM STATUS 
                              '(FLAGS für ACS,FWD/REV, ACS_LO/HI/MAX) 



#Start 
'---------- INIT--------------- 
gosub SUBSYS_PWR_ON 
beep 368,10,0:pause 50 
'---- SYSTEM OPERATION MODE (NO INTERRUPT) ---- 
gosub NO_ACS_INT:beep 368,10,0:SYS ACS_MAX 
'------------ ANTRIEB ------------------------- 
REV_L=on:REV_R=on:SYS PLM_SLOW 
'-------------------------------------------- 
'---         WEGSTRECKENZÄHLER            --- 
'-------------------------------------------- 

gosub CLR_DISTANCE:gosub LEDSOFF 
#LOOP 
for GP=1 to 100 
SAMPLE=MIC 
if SAMPLE > HSAMPLE then HSAMPLE=SAMPLE 
next 
if HSAMPLE < 10 then gosub LED4ON else gosub LED4OFF 
if HSAMPLE >= 10 then gosub move_fwd 
HSAMPLE=0:goto loop 
'---------------------------------------------------------------- 
#Strecke 
pause 5:SYS COMNAV_STATUS 
gosub L_DISTANCE 
if LBYTE= 25 then gosub stop                    

'--------- 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 

                                
goto Strecke 

'-------------------------------------------- 
'-------- AUSWEICHEN NACH RECHTS ------------- 
#move_right 
SPEED_R=100:SPEED_L=255:goto Strecke 
'-------- AUSWEICHEN NACH LINKS ------------- 
#move_left 
SPEED_L=100:SPEED_R=255:goto Strecke 
'----------    ROTIEREN  -------------------- 
#rotate 
SPEED_L=150:SPEED_R=150:SYS ROTR:goto Strecke 

#stop 
SYS FWDR:SYS FWDL:SPEED_L=0:SPEED_R=0:beep 368,10,0:gosub CLR_DISTANCE:HSAMPLE=0:gosub loop 
#move_fwd 
SYS FWDR:SYS FWDL:SPEED_L=155:SPEED_R=155:gosub Strecke 
'--------------------------------------------- 



'IIIIIIIIIII LED DRIVER IIIIIIIIIIIIIIIII 
#LED1ON 
LED1_F=on:goto EXTPORT_WRITE 
#LED1OFF 
LED1_F=off :goto EXTPORT_WRITE 
#LED2ON 
LED2_F=on:goto EXTPORT_WRITE 
#LED2OFF 
LED2_F=off:goto EXTPORT_WRITE 
#LED3ON 
LED3_F=on:goto EXTPORT_WRITE 
#LED3OFF 
LED3_F=off:goto EXTPORT_WRITE 
#LED4ON 
LED4_F=on:goto EXTPORT_WRITE 
#LED4OFF 
LED4_F=off:goto EXTPORT_WRITE 
#LEDSOFF 
EXTPORT=EXTPORT and &H0F:goto EXTPORT_WRITE 
#EXTPORT_WRITE 
SYS SYSTEM:pulse STROBE:RETURN 

'IIIIII SYSTEMROUTINEN COMM/NAV SYSTEM  IIIII 

#GET_IRDATA 
SUBCMD=1:sys COMNAV:return 
#SEND_IRDATA 
SUBCMD=0:sys COMNAV:return 
#RC5 
SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFC 
HBYTE=00:SUBCMD=2:sys COMNAV:return 
#RC5_INT 
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE and &HFE)or 2 
HBYTE=00:SUBCMD=2:sys COMNAV:return 
#REC80 
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H01)and&HFD 
HBYTE=00:SUBCMD=2:sys COMNAV:return 
#REC80_INT 
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H03) 
HBYTE=00:SUBCMD=2:sys COMNAV:return 

'IIIIII   SYSTEMROUTINEN SYSTEM  IIIIIIIIIIII 
#NO_ACS_INT 
SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFB 
HBYTE=00:SUBCMD=2:sys COMNAV:return 
#ACS_INT_200 
SUBCMD=4:sys COMNAV:LBYTE= HBYTE or &H04 
HBYTE=50:SUBCMD=2:sys COMNAV:return 
#SUBSYS_PWR_ON 
sdio=on:sclio=on:strobe=off:EXTPORT=(EXTPORT and &HFE)or 8 
sys SYSTEM:return 
#SUBSYS_PWR_OFF 
EXTPORT=(EXTPORT and &HF7)or 1:sys SYSTEM 
deact sdio:deact sclio:return 
#CLR_DISTANCE 
SUBCMD=3:sys COMNAV:return 
#L_DISTANCE 
SUBCMD=6:sys COMNAV:return 
#R_DISTANCE 
SUBCMD=7:sys COMNAV:return
Ich wäre euch sehr dankbar.

Gruß dj