Hi Liebe FHEM-Community,
ich habe bei mir Zuhause einen Arduino Mega mit Configurable Firmata rumstehen und wollte über diesen mein LCD Display ansteuern.
Jetzt habe ich es so definiert:
define LCD_Display I2C_LCD 20 4 0x3F
attr LCD_Display icon it_television
attr LCD_Display pinMapping P0=RS,P1=RW,P2=E,P3=LED,P4=D4,P5=D5,P6=D6,P7=D7
attr LCD_Display stateFormat text
attr LCD_Display IODev FIRMATA
Jetzt kann ich die Hintergrundbeleuchtung ein und ausschalten 8), aber einen Text ;mit z.B. "set LCD_Display text HELLO WORLD", geht nicht.
Was mache ich falsch? :-[
Würde mich über jede Hilfe freuen. ;)
Mfg
Philipp ;D
Zitat von: EnderPhilipp am 17 Januar 2017, 17:44:47
Jetzt kann ich die Hintergrundbeleuchtung ein und ausschalten 8)
Dann sind Firmata und I2C schon einmal korrekt konfiguriert.
Zitat von: EnderPhilipp am 17 Januar 2017, 17:44:47
... aber einen Text ;mit z.B. "set LCD_Display text HELLO WORLD", geht nicht.
Ich nutze nur writeXY und kann derzeit nicht testen.
Evtl. ist beim pinMapping nicht alles richtig.
Bei mir sind zwar die beiden Nibbles vertauscht aber abgesehen davon sehe ich als Unterschied noch, das bei mir RS und RW vertauscht sind.
Wie ist denn dein Pinmapping, dann kann ich es ja einfach mal austesten ;D
Selbst nachdenken macht schlau 8)
Das nutzt dir sowieso nix, da LED, welches für die Hintergrundbeleuchtung zuständig ist, bei mir auf einem anderen Pin sitzt.
Das Datenblatt deines Displays (bzw. der I2C Portextenders) müsste dir helfen.
Also ich meine, das was am LCD hängt ist ein PCF8574...
Zitat von: EnderPhilipp am 17 Januar 2017, 20:29:49
Also ich meine, das was am LCD höngt ist ein PCF8574...
Genau, und zwischen LCD und PCF sind die Verbindungen.
Jetzt gilt es herauszufinden wie diese sind.
Habe so ein PCF8574-Board (http://shop.ulrichradig.de/out/pictures/master/product/1/hd_i2c.jpg), aber im Internet finde ich so viele verschiedene Schaltpläne und jeder ist anders. :-\
Wie kann ich denn erkennen welcher für meinen PCF8574 ist ????
Mfg
Philipp ;D
ZitatWie kann ich denn erkennen welcher für meinen PCF8574 ist ????
Indem man sich auf der Produkseite den Schaltplan ansieht?
http://shop.ulrichradig.de/out/pictures/master/product/2/i2c_schematic.jpg
Nach dieser Schaltung ist dein pinMapping allerdings korrekt ???
Am Kontrast hast du mal gedreht?
Nicht das der zu gering ist.
Habe den Kontrast hochgedreht jetzt sieht man auch was, etwas... (Anhang)
Der Symbolsalat verändert sich, je nachdem was ich bei text eingebe, es bleiben aber immer Symbole.
Was mache ich falsch ????
Mfg
Philipp ;D
hast du zwischendurch auch mal clear bzw. reset gemacht?
Versuche danach mal writeXY
bei mir hatte das Anfangs auch gesponnen, ich kann mich aber an keine Details mehr erinnern
Hättest du vielleicht ein Beispiel für writeXY, ich glaube ich mache das von der Syntax falsch.
Mit freundlichen Grüßen
Philipp ;D
Habe ein mal Clear und dann reset ausgeführt, jetzt wird alles bis auf Umlaute und Co richtig dargestellt. 8)
Bin auf das Modul DLCD (https://forum.fhem.de/index.php/topic,24519.0.html) gestoßen, ich verstehe bei dem Modul nicht, wo ich angebe, was mein LCD-Device ist bzw wie sag ich dem Modul wo es mein LCD findet ????
Mfg
Philipp ;D
Im Wiki (https://wiki.fhem.de/wiki/DLCD) wirst du fündig
dlcdTriggerCmd ist das Zauberwort
zu writeXY:
writeXY x-pos,y-pos,len[,l] <text to be displayed>
writeXY Spalte,Zeile,Zeilenlänge,WeissIchNicht(bei mir 1) Zeilentext
Danke, das geht. ;D
Kann ich denn irgendwie Sonderzeichen/Umlaute zum funktionieren bekommen? :o
(Wegen °C)
Echt erstaunlich was man mit 4€ anstellen kann...
Mfg
Philipp ;D
Hat es gereicht bei der kompilierung des Sketches die LCD Library einzubinden?
#include <LiquidCrystal_PCF8574.h>
Wie siehjt es vielleicht mit einem FHEM Beispiel aus, um Readings auf das LCD zu bekommen. Könnte das jemand von euch mal posten ?
defmod FIRMATA FRM 3030 global
defmod Display I2C_LCD 20 4 0x27
attr Display IODev FIRMATA
attr Display stateFormat text
Zitat von: EnderPhilipp am 17 Januar 2017, 17:44:47
Hi Liebe FHEM-Community,
ich habe bei mir Zuhause einen Arduino Mega mit Configurable Firmata rumstehen und wollte über diesen mein LCD Display ansteuern.
Jetzt habe ich es so definiert:
define LCD_Display I2C_LCD 20 4 0x3F
attr LCD_Display icon it_television
attr LCD_Display pinMapping P0=RS,P1=RW,P2=E,P3=LED,P4=D4,P5=D5,P6=D6,P7=D7
attr LCD_Display stateFormat text
attr LCD_Display IODev FIRMATA
Jetzt kann ich die Hintergrundbeleuchtung ein und ausschalten 8), aber einen Text ;mit z.B. "set LCD_Display text HELLO WORLD", geht nicht.
Was mache ich falsch? :-[
Würde mich über jede Hilfe freuen. ;)
Mfg
Philipp ;D
Wie hast Du den Firmata sketch zusammengebaut? Bzw. bauen lassen.
Standardmäßig kann man ja nur I2C inkludieren.
Hast du die LCD Library manuell eingebunden?
I2C reicht vollkommen. Das Display selbst wird direkt von FHEM über den I2C Bus angesteuert.
In der Konfiguration ist eigentlich alles drin. Evtl. muss die I2C Adresse und das Pinmapping angepasst werden.
Zitat von: klausw am 10 Oktober 2018, 11:41:04
I2C reicht vollkommen. Das Display selbst wird direkt von FHEM über den I2C Bus angesteuert.
In der Konfiguration ist eigentlich alles drin. Evtl. muss die I2C Adresse und das Pinmapping angepasst werden.
I2C Adresse kann ich anpassen .. ist halt 0x27
Aber wie kontrolliere bekomme ich das PIN Mapping deckungsgleich?
Zitat von: R1F800 am 10 Oktober 2018, 12:02:41
I2C Adresse kann ich anpassen .. ist halt 0x27
Aber wie kontrolliere bekomme ich das PIN Mapping deckungsgleich?
Da müsste ein MCP23008 drauf sein um I2C für das Display umzusetzen. Dort schauen welche Portpins auf welche Displayabschlüsse gehen.
Vielleicht hat der Hersteller auch einen Schaltplan auf seiner Seite.
also es ist ein 2004A Display mit einem PCF8574T Chip für den I2C
Zitat von: R1F800 am 11 Oktober 2018, 19:08:56
also es ist ein 2004A Display mit einem PCF8574T Chip für den I2C
Sorry, Genau den meinte ich. Schau mal, wo Port 0 bis 7 vom PCF an das Display angeschlossen sind. Das ergibt dann das Mapping
Zitat von: klausw am 11 Oktober 2018, 19:18:40
Sorry, Genau den meinte ich. Schau mal, wo Port 0 bis 7 vom PCF an das Display angeschlossen sind. Das ergibt dann das Mapping
Jo...
Perfekt ..
Läuft :-)
Jetzt muss ich nur noch die Daten auf das LCD beamen