Kannst du mal bitte die genaue Pruoduktnummer, Hersteller und alles posten, dass ich mir die auch kaufen kann, weil die Fernbedienung geht mir auf den Geist . Vielleicht kann sich ja jemand den Code von mir anschauen und mir sagen, ob ich vielleicht einen Logischen Fehler habe.
Code:
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
'IIIIIIIIII       MOBILE ROBOT EVALUATION PROGRAM          IIIIIIIIIIII
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
'  EINFACHES BEISPIEL ZUR BENUTZUNG EINER IR-FERNSTEUERUNG
'  Für diese Demo benötigen Sie eine RC5 oder REC80 kompatible
'  IR-Fernsteuerung, von der die ausgesendeten Codes bekannt sind.
'  es werden 4 Kommandos erkannt und dazu benutzt die 4 LEDs zu schalten
'  Die Fernsteuerkommandos sind für die als Zubehör erhältliche IR-Fernbedienung CV100
'  (Best.Nr.349127) vereinbart, können aber natürlich beliebig geändert werden.
'  Wenn Sie eine eigene Fernsteuerung verwenden wollen, deren Codes Sie aber nicht kennen
'  finden Sie im Ordner TOOLS das Programm DISPLAY_IR_CODES.BAS, das es Ihnen ermöglicht
'  diese Codes anzuzeigen.
'

'Folgende Kommandos sind vereinbart:
'32 - LED1                        (P+)
'33 - LED2                        (P-)
'17 - LED3                        (V-)
'16 - LED4                        (V+)

' ---------------------------------------------------------------------
'                       FUNKTION DES PROGRAMMS
'----------------------------------------------------------------------
'Die SYSTEM-ROUTINE COMNAV_STATUS liefert im Bezeichner IR_F ein Flag
'wenn ein IR-Signal empfangen wurde.

'Das Unterprogramm GET_IRDATA liefert in HBYTE die gesendete Adresse und in LBYTE
'die zugehörigen Kommandos.In diesem Beispiel werden nur die Kommandos ausgewertet und
'die LEDs danach geschaltet.

'------------------------------------------------------------------------
'RESOURCEN:
'Sie finden in allen Beispielen sämtliche Systemroutinen die zum Betrieb des
'Roboters notwendig sind.
'Viele davon greifen auf Hardwareresourcen zu, die Sie von C-Control her nicht
'kennen, deren genaue Funktionsweise aber im File "Project5_intern" erklärt ist.

' Für dieses Beispiel sind folgende SYSTEMROUTINEN relevant:
'
' POWER:
' gosub SUBSYS_PWR_ON  ;Schaltet die Subsysteme EIN/AUS
' gosub SUBSYS_PWR_OFF

' AUSGABEN:
' gosub LED1ON   ;zum Ein/Ausschalten der LED1 analog auch
' gosub LED1OFF  ;LED 2bis 4
' gosub LEDSOFF  ;schaltet alle LEDS aus
'
' SUBSYSTEM:
' SYS COMNAV_STATUS  ;Abfrage des ACS/IR-COMM
' gosub GET_IRDATA   ;liefert empfangene IR-Daten in HBYTE und LBYTE
'                     (jeweils FF wenn nichts empfangen wurde)
' gosub SEND_IRDATA  ;Sendet die Daten in HBBYTE und LBYTE
' gosub REC80        ;Stellt das Format ein
' gosub REC80_INT    ;Aktiviert den Interruptbetrieb mit REC80 Format
' gosub RC5          ;Stellt das Format ein
' gosub RC5_INT      ;Aktiviert den Interruptbetrieb mit RC5 Format

' ANTRIEB
' SYS REVR           ;Kette rückwärts laufen lassen R/L
' SYS RERL
' SYS FWDR           ;Kette vorwärts laufen lassen R/L
' SYS FWDL
' SYS ROTR           ;Auf der Stelle nach R/L drehen
' SYS ROTL


'--------------------------
'------ 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]
'---- FREIE PORTS ---------
define FREIP7       port[7]
define FREIP8       port[8]
define FREIP9       port[9]
define FREIP10       port[10]
define FREIP11       port[11]
define FREIP12       port[12]
define FREIP13       port[13]
define FREIP14       port[14]
define FREIP15       port[15]
define FREIP16       port[16]
'--------------------------
'------ 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 DATA          byte[6]
'--- 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
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)
define x             word




'---------- INIT---------------
FREIP7=off:FREIP8=off:FREIP9=off:FREIP10=off
FREIP11=off:FREIP12=off:FREIP13=off:FREIP14=off
FREIP15=off:FREIP16=off

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
'--------- IR-DATENFORMAT -----------------
gosub REC80

