Ich habe ein 2 zeiliges Display W162B mit einer Arduino Nano verbunden.
Das Display zeigt die gesendeten Buchstaben an, nur sind sie nicht ruhig. Ein dunkler Balken, der 1 Dot hoch ist läuft ständig von unten nach oben durch.
Ob ich den Kontrast schwach oder stark einstelle immer das selbe.
Mit anderen Displays z.B. 1602A tritt das Problem nicht auf.
Das zweite W162B zeigt das selbe Symptom.
Muss man am Display etwas verändern?
Gefunden habe ich im WEB leidern nichts.
Da das Display in loop() nicht angesteuert wird, ist die Anzeige rein vom LCD selber, also nicht der Standard-Lapsus, das Display laufend per .clear() komplett zu löschen
VEE wird mit dem Pin3 des Nano angesteuert. Dass der diese Schaltereien macht?
Ich hänge mal das Oszi drauf.
Aber das hier verstehe ich ganz und gar nicht, denn eben deshalb lasse ich das Display ja im "Ruhezustand" laufen.
Da das Display in loop() nicht angesteuert wird, ist die Anzeige rein vom LCD selber, also nicht der Standard-Lapsus, das Display laufend per .clear() komplett zu löschen
Du machst Nichts falsch (außer, Du hast VEE an einem Pin - Das ist NICHT ENABLE, sondern die Kontrast-Spannung - und Die muß seeehr klein sein zwischen 0 (Null) und 0,5V (500mV).
KA, was das Display macht, wenn an VEE 5V anliegen.
Zumindest verstand ich Dich so, daß Du das Display in 4/8bit-Modus betreibst, also 'einen ganzen Arsch an Strippen' zwischen Display und Arduino hast.
VEE kann bei vielen verbauten Displays per Poti eingestellt werden - bei nackten Displays nutzte ich an VEE eine SI-Diode, Die nominal 0,7V Duchlass-Spannung aufweist (Also Vdd - 10KΩ -+- -|>|- GND - an dem + kannst Du die 0,7V abgreifen, Diode in Durchlass-Richtung).
Danke, jetzt ist es klar.
Da hat man sich bei der Arduino Programmiersprache aber ordentlich was geleistet. AnalogWrite() ist Pulsweitenmodulation und keine Spannungsausgabe.
Also PulsModWrite() wäre treffender!
Interessant ist nur, das es bei den 1602A LCD-Displays funktioniert.
Danke jedenfalls für dei gedankliche Anregung
rupertschierz:
Da hat man sich bei der Arduino Programmiersprache aber ordentlich was geleistet. AnalogWrite() ist Pulsweitenmodulation und keine Spannungsausgabe.
Das ist aber ausreichend dokumentiert. Nur lesen muss man die Dokus.
analogWrite (Kontrast_Pin, Kontrast); ergibt wie gesagt keine regelbare Gleichspannung sondern eine gepulste Spannung. Die siehst Du im Display.
Du kannst mittels eines Widerstandes und eines Kondensators Die PWM Spannung glätten und erhälst somit eine wenig wellige Gleichspannung.
Aus dem Stehgreif kann ich Dir nicht die richtigen Werte sagen. Versuchs mal mit 0,1µF zwischen VEE und Masse und 100kOhm zwischen Pin D3 des Arduino und VEE.