Display Optrex DMC40401 und PHICO D-0 94V-0 Prob. mit Library LiquidCrystal440

Morgen Leute,

Kleines Problem.

Ich habe ein paar alte 40x4er Displays hier bei mir herum liegen die ich testen wollte ob die noch gehen. teilweise sind da wohl einige hinüber, aber das eine oder andere ist wohl noch zu gebrauchen.

Nachdem ich gestern nun versuchte heraus zu finden wie die Dinger angeschlossen werden habe ich nun im Internet etwas gefunden.

Leider habe ich das Problem das ich das Sketch nicht kompilieren kann.

Ich habe die Library LiquidCrystal440 eingebaut, aber beim Kompilieren bekomme ich folgenden Fehler.

/usr/share/arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega8 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -D__PROG_TYPES_COMPAT__ -I/usr/share/arduino/hardware/arduino/cores/arduino -I/usr/share/arduino/hardware/arduino/variants/standard /tmp/build82840970742470004.tmp/lcd_40x4_zeilen.cpp -o /tmp/build82840970742470004.tmp/lcd_40x4_zeilen.cpp.o 
lcd_40x4_zeilen.ino:1:30: fatal error: LiquidCrystal440.h: Datei oder Verzeichnis nicht gefunden
compilation terminated.

Das Sketch ist:

#include <LiquidCrystal440.h>

LiquidCrystal lcd(13,12,11,10,5,4,3,2); //RS, RW, E2, E1, D4, D5, D6, D7

void setup() {
  lcd.begin(40,4);
  lcd.setCursor(0,0);
  lcd.print("Zeile 1");
  lcd.setCursor(0,1);
  lcd.print("Zeile 2");
  lcd.setCursor(0,2);
  lcd.print("Zeile 3");
  lcd.setCursor(0,3);
  lcd.print("Zeile 4");

}

void loop() {
}

Die Library wird angezeigt
wenn ich "Sketch > Library Importieren" aufrufe.

Kann mir jemand sagen wo das Problem liegt das die nicht gefunden wird .

Ich benutze die 2:1.0.5+dfsg2-4 IDE-Version unter Linux und habe unter sketchbook/libraries/ die .zip Dateien der Bibliotheken abgelegt und von dort mit der IDE Installiert.

Irgendwer ne Idee ?

Gruß
Thomas

Der Bildschirm zeigt, daß Du die Dateien LiquidCrystal440.h und LiquidCrystal440.cpp in den Sketchordner kopiert hast. Eigentlich sollten die aber im Verzeichnis /libraries/LiquidCrystal440 liegen.

Hmm, okay war wohl noch vom testen gestern übrig.

Trotzdem bleibt der Fehler :frowning:

/usr/share/arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega8 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -D__PROG_TYPES_COMPAT__ -I/usr/share/arduino/hardware/arduino/cores/arduino -I/usr/share/arduino/hardware/arduino/variants/standard /tmp/build719814653685755513.tmp/lcd_40x4_zeilen.cpp -o /tmp/build719814653685755513.tmp/lcd_40x4_zeilen.cpp.o 
lcd_40x4_zeilen.ino:1:30: fatal error: LiquidCrystal440.h: Datei oder Verzeichnis nicht gefunden
compilation terminated.

Gruß
Thomas

und habe unter sketchbook/libraries/ die .zip Dateien der Bibliotheken abgelegt und von dort mit der IDE Installiert.

meines Wissens kommt die IDE 1.0.5 noch nicht mit zip-Dateien klar.
Entpacke die zip-Dateien und kopiere den Ordner LiquidCrystal440.h in den Ordner libraries.

ardubu:
... den Ordner LiquidCrystal440.h

Ohne .h, so wie in #1 geschrieben :slight_smile:

Hi

Um zu Schauen, ob ein LCD möglicherweise noch gut ist, kann ich Dir folgende Seite ans Herz legen:
Sprut - LCD
Dort sind viele verschiedene Arten von LCD aufgeführt, wie man Diese identifiziert nd wie man sieht, ob das Ding überhaupt 'zuckt'.

Solange Du nicht sicher weißt, ob das LCD die verwendete Sprache spricht, ist das Um Sich Werfen von Steuerbefehlen aus den verschiedensten Libs ein reiner Lotto-Spiel.
Man kann Glück haben, wesentlich öfter hat man Das aber nicht - und Frust und Elektronik passen echt nicht zu einander.

MfG und viel Erfolg

Interessanter Link. Danke.

Gruß Tommy

Hi

Du kanntest Sprut noch nicht ?? :o
Dann entschuldige ich mich schon für die nächsten Lesestunden, Die Du jetzt wohl haben wirst :confused:
(Er macht in PICs, allerdings in Assembler, sind einige tolle Ideen bei, wie man mit Werten rechnen muß, damit man, trotz der geballten Rechenpower des 8-bitter, zeitnah zu einem Ergebnis kommt - in meinen Augen eine sehr gute Seite und im Bezug auf LCD genau 'Die Seite')

MfG

