- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: Problem mit LCD-DIsplay

  1. #11
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Anzeige

    E-Bike
    Ich arbeite immer mit der Lib von P.Fleury, in der kann man den KS0073 einstellen. Es gibt da in der Init einen unterschied.
    Angehängte Dateien Angehängte Dateien
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  2. #12
    Neuer Benutzer Öfters hier Avatar von cantforget
    Registriert seit
    24.03.2011
    Ort
    Dortmund
    Beiträge
    8
    Hallo,
    also Radbruch ist nett von dir wenn du das für mich machst. Also der code sollte im Projekt schon in C geschrieben werden, also ich meinte das im Obersten Post beschriebene LCD und die Lib's aus Post nummer 7. Bei der Taktfrequenz sehe ich auch gerade da habe ich wohl was vertauscht, weil ich 2 Boards hier liegen habe. Die richtige ist 7372800 Hz.
    Das Problem war halt, das ich das 20*4 LCD nicht mit dem RN-MEGA8-plus Board betreiben kann. Die Ports habe ich die von der Display-Buchse genommen.
    Und Hubert.G hast du auch schon mit meinem LCD gearbeitet? Denn ich hatte es zuerst mit der Fleury lib probiert, allerdings kam ich damit auch nicht zu einer funktionierenden Lösung. >Ich sehe gerade, dass es ein paar änderungen in der lib gab, werde mir das später aber nocheinmal genauer ansehen.

    Gruß
    Dennis
    Geändert von cantforget (15.07.2011 um 13:56 Uhr)

  3. #13
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Mit deinem speziellen LCD habe ich noch nicht gearbeitet. Allerdings mit LCDs mit einem KS0073, diese haben nur mit der Einstellung für diesen Kontrollertyp funktioniert.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  4. #14
    Neuer Benutzer Öfters hier Avatar von cantforget
    Registriert seit
    24.03.2011
    Ort
    Dortmund
    Beiträge
    8
    Hallo,
    @Hubert.G:
    So habe die lib nun mal umgeschrieben bin mir aber mit der Adressierung unsicher könntest du mal schauen ob die richtig ist?
    Code:
    #define LCD_LINES           4     /**< number of visible lines of the display */
    #define LCD_DISP_LENGTH    20     /**< visibles characters per line of the display */
    #define LCD_LINE_LENGTH  0x20     /**< internal line length of the display    */
    #define LCD_START_LINE1  0x00     /**< DDRAM address of first char of line 1 */
    #define LCD_START_LINE2  0x40     /**< DDRAM address of first char of line 2 */
    #define LCD_START_LINE3  0x10     /**< DDRAM address of first char of line 3 */
    #define LCD_START_LINE4  0x60     /**< DDRAM address of first char of line 4 */
    #define LCD_WRAP_LINES      0     /**< 0: no wrap, 1: wrap at end of visibile line */
    Das ist dieses LCD:
    http://www.robotikhardware.de/downlo...datenblatt.pdf
    Ich hoffe mal ich bekomme das irgendwie nochmal hin. Finde das schon nicht so einfach ein LCD einzubinden.

    Gruß
    Dennis

  5. #15
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Die Startadressen der Zeilen sind für den Anfang nicht so wichtig, da hast du vielleicht verschobenen Text.
    Viel wichtiger ist ob die Initialisierung funktioniert.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  6. #16
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Ich habe nun die Datenblätter des RNMega8Plus und des RN-LCD-Adapters angeschaut und die Pinbelegungen der Steckverbindungen überprüft:
    Code:
    // Pinout LCD Display-Anschluß nach Roboternetznorm RN-LCD-Adapter
    // Pin 1   LCD DB7
    // Pin 2   LCD DB6
    // Pin 3   LCD DB5
    // Pin 4   LCD DB4
    // Pin 5   Licht ein/aus per Port (da EN2 hier nicht benötigt wird)
    // Pin 6   LCD EN
    // Pin 7   LCD R/W
    // Pin 8   LCD RS
    // Pin 9   GND             LCD GND und Licht Kathode
    // Pin 10  +5V             LCD VCC und Licht Anode//  LCD DB4-DB7 <-->  PORTD Bit PD0-PD3
    
    // Pinout LCD Display-Anschluß nach Roboternetznorm RNMEGA8PLUS
    // Pin 1 DB7   PD5
    // Pin 2 DB6   PD4
    // Pin 3 DB5   PD3
    // Pin 4 DB4   PD2
    // Pin 5 EN2   PD7  (wird nur bei manchen LCDs benötigt)
    // Pin 6 EN    PC3
    // Pin 7 R/W   PD6
    // Pin 8 RS    PC2
    // Pin 9 GND
    // Pin 10 +5V
    
    #define LCD_PORT      PORTD
    #define LCD_DDR       DDRD
    #define LCD_DB        PD4
    
    //  LCD RS      <-->  PORTD Bit PD4     (RS: 0=Data, 1=Command)
    #define LCD_RS        PD2
    
    //  LCD EN      <-->  PORTD Bit PD5     (EN: 1-Impuls für Daten)
    #define LCD_EN        PD3
    Oben: Belegung des RN-LCD-Adapters. Laut Schaltplan stimmt auch die Verbindung zu den 2x9 Pins des aufsteckbaren LCD.
    Mitte: Belegung des LCD-Ports auf dem RNMega8Plus. Stimmt mit der Abschluß am Adapter überein bis auf E2
    Unten: Die Defines in lcd-routines.h passen nicht zu der Belegung vom RNMega8Plus!!!

    Außerdem wird der R/W-Pin nicht definiert. Da beim Schreiben das Busy nicht geprüft wird und auch keine lesenden Funktionen vorhanden sind gehe ich davon aus, dass die Lib davon ausgeht, dass R/W low ist (Brücke zu GND. Ohne Brücke ist auch die jumperbare Verbindung der freien D0 bis D3 zu GND kritisch!).

    Gruß

    mic

    http://www.robotikhardware.de/download/rnmega8plus.pdf
    http://www.robotikhardware.de/downlo...CD_adapter.pdf

    [Edit]
    Code:
    // Pinout LCD Display-Anschluß nach Roboternetznorm RNMEGA8PLUS
    // Pin 1 DB7   PD5
    // Pin 2 DB6   PD4
    // Pin 3 DB5   PD3
    // Pin 4 DB4   PD2
    // Pin 5 EN2   PD7  (wird nur bei manchen LCDs benötigt)
    // Pin 6 EN    PC3
    // Pin 7 R/W   PD6
    // Pin 8 RS    PC2
    // Pin 9 GND
    // Pin 10 +5V
    
    // Defines der Ports des RNMega8Plus für die LCD-Lib von Peter Fleury
    // R/W geht auf PD6!
    
    #define LCD_PORT         PORTD        /**< port for the LCD lines   */
    #define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 0 */
    #define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 1 */
    #define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 2 */
    #define LCD_DATA3_PORT   LCD_PORT     /**< port for 4bit data bit 3 */
    #define LCD_DATA0_PIN    2            /**< pin for 4bit data bit 0  */
    #define LCD_DATA1_PIN    3            /**< pin for 4bit data bit 1  */
    #define LCD_DATA2_PIN    4            /**< pin for 4bit data bit 2  */
    #define LCD_DATA3_PIN    5            /**< pin for 4bit data bit 3  */
    
    #define LCD_RS_PORT      PORTC	     /**< port for RS line         */
    #define LCD_RS_PIN       2            /**< pin  for RS line         */
    #define LCD_RW_PORT      PORTD	     /**< port for RW line         */
    #define LCD_RW_PIN       6            /**< pin  for RW line         */
    #define LCD_E_PORT       PORTC	     /**< port for Enable line     */
    #define LCD_E_PIN        3            /**< pin  for Enable line     */
    Geändert von radbruch (16.07.2011 um 14:10 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #17
    Neuer Benutzer Öfters hier Avatar von cantforget
    Registriert seit
    24.03.2011
    Ort
    Dortmund
    Beiträge
    8
    Hallo,
    entschuldigt bitte, dass ich so lange nicht geantwortet habe. Es kam leider wie immer wenn man basteln will etwas dazwischen. Danke für die Mühe des Vergleichs radbruch, verstehe ich das richtig, dass ich in der .h die Data_Pins 0 bis 3 in 4 bis 7 ändern muss und dem entsprechend auch die Pins in der .c Datei? Wenn ja wäre das ein ziemlicher Aufwand.

    Gruß
    Dennis

  8. #18
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Du brauchst nur die Defines in der Headerdatei (.h) ändern bzw. anpassen. Später werden die Pins nur über die Defines angesprochen und die Anpassung wird so automatisch überall im Programm wirksam.

    Die (ungetestete) Anpassung an die Lib von Peter Fleury habe ich oben ja schon gepostet. Diese Lib würde ich bevorzugen, weil sie die bei deiner Beschaltung vorhandene R/W-Leitung verwendet und deshalb das Busy-Signal des LCD auswerten kann.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Problem mit LCD-Display
    Von Sebasti im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 42
    Letzter Beitrag: 03.04.2011, 12:45
  2. Problem mit LCD-Display
    Von Sebasti im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 09.03.2011, 19:39
  3. LCD-Display Problem
    Von Soeni im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 8
    Letzter Beitrag: 02.11.2009, 14:46
  4. Problem mit LCD Display
    Von Tredory im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 25.02.2009, 18:23
  5. Display Problem
    Von Gast im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 9
    Letzter Beitrag: 09.04.2004, 22:03

Berechtigungen

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

Labornetzteil AliExpress