-         
+ Antworten
Ergebnis 1 bis 10 von 10

Thema: rp5 als Fernbedienung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    27.07.2004
    Beiträge
    13

    rp5 als Fernbedienung

    Hallo zusammen,

    Ich würde gerne den robby als Fernbedienung nutzen habe es aber bis jetzt noch nicht hinbekommen! Das Problem ist das ich zwar einen gültigen IR code ausgelesen habe zb Adresse 34 und Kommando 47
    und das auch so in der programzeile geschrieben habe aber wenn das program dann ausgeführt wird passiert nichts dh.das angesprochene Gerät reagiert nicht vielleicht kann mir ja da jemand helfen.Wäre nett!!
    Das Progr sieht ungef so aus:

    gosub rc5

    #senden
    HBYTE=21:LBYTE=47:gosub SEND_IRDATAause 10
    if IR_F=off then goto senden
    goto senden

    email ADR:michak1@AOl.com

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Aus dem Ausschnitt eines Quelltext alleine wird man nicht schlau, soll das für C-control sein?
    Die If bedingung unten ist überflüssig.

  3. #3
    Gast
    Hallo, ja für c-control, nun ich hab halt mal den für die sendung des ir-signals zuständigen teil geschrieben.Ich will von dieser C-control wo auf dem rp5 integriert ist ein funktionierendes ir-signal absenden worauf dann zb ein cd-player oder sonstige Geräte ansprechen.
    gruß

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Also nen RC5-Sender script und ein entsprechendes Empfängerscript findest du unter:

    Sender:
    http://www.c-control.de/daten/c1progs.html

    Empfänger:
    http://www.b-kainka.de/msrhgfaq.htm

    du musst natürlicherstmal checken, was die Sender für die Entsprechenden Geräte senden.
    Am besten befasst du dich erstmal nen bisschen mit dem Code, wenn nochj nciht geschehen, da findest du hier im Forum was unter Artikel.

    MFG Moritz

  5. #5
    Hab das selbe auch schon mit dem RP5 gemacht.
    Könnte sein, dass sich bei dir nichts tut, weil das Togglebit nicht geändert wird.
    http://home.t-online.de/home/holger....ge.htm?rc5.htm

    Code:
    define IRHI          byte[6]
    define IRLO          byte[7]
    
    IRHI=21:IRLO=47
    
    #Loop
    IRHI=IRHI xor 32 'Hier wird das Togglebit geändert
    HBYTE=IRHI:LBYTE=IRLO
    gosub SEND_IRDATA
    pause 50
    goto Loop
    (wär im CCRP5 Forum besser aufgehoben)

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Hi Zwostein, welches Script benutzt du, könntest du mal das Ganze mit Obj-Dateien etc. posten, oder den link angeben?

  7. #7
    Hallo RCO, meinst du den Code? Ich weiß leider nicht wie arg sich der code vom rp5 von der 'normalen' c-control unterscheidet. Bei dem rp5 gibts das alles schon fertig.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Ja, ich miene den Code, du hast ja oben schon was geposted, aber es fehlen noch OBJ oder S19-Dateien, oder der Rest des Code, ich weiß ja nicht wie der Aufgebuat ist.

    Der Code von RP5 und dem "normalen" C-control ist der Selbe, es sei denn du benutzt C-control II. Sonst ist es der selbe Controller, nur die angschlossene Hardware hab ich hlat nicht, aber das macht nix.

    Wäre super, wenn du den Code mit allen zugehörigen Dateien posten könntest. Sind beim Robby nicht auch Beispieldateine dabei, die wären auch interesssant, hab sowas im Internet nicht gefunden.

    MFG Moritz

  9. #9
    Also, hier erstmal der komplette Code:
    Code:
    '----------------------------------------------------------------------
    'Wartet auf ein RC5 Signal, gibt dessen Code auf dem LCD aus und sendet
    'bei lautem Geräusch (zB. Klatschen) das empfangene Signal zurück.
    'Das Togglebit wird dabei geändert.
    '----------------------------------------------------------------------
    '
    
    '--------------------------
    '------ 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]
    '---- EIGENE PORTS --------
    define BUMPER       port[7]
    '------- LCD PORTS --------
    define D4           port[9]
    define D5           port[10]
    define D6           port[11]
    define D7           port[12]
    define RW           port[13]
    define RS           port[14]
    define EN           port[15]
    '---- FREIE PORTS ---------
    define FREIP8       port[8]
    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]
    '------ LCD BUFFER --------
    define LCDByte       byte[6]
    define LCDVar        byte[7]
    '--------------------------
    '------ USER MEMORY -------
    '--------------------------
    define i1            byte[8]
    define IRHI          byte[9]
    define IRLO          byte[10]
    define Sample        byte[11]
    
    '---- SYSTEMROUTINEN ------
    define PLM_SLOW      &H01C4
    define SYSTEM        &H01C9
    define COMNAV        &H0154
    '-- ERWEITERTE 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 LCDON         &B00001100
    define LCDOFF        &B00001000
    define LCDCLS        &B00000001
    define LCDSHIFTR     &B00011100
    define LCDSHIFTL     &B00011000
    define LCDCURSHIFTR  &B00010100
    define LCDCURSHIFTL  &B00010000
    define LCDCURON      &B00001110
    define LCDCUROFF     &B00001100
    define LCDCURBON     &B00001111
    define LCDCURBOFF    &B00001110
    define LCDCURHOME    &B00000010
    define LCDROW1       &B10000000
    define LCDROW2       &B11000000
    
    
    '--------------------------
    
    
    '--------- INIT -----------
    FREIP8=off:FREIP16=off
    D4=off:D5=off:D6=off:D7=off:RW=off:RS=off:EN=off
    beep 736,2,0
    gosub SUBSYS_PWR_ON
    pause 50
    gosub NO_ACS_INT
    SYS ACS_HI
    REV_L=on:REV_R=on:SYS PLM_SLOW
    beep 368,2,0
    gosub RC5
    gosub LEDSOFF
    gosub LCD_INIT
    beep 184,2,0
    '--------- MAIN -----------
    #loop
    gosub GET_IRDATA
    if LBYTE and HBYTE=&HFF then goto idle
    IRHI=HBYTE:IRLO=LBYTE
    gosub irdisp
    goto loop
    #idle
    for i1=1 to 50
       if MIC>Sample then Sample=MIC
       next
    if Sample>=4 then gosub irsnd
    Sample=0
    goto loop
    
    #irsnd
    IRHI=IRHI xor 32:gosub irdisp
    HBYTE=IRHI:LBYTE=IRLO
    gosub SEND_IRDATA
    return
    
    #irdisp
    gosub LCD_SETCOMMAND
    LCDByte=LCDOFF:gosub LCD_SEND
    LCDByte=LCDCLS:gosub LCD_SEND
    gosub LCD_SETWRITE
    LCDVar=IRHI:gosub LCD_VARSEND3
    gosub LCD_SETCOMMAND
    LCDByte=LCDROW2:gosub LCD_SEND
    gosub LCD_SETWRITE
    LCDVar=IRLO:gosub LCD_VARSEND3
    gosub LCD_SETCOMMAND
    LCDByte=LCDON:gosub LCD_SEND
    return
    
    '--------------------------
    
    
    '------- LCD DRIVER -------
    #LCD_INIT
    gosub LCD_SETCOMMAND
    LCDByte=&B00110011:gosub LCD_SEND
    LCDByte=&B00110010:gosub LCD_SEND
    LCDByte=&B00101100:gosub LCD_SEND
    LCDByte=LCDOFF:gosub LCD_SEND
    LCDByte=LCDON:gosub LCD_SEND
    LCDByte=&B00000110:gosub LCD_SEND
    return
    #LCD_SETCOMMAND
    RS=off:RW=off
    return
    #LCD_SETWRITE
    RS=on:RW=off
    return
    #LCD_VARSEND3
    LCDByte=(LCDVar/100)+48:gosub LCD_SEND
    LCDVar=LCDVar mod 100
    #LCD_VARSEND2
    LCDByte=(LCDVar/10)+48:gosub LCD_SEND
    LCDByte=(LCDVar mod 10)+48
    #LCD_SEND
    D7=LCDByte and 128
    D6=LCDByte and 64
    D5=LCDByte and 32
    D4=LCDByte and 16
    pulse EN
    D7=LCDByte and 8
    D6=LCDByte and 4
    D5=LCDByte and 2
    D4=LCDByte and 1
    pulse EN
    return
    
    '------- LED DRIVER -------
    #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
    #EXTPORT_WRITE
    SYS SYSTEM:pulse STROBE:RETURN
    
    '------- COMNAV DRIVER --------
    #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
    #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
    
    '----- GERÄTETREIBER ------
    'syscode "p5driv.s19"
    Und die S19, die unveränderte P5driv.s19:
    Code:
    S1130101190116A5811B0118A581180117A5811ACA
    S11301110119A581ADF920E8ADF020E9ADE720E0B2
    S1130121ADED20E6A604B7A3AD29B6A5A4F8BAA1FE
    S1130131B7A581A608BE0B2004A607BE0ABFA1B7B6
    S1130141A220063FA2B6A5B7A1B6A14939A2493951
    S1130151A23FA39BAD54AD38AE0C5A26FDB6A3CD38
    S1130161017FB6A2CD017FB6A1CD017F1105130593
    S1130171CD0198B7A2CD0198B7A1AD149A815F13AF
    S1130181014411012402100112015CA30826F0812B
    S1130191130112051005815F0201FD440301FD01F4
    S11301A10102AA805CA30826EF81ADE41201AE0A24
    S11301B15A26FD1305AE0A0201055A26FA20EB025E
    S11301C101FD81A60CB70C81AE0839A411012402EA
    S11301D11001150114015A26F139A41601170181E0
    S11301E1AD1214A41CA520E0AD0A12A41AA520D8AE
    S11001F1AD0220D415A413A41DA51BA581E7
    S9030000FC
    Auf der mitgelieferten cd hab ich nur Beispiele zum Empfangen von rc5 Signalen gefunden, aber nüx um damit einen Fernseher oderso zu Steuern.

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Danke für den Code, ich schaue mal, was ich gebrauchen kann.

    MFg Moritz

+ Antworten

Berechtigungen

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