-
        

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

Thema: I2C LCD an C-Control I Unit-M

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    26.08.2008
    Beiträge
    18

    I2C LCD an C-Control I Unit-M

    Anzeige

    Hallo zusammen,
    ich habe mir für den C-Control I Unit M2.0 eine LCD Anzeige gekauft.
    Nach langen Versuchen und der Hilfe aus dem Internet habe ich die Anzeige dann zum laufen gebracht. Jetzt habe ich mir, weil die Anzeige zu viele I/O Ports belegt eine I2C Version bei Conrad geholt. Die Dokumentation hat mir allerdings nicht viel geholfen. Nicht nur aus lauter Verzweiflung sondern auch wegen der Fließkomma- Möglichkeit habe ich mir die C-Control Unit-M Advanced zugelegt. Da war dann WorkBench++
    dabei. Jetzt habe ich eine Menge Teile und Software vor mir die ich wie es aussieht ohne Hilfe nicht zum laufen bekomme.
    Deshalb meine Frage:
    Hat jemand evtl. ein kleines Programm damit ich auf der I2C LCD wenigstens ein Zeichen zu sehen bekomme. Da sind zwar Beispielprogramme in WorkBench++ die aber auch nichts machen.
    Keine Ahnung ob ich hier noch define Angaben machen muss oder ob ich sonst irgend etwas ergänzen werden muss. Ich habe die Anzeige nach dem Laden über das Downlodflachbandkabel mit der Advanced Unit verbunden und dann erwartet das nach dem Programmstart etwas auf der Anzeige zu sehen ist. Leider ohne Erfolg.

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2006
    Ort
    Dresden
    Alter
    62
    Beiträge
    370
    Hi,
    klingt nach einen I²C-Bus problem.
    ich bin zwar vor einiger zeit auf c-control pro umgestiegen, hab aber mal in der workbench nachgeschaut, da bei mir eigentlich keine probleme mit dem lcd am I²C bus aufgetreten sind. Das beispiel schreibt daten auf port 10 (pcf-Adresse 7), wenn du eine andere Adresse auf dem Lcd-modul eingestellt hast, gehen die daten ins leere. Ausserdem gibt es zwei PCF8574-typen, einmal ohne Suffix A (grundadressen 64 bis 7 einmal mit A (grundadressen 112 bis 126); das entspricht den (externen) Byteports 3 bis 10 bzw. 11 bis 18.
    Also, entweder programm anpassen oder jumper am lcd umstecken .
    gruss Lutz
    Wir haben so viel mit so wenig solange versucht, das wir jetzt qualifiziert sind, fast alles mit fast nichts zu bewerkstelligen.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    26.08.2008
    Beiträge
    18
    Danke werde ich gleich einmal versuchen. Aber in der Zwischenzeit die Frage, hast Du nur das Beispielprogramm compiled und geladen oder hast Du noch irgend welche zusätzlichen Änderungen oder Einfügungen vornehmen müssen.
    Ich habe bis jetzt nur mit CC Basic gearbeitet und das hat für meine bescheidenen Steueraufgaben gereicht. Hier bin ich mangels Erfahrung etwas am schwimmen. A, weil ich keine richtige Erfahrung mit den LCD's habe, B weil ich mit dem I2C Bus keine Erfahrung habe und noch viel schlimmer, von Basic ++ habe ich bis vor 2 Wochen nicht einmal den Namen gekannt.

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2006
    Ort
    Dresden
    Alter
    62
    Beiträge
    370
    Das LCD-I²C-Modul vom big C hab' ich nicht, (zu teuer) -Eigenbau tuts auch- allerdings ist die Belegung des PCF bei mir etwas anders ( wie bei CCTools, >> http://cctools.hs-control.de/home.php <<, so das meine routinen nicht passen.
    Kannst du nicht erst mal ein paar leds an den pcf 8574 hängen, um die ansteuerung zu testen- Led-Katoden an En, r/s, r/w, Anoden über Vorwiderstände ( ca. 330R ) an Us. Eigentlich tut das dem Lcd nichts, -zur Vorsicht kannst ja die 3 Kabel zum Lcd ablöten- dann ein einfaches programm schreiben, z.b bitport xx(-deine adresse-) aus, 1s warten, wieder ein, den nächsten aus, warten, wieder ein usw.
    Wenn die leds blinken, stimmen hard- und softwareadresse des pcf überein, dann sollte das lcd auf der adresse ansprechbar sein.
    Zum Thema Basic- ich schlage mich auch mit 3 Dialekten rum, das geht nur mit der Hilfe-anzeige in einem extra-fenster
    Lutz
    Wir haben so viel mit so wenig solange versucht, das wir jetzt qualifiziert sind, fast alles mit fast nichts zu bewerkstelligen.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    26.08.2008
    Beiträge
    18
    Echt gute Idee, Danke.
    Mit dem Modul vom C ist das nicht ganz so einfach, ist direkt mit der Bestückseite fest hinter dem LCD verlötet. Die Beleuchtung des LCD's bleibt auch dunkel. Kann aber auch am Programm liegen. Aber nichts ist unmöglich.
    Das wird dann bis zum Wochenende warten müssen da ich unter der Woche nicht zu hause bin und mit Bauteilen hier so meine Probleme habe.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2006
    Ort
    Dresden
    Alter
    62
    Beiträge
    370
    Dei Beleuchtung wird auch über den pcf ein/ausgeschaltet. Achtung: aus ist hier ein- der pcf hat open-drain-ausgänge, muss also ausgeschaltet werden, um die beleuchtung einzuschalten.
    Lutz

    [Edit]
    Einfache Testmöglichkeit: den Licht-Port ein/ausschalten- wenn das geht, siehe letzen post...
    Wir haben so viel mit so wenig solange versucht, das wir jetzt qualifiziert sind, fast alles mit fast nichts zu bewerkstelligen.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.09.2004
    Ort
    Schwabenland
    Beiträge
    156
    Hallo,
    welches Beispiel benutzt Du?
    Es gibt so viel ich weiß nur ein Beispiel für das IIC LCD Display.

    Zu finden ist das unter
    eigene dateien\workbench++\examples\C-Control-Support\Beispiele Zubehör\IIC LCD DISPLAY 198303\IIC_LCD_DISPLAY_1.bpp

    Da wird im Programm dann die Datei "IIC_LCD_DRIVE.blib" eingebunden, wo unter anderem die Adressierung festgelegt ist.

    Und zwar hier.

    FUNCTION LCD_WRITE(BUF as byte,LCDDATA as byte)
    define EXTPORT byteport[10]

    Dehalb muss das Display dann auf Adresse 7 gejumpt werden. Adresse 7 heißt, dass alle Jumper von der Adressierungsleiste auf dem LCD Modul entfernt sein müssen.

    Dann sollten für die I2C-Busleitungen noch die 2 Pullups aktiviert sein. Einfach jeweils 1 Jumper auf die Stiftleiste stecken wo 10K dran steht...

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    26.08.2008
    Beiträge
    18
    Hallo zusammen,
    es funktioniert! Keine Ahnung warum es vorher nicht ging. Jumper, Adresse, Jumper usw. war alles richtig aber trotzdem war keine Funktion feststellbar. Ich sage mal ein richtiger Fehler sollte wiederkommen wenn er was taugt. Aber jetzt weiß ich das es funktioniert. Danke an euch beide für die Hilfe.
    Da hätte ich aber noch eine Frage. Ist es möglich das Dreieck für z.B
    "delta t" zu erzeugen oder geht das gar nicht weil es nicht im normalen ASCII Code hinterlegt ist.

    Wolfgang

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    26.08.2008
    Beiträge
    18
    Hi Leute,
    Ich habe den Fehler gefunden.
    Nach dem Download habe ich ohne die Spannung wegzunehmen zuerst das Kabel von dem Schnittstellenprogrammiermodul auf das IIC-LCD Modul gesteckt und dann den den Start-Jumper gesetzt. Dabei hat sich die M Unit evtl. immer noch irgend etwas reingezogen. Wenn der Jumper gesteckt wird solange die Unit noch mit dem Programmer verbunden ist gibt es kein Problem. Genauso, ohne Probleme geht es wenn man die Spannung von der Unit nimmt, dann das LCD Modul ansteckt und zuvor oder jetzt den Jumper setzt und dann Spannung wieder anlegt.

    Gruß
    Wolfgang

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2006
    Ort
    Dresden
    Alter
    62
    Beiträge
    370
    Hi,
    hat etwas länger gedauert... Du kannst bis zu 8 eigene Zeichen definieren und im LCD-Kontroller ablegen. Wie das geht, am besten im Datenblatt nachlesen. Es gibt auch eine .blib, show_bar.blib, da werden eigene Zeichen (für Bargraph-Anzeige) definiert.
    Lutz
    Wir haben so viel mit so wenig solange versucht, das wir jetzt qualifiziert sind, fast alles mit fast nichts zu bewerkstelligen.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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