-
        

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Problem: Ansteuerung eines LCD über I2C

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    29.10.2007
    Alter
    27
    Beiträge
    25

    Problem: Ansteuerung eines LCD über I2C

    Anzeige

    Hallo,

    für ein Schulprojekt haben wir den Auftrag, den Asuro mit einem Display auszustatten. Ich bin dann auf folgende Seite gestoßen:
    http://www.asurowiki.de/pmwiki/pmwik...eiterung<br />

    Als Display steht uns ein TC1602A mit 2x16 Zeichen (5x8 dots) und Hintergrundbeleuchtung zur Verfügung.
    Dann habe ich testweise, anhand des Beispiels, die Schaltung mit einen PCF8574 und dem Rest auf einem Steckbrett aufgebaut.
    Nachdem es mit dem Asuro verbunden war, erfolgte die Programmierung (ebenfalls aus dem Beispiel, jedoch angepasste Werte). Und nach ändern des Kontrasts konnte das Display dann den Text ausgeben. \/

    Da es mir dann langweilig wurde nur vorgegebenen Text auszugeben, schloss ich parallel an den I²C-Bus einen PCF8591. An diesen kamen dann Fototransistoren und ein Temperatursensor. Die Daten konnten problemlos ausgelesen werden und auf dem LCD angezeigt werden.

    Doch dann - ich hatte eigentlich gar nichts geändert - erschien nach erneutem Einschalten des Roboters kein Text mehr!
    Daraufhin habe ich nach Kontaktfehlern gesucht, dachte es wäre bloß ne Kleinigkeit. Doch es tat sich nichts.

    Nach diesem Testaufbau, welcher nicht weiter nach dem Fehler überprüft wurde, folgte das Löten auf einer Lochplatine. Kurz und gut war das Display dann mit der Schaltung fixiert.
    Doch nun ergab sich das gleiche Problem wie vorher: Es lässt sich kein Text mehr anzeigen!
    Der PCF kann angesprochen werden, zumindest die Hintergrundbeleuchtung lässt sich darüber steuern.

    Ich kann es mir einfach nicht erklären. Ich weiß nicht, wo ich nach dem Fehler suchen soll! Ob möglicherweise sogar das Display zerstört wurde!? Vielleicht ist auch einfach ein Problem in der Software, obwohl ich das fast ausschließen kann, da es ja mal funktioniert hat.

    Wie kann ich jetzt nachprüfen, wo der Fehler liegt? Was haltet ihr für möglich, gab es schon ähnliche Vorfälle?

    Gruß,
    Olli

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    04.02.2010
    Ort
    Jülich
    Alter
    23
    Beiträge
    92
    Hallo,

    überprüf nocheinmal alle Lötpunkte es kann ja sein das sich ein Fehler eingeschlichen hat. Ansonsten zeig uns doch einfach mal den Schaltplan, dann können wir die besser helfen.

    Mfg Michael

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    29.10.2007
    Alter
    27
    Beiträge
    25
    Wie gesagt habe ich den Schaltplan grundsätzlich vom AsuroWiki übernommen. Hier trotzdem nochmal mein Plan:

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Versuche einmal am Poti zu drehen. Sonnst könntest du das Display direkt anschließen und eventuell ein fertiges BSP nehmen.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    29.10.2007
    Alter
    27
    Beiträge
    25
    Versuche einmal am Poti zu drehen.
    Das habe ich bereits.

    Sonnst könntest du das Display direkt anschließen und eventuell ein fertiges BSP nehmen.
    Was meinst du damit? Was ist ein fertiges BSP?

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    04.02.2010
    Ort
    Jülich
    Alter
    23
    Beiträge
    92
    Nach dem Schaltplan sieht alles richtig aus. Versuch einmal das Programm neu auf deinen Asuro zu spielen. Es könnte sein das es dann wieder funktioniert.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    29.10.2007
    Alter
    27
    Beiträge
    25
    Das Programm hab ich schon mehrfach übertragen (mit kleinen Änderungen) und ein Neustart hat auch nichts gebracht.

    Mit folgendem C-Code wurde er zuletzt programmiert:

    Code:
    #include "asuro.h"
    #include "i2c.h"
    #include "lcd.h"
    
    #define DELAY 1500
    
    int main(void)
    {
        Init();
        InitI2C();
        InitLCD();
    
        BacklightLCD( ON);
        PrintAlignLCD( CENTER, 0, "Hallo!");
        Msleep(DELAY);
        PrintAlignLCD( LEFT, 1, "Ich bin Asuro!");
        Msleep(DELAY);
    
        while(1)
          ;
    
       return 0;
    }
    Doch bis auf die Hintergrundbeleuchtung und leicht abgedunkelten Kästchen in der ersten Zeile tut sich nichts.

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    04.02.2010
    Ort
    Jülich
    Alter
    23
    Beiträge
    92
    Das Programm scheint richtig zu sein. Überprüf einmal SCA und SDA ob sie richtig verbunden sind.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    29.10.2007
    Alter
    27
    Beiträge
    25
    [quote]Überprüf einmal SCA und SDA ob sie richtig verbunden sind.[quote]
    Wenn da was falsch wäre, würde sich wohl kaum die Beleuchtung über den PCF8574 ansteuern lassen. Also die Verbindung scheint zu klappen.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    04.02.2010
    Ort
    Jülich
    Alter
    23
    Beiträge
    92
    Okay dann muss der fehler in der Programierung liegen, aber du hast ja gesagt das es vorher funktioniert hat. Da ich einen anderes Display benutze, kenne ich mich nicht so gut mit dem TC1602A Display aus :/.

    Hast du alles mit Vcc und Gnd verbunden?

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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