Ich finde auf Teufel komm raus keine Informationen wie ich das I2C-Modul füttern muss um auf dem 1602 LCD etwas auszugeben, nicht mal die Adresse ist auffindbar. Werden die Pins denn 1:1 wie die übertragenen Bits geschalten oder macht das I2C-Modul mehr? (Es sind ja schließlich alle 8 Datenleitungen angelötet) Und um Himmels Willen keine Arduino Library posten... http://www.ebay.de/itm/301663532256?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
Sanches schrieb: > Und um Himmels Willen keine Arduino Library posten... Wieso nicht? Wenn sie funktionieren, sollten doch im Quelltext die gesamten zur Ansteuerung nötigen Informationen stehen?
Na was denn nu? Alle 8 Bits + Steuer-Bits, oder I2C? Oder wer setzt was um? Irgendwas billig bei Ibäh besorgen und den Support für lau im Forum abgreifen...
Sanches schrieb: > Ich finde auf Teufel komm raus keine Informationen wie ich das I2C-Modul > füttern muss um auf dem 1602 LCD etwas auszugeben, nicht mal die Adresse > ist auffindbar. > > Werden die Pins denn 1:1 wie die übertragenen Bits geschalten oder macht > das I2C-Modul mehr? (Es sind ja schließlich alle 8 Datenleitungen > angelötet) > > Und um Himmels Willen keine Arduino Library posten... > > http://www.ebay.de/itm/301663532256?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT Schau mal da: http://www.forum.g-heinrichs.de/viewtopic.php?f=12&t=73 Kurt Als Adresse hab ich: Const Pcf8574_lcd = 127 .
:
Bearbeitet durch User
Sanches schrieb: > oder macht das I2C-Modul mehr? Nö, nur das, was im Artikel Port-Expander PCF8574 steht. Oldie schrieb: > Irgendwas billig bei Ibäh besorgen und > den Support für lau im Forum abgreifen... Äääh. Ja. Wo ist das Problem? Ist es nicht der Sinn so eines solchen Forums?
@Sanchez Schau dir mal die Lib von Davide an: http://davidegironi.blogspot.de/2013/06/an-avr-atmega-library-for-hd44780-based.html Habe ich hier schon mal empfohlen. Resonanz war positiv. Ich selbst habe sie schon 4-5 mal ohne Probleme eingesetzt Gruß Jörg
Habe so ein Modul neulich mit einem Atmega angesteuert. Der Code ist "relativ" lesbar, aber im aktuellen Zustand möchte ich ihn nicht veröffentlichen. Wenn er dir nützt schicke ich ihn dir gerne per eMail. Schreib mir bei Interesse ne kurze Nachricht. Ansonsten ist das ganze auch sehr einfach selber umzusetzen. Die 8-Pins ansteuern wir dort beschrieben: https://www.mikrocontroller.net/articles/Port-Expander_PCF8574 Protokoll dann wie gehabt bei diesem Display...
Sanches schrieb: > Werden die Pins denn 1:1 wie die übertragenen Bits geschalten oder macht > das I2C-Modul mehr? (Es sind ja schließlich alle 8 Datenleitungen > angelötet) PCF8574 am Board, Adressen sind: Fur 8574 = 0-1-0-0 A2-A1-A0-R/W Fur 8574A = 0-1-1-1 A2-A1-A0-R/W Einfach 8 Werte hintereinander (0x01-0x02-0x04-0x08 ... 0x80) schicken, Pins ausmessen und fertig. LCD wird wie ublich angesteuert. Wo siehst du da ein Problem ?
:
Bearbeitet durch User
Schau mal unter https://www.mikrocontroller.net/articles/Modulares_Board da wird einiges erklärt. Wenn nicht einfach mal anfragen
hey die Teile sind Klasse, ich nehm die für Tasten Einfach nur die Bytes auf I2C rüberschicken Sanches schrieb: > Und um Himmels Willen keine Arduino Library posten... dann nimmst du die von PeterFleury http://homepage.hispeed.ch/peterfleury/avr-software.html
:
Bearbeitet durch User
Hallo, ich hatte dassselbe Problem und habe es selbst herausgefunden: Das Adapterboard macht nichts anderes als die 8BIT die über den I2C Bus geschickt werden direkt an die rausgeführten PINs für das Display zu leiten. Das Adapterboard bzw. der IC auf dem Adapterboard gibt die 8BIT allerdings erst aus, wenn nach dem 8ten Bit das SCL HIGH geht. D.h die gewünschten Pegel am Port liegen erst an, wenn das ACK vom Slave gelesen wird Das gesamte Board ist sozusagen nichts weiteres als ein Seriell-Parallel-Wandler. Vorsicht!: Die PINS D0 bis D3 sind nicht verdrahtet! D.H man muss im 4BIT-MODUS des Displays arbeiten, weil die empfangenen Bytes über den I2C Bus wie folgt interpretiert werden: BIT7 (MSB) = PIN D7 BIT6 = PIN D6 BIT5 = PIN D5 BIT4 = PIN D4 *BIT3 = TRANSISTOR ANSTEUERUNG fuer Hintergrundbeleuchtung BIT2 = PIN E BIT1 = PIN RW BIT0 (LSB) = PIN RS Wobei ~5V am PIN eine "1" darstellen und 0V "0". D.h unabhängig von den gesendeteten Bytes über I2C sind die PINS D0 bis D3 immer auf 0V, weil man sonst über den I2C Bus nicht die Steuerpins E,RW,RS ansteuern könnte. Deshalb muss man ein ganzes Datenbyte (für Kommandoregister oder Datenregister) immer über den I2C Bus über 2x senden übertragen (höhere 4Bit, dann niederwertige 4Bit) und das immer über BIT7 bis BIT4. Über *BIT3 steuert man einen Transistor an (J3Y): "1" bedeutet 0,7V (Hintergrundbeleuchtung AN) an der Basis und "0" bedeutet ~0V (Hintergrundbeleuchtung AUS) D.h am besten beim Byte schicken IMMER BIT3 auf "1" belassen: MSB:[D7][D6][D5][D4][1][E][RW][RS]:LSB Beim Adapterboard kann man also auf 2 Wege die Hintergrundbeleuchtung steuern: Mechanisch: Mit dem Jumper Elektrisch: Über BIT3 bzw. über "P3" des IO-Expander-IC (siehe Datenblatt) durch Ansteuerung eines Transistors (arbeitet als Schalter) Die Ansteuerung des Displays muss man trotz diesen I2C Adapter selbst übernehmen, denn damit sollen nur PINs gespart werden. Gruss
Die Adresse ist übrigens 0x3F (7BIT) (Das Controlbyte zum Schreiben ist daher 0x7E und das Contrlbyte zum Lesen ist 0x7F)
Sanches schrieb: > Werden die Pins denn 1:1 wie die übertragenen Bits geschalten oder macht > das I2C-Modul mehr? (Es sind ja schließlich alle 8 Datenleitungen > angelötet) Hallo; Soweit ich das weis, ja. Habe nur Erfahrung mit Display "normal" und I2C port Expander Damit kannst du das aber lösen. Ein I2C wird wie folgt verwendet: "I2C Sende: Adresse + Sende: Ausgang Wobei "Ausgang" eben das Bitmister am Ausgang ist. Mit 8 Bit portexpander Kannst du das Display aber nur im 4Bit Modus betreiben, da du ja noch Handshake und Control Signale brauchst. Anderes Beispiel: wenn du keine 16 Bit i2C Expander findest: Vielleicht ist eine SPI Variante einfacher, das Prinzip ist das Gleiche. Also: Wenn du das Display "herkömmlich mit 8 Leitungen im 4 Bit Modus ansteuern kanns, sollte dies bei der I2C Variante ebenfalls kein Problem sein. Empfehlung: Logikanalyser an den Ausgängen des Portexpanders, damit du weißt was du gesendet hast. Fallstrick: Das Timing der Ausgangssignale, welche am Dispaly anliegen: Lösung: Experimentiern (aber eben nicht raten). Gruß
Ich hatte einmal solches Modul benutzt um ein Display an einen kleinen Asuro zu haengen. http://www.pollin.de/shop/dt/NDU4OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_LCD_I_C_Modul.html Das hab sogar ich hinbekommen. Denn eigentlich kann man die Worte "Asko" und "programmieren" in keinen vernuenftigen Zusammenhang bringen. ;-) Gruss Asko.
Es ist eigentlich viel einfacher, das Display ohne diesen I2C Adapter zu betreiben, weil der Adapter keine Vereinfachung der Kommunikation schafft, sondern das Gegenteil bewirkt: Die Weg zum Display wird länger und zwar über einen Bus. Beispiel: Über "E" wird das Taktsignal gesteuert. Ohne I2C ist das nur Bitbanging über einen PIN. Bei I2C muss man dafür 2 ganze Bytes über den Bus schicken! Der einzige Vorteil ist allein, dass man bei einem existierenden Bus keine weitere Leitung am µC braucht und der Poti schon angelötet ist. Außerdem ist das wirklich vom Nachteil, dass der I2C Adapter auch nur den 4Bit Mode unterstützt, das hätte man viel besser lösen können. Mit dem 8Bit Mode ist die Ansteuerung des Displays ein Kinderspiel und nicht so umständlich wie beim 4Bit Mode.
meinname schrieb: > Mit > dem 8Bit Mode ist die Ansteuerung des Displays ein Kinderspiel und nicht > so umständlich wie beim 4Bit Mode. Wenn man denn I2C Verwenden will bund keinen 16 Bit Port Expander fände brächte man 2Expander Chips: 1 x 8bit Daten 1 für Handshake Signale. Ohne Bus am einfachsten. Mit Bus würde ich SPI empfehlen, hier gibt es 16 Bit Portexpander. Gruß
meinname schrieb: > Der einzige Vorteil ist allein, dass man bei einem existierenden Bus > keine weitere Leitung am µC braucht und der Poti schon angelötet ist. ich sehe den größten Vorteil in Einsparung von Ports und Einsparung von Leitungen, auf dem Steckbrett ist es blitzschnell verdrahtet I2C RTC I2C LCD I2C Tastatur (ich benutze ja das I2C LCD Modul für bis zu 8 Tasten, als Matrix gingen auch mehr)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.