[gelöst]LCD Kontrast ändern ohne Poti

Hallo zusammen,

ich wollte ein bisschen mit meinem Arduino Due ein LCD Display (16x2 1602 LCD Display für Arduino – AZ-Delivery) programmieren. Dabei ist mir aufgefallen das in allen Tutorials immer ein Poti benutzt wird um den Kontrast am Display einzustellen...

Meine Frage ist: kann man das auch ohne Poti?

Ich habe mich versucht schlau zu machen hier im Forum, auf Google und auf YouTube. Ich fand nur ein Video (Arduino uno and LCD interfacing without potentiometer + Arduino code - YouTube) indem erklärt wurde das man den Kontrast im Code einstellen könnte. Also hab ich das versucht und den Code nachgestellt sodass es auf meine PINs passt.

#include <LiquidCrystal.h> 
int Contrast=75;                        //Helligkeit einstellen
const int rs = 12, en = 11, vo = 5,  d4 = 10, d5 = 9, d6 = 8, d7 = 7;   //hinzugefügt vo
LiquidCrystal lcd(rs, en, vo, d4, d5, d6, d7);                              //hinzugefügt vo


 void setup()
 {
    analogWrite(5,Contrast);
     lcd.begin(16, 2);
  } 
     void loop()
 { 
     lcd.setCursor(0, 0);
     lcd.print("Test");
   
    lcd.setCursor(0, 1);
     lcd.print("Test2");
 }

Allerdings funktioniert es einfach nicht. Ich habe verschiedene PINs getestet auch unterschiedliche Kontrast zahlen aber nichts hat funktioniert. Ich kanns einfach nicht ausmachen woran es liegt aber es müsste doch funktionieren oder nicht?

Ich hoffe jemand kann mir hier weiterhelfen :frowning:

int Contrast=75;                        //Helligkeit einstellen

Helligkeit der Hintergrundbeleuchtung und Kontrast sind zwei verschiedene paar Schuhe.

Meine Frage ist: kann man das auch ohne Poti?

ja, du kannst auch einen Fix-Widerstand verwenden.

combie:
Helligkeit der Hintergrundbeleuchtung und Kontrast sind zwei verschiedene paar Schuhe.

Es geht mir ja nicht um die Hintergrundbeleuchtung sondern der Kontrast das ist ja der Ausgang VO wenn ich mich nicht irre?
Entweder sind keine Boxen auf dem Display zu sehen oder nur die Boxen und nichts anderes... Dann muss ich ja den Kontrast hoch oder runter stellen?

Hallo,

Du kannst zwei feste Widerstände nehmen. Das Thema gabs hier im Forum gerade vor 2 Tagen schon mal. Ich denke der Eingang an der Anzeige benötigt eine positive Spannung , und einenStrom der grösser ist als der Arduino liefern kann. Also benötigst Du einen NPN Tranststor als Schalter an dem PWM Ausgang.

Heinz

noiasca:
ja, du kannst auch einen Fix-Widerstand verwenden.

Und was für einen Widerstand muss ich da verwenden? Und wie sieht dann die Schaltung aus?
Wäre es dann 5V -> Widerstand + GND -> Widerstand = -> VO ?

nein, NICHT zu 5V. Das ist nur fast überall falsch gezeichnet. Je nach Betriebsspannung so roundabout 1.5 - 2.2K zwischen dem Pin und GND, einfach so dass es schön aussieht. Ich glaub ich kann mir ersparen dass ich einen Plan zeichne oder?

Rentner:
Hallo,

Du kannst zwei feste Widerstände nehmen. Das Thema gabs hier im Forum gerade vor 2 Tagen schon mal. Ich denke der Eingang an der Anzeige benötigt eine positive Spannung , und einenStrom der grösser ist als der Arduino liefern kann. Also benötigst Du einen NPN Tranststor als Schalter an dem PWM Ausgang.

Heinz

ich hab das Thema nicht gefunden. Kannst du es mir vielleicht verlinken?

Muss ich dann die 5V an die Basis hängen und der Emitter an den PIN 5 und Collector an VO?

