-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Dispaly des RP5 programmieren

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    17.06.2007
    Ort
    Landau
    Alter
    24
    Beiträge
    54

    Dispaly des RP5 programmieren

    Anzeige

    hallo ich habe mir das display sowie die Erweiterungsplatiene für den RP5 gekauft. Doch wie kann ich das Display steuern, sodass z.b. hallo darauf angezeigt wird?

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Schau dir mal die Beispiele auf der CD an. Da steht alles zu drin.

    jon
    Nice to be back after two years
    www.roboterfreak.de

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

    LCD RP5

    Hallo ostoff,

    mitgeliefert mit dem RP5 wurde ja das Demo-Programm "2_ERWEITERUNG_LCD.bas".

    Das solltest du ausprobieren. Da sind auch die Unterprogramme für das LCD (LCD ROUTINES) enthalten, die du für die Ansteuerung brauchst. Wenn du eigene Progs mit LCD schreibst, kopier diese Routinen in dein Programm.

    Wenn du bisher den RP5 OHNE Erweiterungsplatine benutzt hast, must du deine Programme jetzt etwas ändern:
    1. Du brauchst den neuen Treiber "p5driv12.s19" anstelle des "p5driv.s19". Dazu must du die Zeile 'syscode "p5driv12.s19" am Ende des Progs einfügen.
    2. Du must die Definitionen ab '--- SYSTEMROUTINEN ----------- an den neuen Treiber anpassen (bis '---------- INIT---------------).

    Mach einfach alles so, wie es in dem o.g. Demo-Programm steht.

    Gruß Dirk

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    17.06.2007
    Ort
    Landau
    Alter
    24
    Beiträge
    54
    oh das ist ja sehr kompliziert

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    oh das ist ja sehr kompliziert
    Nicht wirklich!

    Leg mit der Demo los!

    Gruß Dirk

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    17.06.2007
    Ort
    Landau
    Alter
    24
    Beiträge
    54
    wie würde der code heißen wenn dort hallo stehen würde

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Sollte so aussehen:
    Code:
    'Zeigt an der Position 1,1 das Wort "Hallo" an.
    'by jon
    
    '--------------------------
    '------ I/O PORTS ---------
    '--------------------------
    '- INTERFACE LCD/EXTPORT --
    Define Sdio Port[1]
    Define Sclio Port[3]
    Define Strobe Port[4]
    Define Lstrobe Port[7]
    '-- INTERFACE COM/NAV -----
    Define Dataline Port[1]
    Define Clockline Port[2]
    '-- CC2 INTERFACE   -------
    Define Cc2power Port[8]
    '------ LCD INTERFACE ------
    Define Lcd_port Byteport[2]
    Define Lcd_rs Port[14]
    Define Lcd_rw Port[13]
    Define Lcd_e Port[15]
    '--------------------------
    '------ 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 Ledport Byte[6]
    Define L1_f Bit[41]
    Define L2_f Bit[42]
    Define L3_f Bit[43]
    Define L4_f Bit[44]
    Define L5_f Bit[45]
    Define L6_f Bit[46]
    Define L7_f Bit[47]
    Define L8_f Bit[48]
    '---- LCD DRIVER -------------
    Define Lcd_buf Byte[7]
    Define Lcd_param Byte[8]
    '--------------------------
    '----  USER MEMORY  -------
    '--------------------------
    '--- BIN-DEZIMAL-CONVERTER ---
    Define Hunderter Byte [10]
    Define Zehner Byte[11]
    Define Einer Byte[12]
    Define Value Byte[13]
    Define Value16 Word [12]
    '--- SYSTEMROUTINEN -----------
    Define Plm_slow &H01C2
    Define System &H01C7
    Define Led_drive &H01CA
    Define Comnav &H0144
    '- 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 &H01E0                                        'ACS POWER LO
    Define Acs_hi &H01E8                                        '
    Define Acs_max &H01F0                                       '
    Define Send_tlm &H013A                                      'SENDET TELEMETRIE (CH=HBYTE,DATEN=LBYTE)
    Define Send_sysstat &H0134                                  'SENDET TLM KANAL 0,SYSTEM STATUS
    '(FLAGS für ACS,FWD/REV, ACS_LO/HI/MAX)
    '---------- INIT---------------
    Lstrobe = Off : Cc2power = On
    Gosub Subsys_pwr_on : Rev_l = Off : Rev_r = Off
    Gosub Lcd_init : Gosub Message1
    Beep 368 , 10 , 0 : Pause 50
    
    '--------------------------------------------
    '-    DEMO IR CODES AM LCD ANZEIGWEN       --
    '--------------------------------------------
    '----------------  GET IR DATA ------------
    #Anfang
    Gosub Lcd_cls
     Lcd_param = 1 : Gosub Lcd_gotoline
     Lcd_param = &H48 : Gosub Lcd_writechar                     'H
     Lcd_param = &H41 : Gosub Lcd_writechar                     'A
     Lcd_param = &H4C : Gosub Lcd_writechar                     'L
     Lcd_param = &H4C : Gosub Lcd_writechar                     'L
     Lcd_param = &H4F : Gosub Lcd_writechar                     'O
    Goto Anfang
    
    
    '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
    #extport_write
    Sys System : Pulse Strobe : Return
    '--- LEDS AUF DER BASIS ERWEITERUNG  ------
    #l1on
    L1_f = On : Goto Ledport_write
    #l1off
    L1_f = Off : Goto Ledport_write
    #l2on
    L2_f = On : Goto Ledport_write
    #l2off
    L2_f = Off : Goto Ledport_write
    #l3on
    L3_f = On : Goto Ledport_write
    #l3off
    L3_f = Off : Goto Ledport_write
    #l4on
    L4_f = On : Goto Ledport_write
    #l4off
    L4_f = Off : Goto Ledport_write
    #l5on
    L5_f = On : Goto Ledport_write
    #l5off
    L5_f = Off : Goto Ledport_write
    #l6on
    L6_f = On : Goto Ledport_write
    #l6off
    L6_f = Off : Goto Ledport_write
    #l7on
    L7_f = On : Goto Ledport_write
    #l7off
    L7_f = Off : Goto Ledport_write
    #l8on
    L8_f = On : Goto Ledport_write
    #l8off
    L8_f = Off : Goto Ledport_write
    #loff
    Ledport = 0
    #ledport_write
    Sys Led_drive : Pulse Lstrobe : Return
    '---------------------------------------
    '------------- LCD ROUTINES -------------
    '----------------------------------------
    #lcd_init
    ' alle ports 0
      Lcd_port = Off
    
    ' 8-Bit-Modus aktivieren
      Lcd_param = &H38 : Gosub Lcd_writecmd
    
    ' mit 8-Bit-Command in 4-Bit-Modus umschalten
      Lcd_port = &B00000010
      Tog Lcd_e
      Tog Lcd_e
    
    ' ab jetzt 4-Bit-Modus
      Lcd_param = &H28 : Gosub Lcd_writecmd
      Lcd_param = &H0C : Gosub Lcd_writecmd
    
    ' Display loeschen
    #lcd_cls
      Lcd_param = &H02 : Gosub Lcd_writecmd
      Lcd_param = &H01 : Gosub Lcd_writecmd
    Return
    ' Zeilenwechsel
    #lcd_gotoline
      If Lcd_param = 1 Then Lcd_param = &H80
      If Lcd_param = 2 Then Lcd_param = &HC0
      Goto Lcd_writecmd
    
    ' LCD-Kommando
    #lcd_writecmd
      Lcd_buf = Off
      Goto Lcd_write
    
    ' Zeichenausgabe
    #lcd_writechar
      Lcd_buf = &B00100000
    
    ' Kommando oder Zeichen an Display senden
    #lcd_write
      Lcd_port = Lcd_buf Or(lcd_param Shr 4)                    ' Hi-Nibble
      Tog Lcd_e
      Tog Lcd_e
      Lcd_port = Lcd_buf Or(lcd_param And &H0F)                 ' Lo-Nibble
      Tog Lcd_e
      Tog Lcd_e
    Return
    'IIIIII SYSTEMROUTINEN COMM/NAV SYSTEM  IIIII
    #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
    '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 "p5driv12.s19"
    Keine Garantie!
    Ob das H stimmt weiß ich nicht.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    17.06.2007
    Ort
    Landau
    Alter
    24
    Beiträge
    54
    vielen dank!!!!!!
    Gibt es irgendwo eine Übersicht welcher Buchstabe für welchen code seht(&H4C=L) oder sowas

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Die gibt es irgendwo, ich habe die auch noch in einem Ordner bei mir. Ich werde die Tabelle morgen mal einscannen und dann posten. Die ist aber, meine ich, auch irgendwo auf der CD.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Schau 'mal hier:

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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