'--------------------------------------------
'---   STEUERUNG MIT SONY FERNBEDIENUNG   ---
'--------------------------------------------
#loop
pause 10:gosub LEDSOFF
SYS COMNAV_STATUS:if IR_F=off then goto loop
'---------- KOMMANDO INTERPRETER --------------
#EX_COMMAND
gosub GET_IRDATA
if LBYTE=29 then gosub CONTINUE
if LBYTE=0  then gosub TASTE1
if LBYTE=1  then gosub TASTE2
if LBYTE=2  then gosub TASTE3
if LBYTE=4  then gosub TASTE5
if LBYTE=5  then gosub TASTE6
if LBYTE=6  then gosub TASTE7
'if LBYTE=8  then gosub TASTE9
if LBYTE=32 then gosub TASTE10
'if LBYTE=33 then gosub TASTE11
goto loop

'--------- CONTINUE -----------------------
#CONTINUE
print TIMER
print "KEYNR=29"
print "---"
gosub SUBSYS_PWR_OFF
pause 30
gosub SUBSYS_PWR_ON
gosub REC80_INT
gosub REC80
gosub NO_ACS_INT:SYS ACS_MAX
gosub EX_COMMAND

'--------- 1 ----------------------------------
#TASTE1
SPEED_L=150:SPEED_R=150:SYS ROTL:pause 5
SPEED_L=0  :SPEED_R=0
gosub SUBSYS_PWR_OFF
pause 30
gosub SUBSYS_PWR_ON
gosub REC80_INT
gosub REC80
gosub NO_ACS_INT:SYS ACS_MAX
gosub EX_COMMAND

'--------- 2 ----------------------------------
#TASTE2
SPEED_L=150:SPEED_R=150:SYS FWD:pause 30
SPEED_L=0  :SPEED_R=0
gosub SUBSYS_PWR_OFF
pause 30
gosub SUBSYS_PWR_ON
gosub REC80_INT
gosub REC80
gosub NO_ACS_INT:SYS ACS_MAX
gosub EX_COMMAND

'--------- 3 ----------------------------------
#TASTE3
SPEED_L=150:SPEED_R=150:SYS ROTR:pause 5
SPEED_L=0  :SPEED_R=0
gosub SUBSYS_PWR_OFF
pause 30
gosub SUBSYS_PWR_ON
gosub REC80_INT
gosub REC80
gosub NO_ACS_INT:SYS ACS_MAX
gosub EX_COMMAND

'--------- 5 ----------------------------------
#TASTE5
SPEED_L=150:SPEED_R=150:SYS ROTL:pause 42
SPEED_L=0  :SPEED_R=0
gosub SUBSYS_PWR_OFF
pause 30
gosub SUBSYS_PWR_ON
gosub REC80_INT
gosub REC80
gosub NO_ACS_INT:SYS ACS_MAX
gosub EX_COMMAND

'--------- 6 ----------------------------------
#TASTE6
LED2ON:wait 5:LED2OFF
gosub SUBSYS_PWR_OFF
pause 30
gosub SUBSYS_PWR_ON
gosub REC80_INT
gosub REC80
gosub NO_ACS_INT:SYS ACS_MAX
gosub EX_COMMAND

'--------- 7 ----------------------------------
#TASTE7
SPEED_L=150:SPEED_R=150:SYS ROTR:pause 42
SPEED_L=0  :SPEED_R=0
gosub SUBSYS_PWR_OFF
pause 30
gosub SUBSYS_PWR_ON
gosub REC80_INT
gosub REC80
gosub NO_ACS_INT:SYS ACS_MAX
gosub EX_COMMAND

'--------- 10 ---------------------------------
#TASTE10
SPEED_L=150:SPEED_R=150:SYS REV:pause 30
SPEED_L=0  :SPEED_R=0
gosub SUBSYS_PWR_OFF
pause 30
gosub SUBSYS_PWR_ON
gosub REC80_INT
gosub REC80
gosub NO_ACS_INT:SYS ACS_MAX
gosub EX_COMMAND


'IIIIIIIIIII LED DRIVER IIIIIIIIIIIIIIIII
#LED1ON
LED1_F=on:goto EXTPORT_WRITE
#LED1OFF
LED1_F=off and &HEF: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
#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

'---------COM/NAV GERÄTEREIBER -------------
'syscode "p5driv.s19"
Danke!

mfg
robertthronhill