- LiTime Speicher und Akkus         
Ergebnis 1 bis 7 von 7

Thema: CCRP5 Einstieg

  1. #1
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    36
    Beiträge
    947

    CCRP5 Einstieg

    Anzeige

    Powerstation Test
    Hallo an alle!

    Habe gerade meinen Robby ausm Keller geholt, und wollte mal wieder versuchen die Programmierung zu verstehen. Hat jemand zufällig ein Programm für Robby CCRP5, damit ich bisschen Überblick bekomme, wie das ganze ungefähr funzt! Habe ne Weile im Internet gegoogelt und fand keine passende Tutorials und mit den Demos auf der mitgeliferten CD kann ich auch nicht viel anfangen.

    Würde mich freuen wenn das so eins wäre, wo die Infrarotsensoren angesprochen werden um Hindernisse auszuweichen.

    Oder noch besser einen Tutorial dafür wie man den Robby programmiert!

    Vielen Dank im vorraus!

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    30
    Beiträge
    601
    Schau mal im ausführlichen Manual auf der CD nach. Da sind alle Befehle genau erklärt. Das hat mir zumindest viel geholfen.

    Viele Grüße
    ikarus_177

  3. #3
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    36
    Beiträge
    947
    hi ikarus_177! Danke für deine schnelle Antwort!
    Das was du vorgeschlagen hast, hab ich ganz am Anfang gemacht und ein paar Einblicke bekommen, aber die Befehle sind in Demos zestreut. Vor einigen Monaten habe ich Progs geschrieben, aber nie zum laufen gekriegt. So habe ich das ganze ausprobiert bis ich keine Lust mehr hatte und das ding in den Keller gebracht habe! Weiss halt nicht wie ich anfangen soll und wie man so einProg aufbaut.
    Deswegen würde ich gerne so ein Beispiel haben damit ich ungefähr weiss wie das aufgebaut ist!

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    30
    Beiträge
    601
    Hi,

    ich könnte dir am Wochenende ein Beispielprog zusammenstellen. Ich stells dir dann hier rein. Könnte aber noch dauern bis Morgen bis Sonntag, da die Schule zur Zeit Vorrang hat.

    lg ikarus_177

  5. #5
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    36
    Beiträge
    947
    Ja na klar hat ja Zeit, werde dir sehr dankbarsein (bin ich ja jetztschon)!


    MfG Sheff

  6. #6
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    30
    Beiträge
    601
    Hi Sheff,

    ich hab mal ein Programm geschrieben (bin ja auch schon ne Weile weg vom RP5), in dem man *meiner Meinung nach* ganz gut erkennen kann, wie die einzelnen Befehle arbeiten.

    Code:
    'nötige Definitonen am Anfang, können direkt übernommen werden:
    
    
    
    
    '--------------------------
    '------ 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 ---------
    'hier gegebenenfalls andere Namen für die einzelnen Ports verwenden
    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 Freiad8 Ad[8]                                        'freier A/D-Wandler
    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 Deviceaddress Byte[6]
    'User Memory ab BYTE[7] frei!
    '--- 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---------------'
    'Freie Ports initialisieren (Namensänderung beachten):
    FREIP7=off
    Freip8 = Off
    Freip9 = Off
    Freip10 = Off
    Freip11 = Off
    Freip12 = Off
    Freip13 = Off
    Freip14 = Off
    Freip15 = Off
    Freip16 = Off
    ' Subsysteme einschalten:
    Gosub Subsys_pwr_on
    
    Beep 368 , 10 , 0 : Pause 50
    Gosub Ledsoff                                               'Alle LEDs auf Robby aus
    ' ACS initialisieren:
    Gosub No_acs_int : Beep 368 , 10 , 0 : Sys Acs_lo           'Kein Interrupt, Power LO
    '------------ ANTRIEB -------------------------
    Rev_l = On : Rev_r = On : Sys Plm_slow
    
    '----------------
    ' HAUPTPROGRAMM:
    '----------------
    
    'Sprungmarke (einfache Schleife)
    
    #loop
    
    'Quellcode
    
    Goto Loop
    
    
    'Abfrage des IR-Sensors:
    
    Sys Comnav_status
    
    If Acsl_f = On Then Gosub Unterroutine                      'Sensor für linke Seite spricht an, verzweigen ins Unterprogramm
    If Acsr_f = On Then Gosub Andere_unterroutine               'Sensor für rechte Seite spricht an
    
    
    'Geschwindigkeitskontrolle
    
    Speed_l = 100                                               'geschwindigkeit linke Kette
    Speed_r = 100                                               'Geschwindigkeit rechte Kette
    
    
    
    
    'Ab hier Unterroutinen für LED-Ansteuerung sowie IR-System
    
    
    '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
    #ledson
    Extport = Extport Or &HF0
    #extport_write
    Lbyte = Extport : Sys System : Return
    
    'IIIIII SYSTEMROUTINEN COMM/NAV SYSTEM  IIIII
    #get_irdata
    Subcmd = 1 : Sys Comnav : Return
    #send_irdata
    Subcmd = 0 : Sys Comnav : Return
    #get_tlm
    Subcmd = 1 : Sys Comnav : Lbyte = Lbyte Or(hbyte Shl 6)
    Hbyte = Hbyte Shr 2 : 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
    #addressed_mode_on
    Subcmd = 4 : Sys Comnav : Lbyte =(hbyte Or &H10)
    Hbyte = 00 : Subcmd = 2 : Sys Comnav : Return
    #addressed_mode_off
    Subcmd = 4 : Sys Comnav : Lbyte =(hbyte And &HEF)
    Hbyte = 00 : Subcmd = 2 : Sys Comnav : Return
    #wait_ping
    Subcmd = 8 : Sys Comnav : Return
    #set_address
    Subcmd = 4 : Sys Comnav : Lbyte =(hbyte Or &H10)
    Hbyte = 00 : Subcmd = 2 : Sys Comnav
    Lbyte = Deviceaddress : Subcmd = 5 : Sys Comnav : Return
    #get_addressed_data
    Subcmd = 1 : Sys Comnav : Hbyte = Hbyte And &H7 : RETURN
    #send_addressed_data
    Hbyte =(hbyte Shl 3)or Deviceaddress : Subcmd = 0 : 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"

    Recht viel steht halt noch nicht drinnen, hab mal das von dir oben angesprochene IR-System eingebaut. Wenn du noch weitere Fragen zu Befehlen hast, frag ruhig. Ich werde mich bemühen, es dir zu erklären, wenn ich es selber weiß.


    Viele Grüße
    ikarus_177

  7. #7
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    36
    Beiträge
    947
    Vielen dank für deine mühe ikarus_177. Werde es demnächst ausprobieren wenn ich den kompiler auf mein rechner kriege, weil ich vor paar tagen Linux instaliert habe! Keine Lust mehr auf Vista!

    Werde bestimmt noch fragen haben

    MfG Sheff

Berechtigungen

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

LiTime Speicher und Akkus