V0 ist die Kontrastspannung. Müßte auch über einen PWM den Du mit einem RC Glied gleichrichtest. Versuch mal (überschlagsmäßig) 10 kOhm zwischen Ausgang und V0 Pin und 0,1µF zwischen V0 und Masse.
Grüße Uwe

noiasca:
nein, NICHT zu 5V. Das ist nur fast überall falsch gezeichnet. Je nach Betriebsspannung so roundabout 1.5 - 2.2K zwischen dem Pin und GND, einfach so dass es schön aussieht. Ich glaub ich kann mir ersparen dass ich einen Plan zeichne oder?

Ein Plan dazu wäre für mich sehr hilfreich wenn es dir nicht zu aufwendig ist

Hallo,

also ich hab das mal mit zwei Widerständen als Spannungsteiler gemacht , erst mal beide 1K , einen hab ich dann etwas geändert, weiss aber nicht mehr genau (2.2K). Kann man auf dem Steckbrett aber ja leicht ändern.

Heinz

naja: das braun ist ein Widerstand.

Nur ein kleiner zusätzlicher Hinweis:
Die Kontrasteinstellung ist leider sehr abhängig von der Spannung.
Bei Festwiderständen wird sich der Kontrast je nach Betrieb am USB oder ein Netzteil sehr stark ändern.

Da würde ich eine einstellbare Spannung immer vorziehen.

uwefed:
V0 ist die Kontrastspannung. Müßte auch über einen PWM den Du mit einem RC Glied gleichrichtest. Versuch mal (überschlagsmäßig) 10 kOhm zwischen Ausgang und V0 Pin und 0,1µF zwischen V0 und Masse.
Grüße Uwe

Meinst du mit Ausgang den PIN am Arduino?

skipzens:
danke für die Zeichnung. Ich hab das mit einem 10kOhm Widerstand getestet aber getan hat sich nichts

Naja, 1,5 bis 2 KOhm ist ja auch fast das selbe wie 10 KOhm. :frowning: Du denkst wohl Haupsache es ist ein Widerstand?? Das ist mehr als das fünffache der Empfehlung, was erwartest du da??

Franz54:
Naja, 1,5 bis 2 KOhm ist ja auch fast das selbe wie 10 KOhm. :frowning: Du denkst wohl Haupsache es ist ein Widerstand?? Das ist mehr als das fünffache der Empfehlung, was erwartest du da??

Ehm sorry? Ich hatte das mit dem anderen Beitrag verwechselt in dem es um RC mit 10kohm und 0,1uF ging...
Fehler können auch mal passieren oder nicht? :confused:

Als Alternative könntest du einen DAC verwenden, oder auch ein digitales Poti. Dann machst du es richtig.

HotSystems:
Als Alternative könntest du einen DAC verwenden, oder auch ein digitales Poti. Dann machst du es richtig.

Wenn ich den DAC an meinem Arduino verwende muss ich dann in den Code den VO Ausgang hinzufügen dass das ganze dann so aussieht?

const int vo = DAC1, rs = 12, en = 11, d4 = 10, d5 = 9, d6 = 8, d7 = 7;   //hinzugefügt vo
LiquidCrystal lcd(vo, rs, en, d4, d5, d6, d7);                              //hinzugefügt vo

im Void Setup dann noch

analogWrite(DAC1, 2700);               //die 2700 als Beispiel

noiasca:
alles gut.
Läufts?

Ich habe jetzt die vorgegebenen Widerstände getestet, aber nichts von denen hat funktioniert manchmal habe ich die Balken leicht gesehen oder die haben geflackert aber meinen Text auslesen konnte ich immer noch nicht.

skipzens:
Wenn ich den DAC an meinem Arduino verwende muss ich dann in den Code den VO Ausgang hinzufügen.....

Je nach dem, welchen DAC du verwendest, solltest du dich nach der passenden Library umschauen und dir ein Beispiel daraus ansehen. Mit diesem Beispiel baust du deinen Sketch auf.