Morgen Leute,

Also das die 1.0.5 keine Zips kann scheint wohl der Fall zu sein.
habe nun das .zip von Hand entpackt und unter libraries/ einsortiert.

Nun habe ich aber einen neuen Fehler :frowning:

/usr/share/arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega8 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -D__PROG_TYPES_COMPAT__ -I/usr/share/arduino/hardware/arduino/cores/arduino -I/usr/share/arduino/hardware/arduino/variants/standard -I/home/thomas/sketchbook/libraries/LiquidCrystal440 /tmp/build2884713711386471559.tmp/lcd_40x4_zeilen.cpp -o /tmp/build2884713711386471559.tmp/lcd_40x4_zeilen.cpp.o 
In file included from lcd_40x4_zeilen.ino:1:0:
/home/thomas/sketchbook/libraries/LiquidCrystal440/LiquidCrystal440.h:95:16: error: conflicting return type specified for ‘virtual void LiquidCrystal::write(uint8_t)’
   virtual void write(uint8_t);
                ^
In file included from /home/thomas/sketchbook/libraries/LiquidCrystal440/LiquidCrystal440.h:5:0,
                 from lcd_40x4_zeilen.ino:1:
/usr/share/arduino/hardware/arduino/cores/arduino/Print.h:48:20: error:   overriding ‘virtual size_t Print::write(uint8_t)’
     virtual size_t write(uint8_t) = 0;
                    ^

Liegt das an der LiquidCrystal440, oder an meiner Arduino-IDE Version ?
Unter Win10 bekomme ich einen anderen Fehler, den weis ich aber nun nicht gerade aus dem Kopf.

Gruß
Thomas

Welche Quelle hast Du für die Programmbibliothek verwendet?

Jetzt funktioniert es.
Zumindest das Kompilieren.
Ob der Rest geht weis ich noch nicht :slight_smile:

Mit welchen ich es versucht hatte kann ich gar nicht mehr so genau sagen. Ich habe mehrere gefunden und ausprobiert.
Eine davon war Google Code Archive - Long-term storage for Google Code Project Hosting.
Aber die ist ziemlich alt.

Eine andere von Github die LiquidCrystal440-master.zip.
Wenn ich die master mit der 1.0.5er Version unter Linux benutze die keine Header-Datei mit dem Namen
LiquidCrystal440 hat sondern die nur LiquidCrystal heist, dann scheint die sich mit der original LiquidCrystal zu beißen.

Ich habe nun die Original entfernt und durch die "master" ersetzt.
Das scheint nun zu funktionieren. Schätze zumindest bis zum ersten update :slight_smile:

Danke für den Hinweis :slight_smile:

Gruß
Thomas

linuxer:
Jetzt funktioniert es.

Gut :slight_smile:

linuxer:
Ich habe mehrere gefunden und ausprobiert.

Ich auch, darum meine Frage. Tipp Nr. 1: Ich lege eine Datei Quelle.txt mit dem Link an.

Die liquidcrystal440 würde ich bevorzugen, da ich viel von jurs in diesem Forum gelernt habe, am meisten von seinen Beispielsketchen. Leider ist er nun "in Rente".

Warum nutzt Du eine alte IDE und diese Bibliothek? Ich verwende inzwischen hd44780, wäre mein Tipp Nr. 2.

Arduino ist für mich Neuland.
Ich habe bis jetzt mit Bascom und Luna gearbeitet.
Meinem Sohn habe ich einen Arduino geschenkt weil das Interesse an Elektronik und Basteleien besteht.
Also bin ich gerade dabei auch mich schlau zu machen und ein paar der alten Teile die ich noch so rum liegen hatte zu testen.
Schrittmotoren, Servos etc. und auch ein paar alte Displays aus den 90ern.

Das Phico 40x4 habe ich zum laufen bekommen, aber die 4 Optrex die ich noch hier habe da rührt sich nichts. Die haben einen M50530 Chip.
Habe die Spannung und den Kontrast angelegt, aber es wird nichts angezeigt.
Die Pinbelegung ist auch eine andere als die Übliche.
Keine Ahnung. Vielleicht brauchen sie eine negative Kontrastspannung, oder sie sind wirklich hinüber.
Die Dinger brauchen für die Beleuchtung auch noch 125V~

Die IDE ist in den Packetquellen von Kubuntu 16.04 enthalten und das ist noch die 2:1.0.5.
Ich habe mir auch die 1.8.4 und die 1.0.6 herunter geladen, aber nur zum testen.
Leider liefert jede Version aber einen anderen Fehler.

Im April sollte die neueste LTS (18.04) heraus kommen. Ich denke das die dann die neue IDE hat.
Ich habe mir die HD44780 nun auch herunter geladen und werde versuchen mal mit der etwas zu experimentieren.

Bis jetzt habe ich mit meinem Sohn nur ein paar kleine Sachen gemacht.
Led Lauflicht, Schalter als Eingang. Die Arduino Geschichte ist auch für mich im Prinzip Neuland :slight_smile:

Gruß
Thomas