-
        
+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Problem mit Fernbedienung

  1. #1

    Problem mit Fernbedienung

    Hallo!

    Ich habe folgendes Problem: Ich habe eine Fernbedienung, die anscheinend fast alle Tasten 2 mal sendet. Das heißt, dass alle Kommandos 2 Mal ausgeführt werden. Hat jemand eine Idee, wie ich das verhindern kann, bzw. wie ich in meinem Programm den entsprechenden Befehl nur einmal ausführen lassen kann?

    Danke für die Antworten schon im Vorraus!

    mfg
    robertthronhill

  2. #2
    Kann man vielleicht einstellen, dass das nächste Kommando erst nach 80ms erfolgen kann und dass alles was davor kommt einfach ignoriert wird?

    mfg
    robertthronhill

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    24.10.2004
    Ort
    Feldkirchen in Ktn
    Alter
    28
    Beiträge
    37
    Ich habe das selbe Problem.

    Welche Fernbedienung verwendest du?

    Mir war es eigentlich egal, weil ob der Robby jetzt ein bisschen länger vorwährts fährt oder nicht ist mir egal.

    Aber probiers mit einer Pause von ein paar Millisekunden

    mfg Stefan

  4. #4
    Ich verwende die Fernbedienung der Sony Stereoanlage RM-D170 (ist schon 10 Jahre alt). Das Ding sendet auf REC80. Ich hab das Problem teilweise gelöst. Und zwar so:
    Code:
    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 'zurück zum Auswahlmenü für die Fernbedienung
    Aber irgendwie spielt mein Robby nach dem Befehleblock irgendwie verrückt und startet hinterher auch andere Programmteile.

    mfg
    robertthronhill

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    bei karstadt gibt es eine fernbedienung zum programmieren für ca 9 euro, woanders glaube ich auch (media-max). die sind sehr gut, damit steuere ich auch meinen ccrp5 und jetzt meinen "küchenbrettroboter" ohne probleme.
    mfg pebisoft

  6. #6
    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

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    ich habe die philips universal (sbc ru 254) 9 euro von karstadt. ähnliche für den gleichen preis bekommst du auch bei medimax. da man die selber für verschieden empfänger programmieren kann ,ist es ein leichtest, den code für den robby zu einzugeben.
    mfg pebisoft

  8. #8
    Wie kann man die Fernbedienungen dann programmieren? Gehen also alle programmierbaren Fernbedienungen?

    mfg
    robertthronhill

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    alle fernbedienungen die freie codeeinstellung haben.
    in der bedinungsanleitung steht der hinweis.
    mfg pebisoft

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.788

    Fernbedienung für Robby

    Hallo Leute,

    es geht z.B. die IR-Fernbedienung CV 150-2 (CONRAD Best.-Nr. 350381).
    Sie ist programmierbar und muss auf Geräte-Code 169 für RC5 eingestellt werden.

    Gruß Dirk

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •