Hi
Also ich wollte das der bot auf eine Lichtquelle zufährt, aber trotzdem hindernissen ausweichen kann.
Und noch mal danke für die schnellen antworten!!!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] ' '-------------------- 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) ' ' '------------------------ 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_LO ' '--------------------- ANTRIEB -------------------------- REV_L=on:REV_R=on:SYS PLM_SLOW ' ' ' 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 'III Programm III 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ' #loop pause 5:SYS COMNAV_STATUS if ACSL_F=on then gosub LED4ON else gosub LED4OFF if ACSR_F=on then gosub LED1ON else gosub LED1OFF 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 ' if (LIGHT_L-LIGHT_R) >10 then goto rotleft_fast if (LIGHT_R-LIGHT_L)>10 then goto rotright_fast if (LIGHT_L-LIGHT_R) >2 then goto rotleft if (LIGHT_R-LIGHT_L)>2 then goto rotright SYS FWDR:SYS FWDL:SPEED_L=100:SPEED_R=100:goto loop ' #rotleft SYS ROTL:SPEED_L=100:SPEED_R=100:goto loop #rotleft_fast SYS ROTL:SPEED_L=150:SPEED_R=150:goto loop #rotright SYS ROTR:SPEED_L=100:SPEED_R=100:goto loop #rotright_fast SYS ROTR:SPEED_L=150:SPEED_R=150:goto loop ' #move_right SPEED_R=100:SPEED_L=255:goto loop #move_left SPEED_L=100:SPEED_R=255:goto loop #rotate SPEED_L=150:SPEED_R=150:SYS ROTR:goto loop ' ' ' '--------------------------------------------------------- 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII '--------------------------------------------------------- ' 'IIIIIIIIIIIIIIIIIIIIII LED DRIVER IIIIIIIIIIIIIIIIIIIIIII ' #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 ' 'IIIIIIIIIII SYSTEMROUTINEN COMM/NAV SYSTEM IIIIIIIIIIII #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 ' 'IIIIIIIIIIIIIII SYSTEMROUTINEN SYSTEM IIIIIIIIIIIIIIIII #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 '----------------COM/NAV GERÄTEREIBER -------------------- 'syscode "p5driv.s19"







Zitieren

Lesezeichen