Probleme mit I2C LCD

Moin Miteinander, ich wollte jetzt meine LCD´s in Betrib nehmen aber wie mir scheint gibt es da Probleme mit der IDE denn es werden keine Texte angezeigt.Aktuell habe ich die VErsion 1.8.5 drauf.

MfG
Crazydiver

Crazydiver:
Moin Miteinander, ich wollte jetzt meine LCD´s in Betrib nehmen aber wie mir scheint gibt es da Probleme mit der IDE denn es werden keine Texte angezeigt.Aktuell habe ich die VErsion 1.8.5 drauf.

Wie lange bist du schon hier dabei ?

Was hat das mit der IDE zu tun ?

Das liegt an deiner Schaltung oder an deinem Sketch.

Beides wird uns verheimlicht.

Wie war deine Frage nochmal ?

... falsch eingestelltes Kontrastpoti (mein Liebling), falsche Programmbibliothek, falsche I2C-Adresse ...

Hi,
Ich hatte vor kurzem ähnliche Probleme.
Hier sind sind einige Sachen die du überprüfen könntest:
-Sprichst du die richtige Bus Adresse an, d.h. hast du sie mal mit einem Scanner Script überprüft?
Wenn gar nicht erst eine Adresse erkannt wird, liegts am I²C Modul.
-Hast du das I²C Modul vielleicht zu dicht ans Display gepackt?
Dass Display ist oft mit gebogenen schwarzen Plastik Dingern an der Platine befestigt.
Nur sind die nicht aus Plastik, sondern aus Metall, und in meinem Fall haben sie
dadurch eine Leitung kurzgeschlossen.
-Hast du das Potentiometer richtig eingestellt?
-Sind deine Lötstellen richtig?
Bei meinem Display sah eine Lötstelle zwar gut aus, hat zu meiner Überraschung aber kein Strom zur
Platine gelassen.
-Ebenfalls häufiger Fehler: Die I²C Bibliothek verträgt sich nicht mit der Vorinstallierten für ein normales Display.

Ansonsten sind Bilder vom Aufbau oder ein paar Zusatzinformationen sicher hilfreich.

MfG

@Crazydiver
Und solltest du immer noch Probleme haben, dann darfst du gern deine Fragen hier stellen.
Denke aber bitte daran, uns genügend Informationen zu liefern.

Moin Miteinader, bei der Version 1.6.3 liefen noch alle Displays.Der Kontrast ist auch richtig eingestellt.
Die Verdrahtung ist genauso wie sie sein soll(SCA an SCA,SDL an SDL,GND an GND und VCC an 5 Volt Plus).Die Adressen gehen von 0x27 über 0x26 bis 0x25.Zudem habe ich nochmal einen I2Cscanner laufen lasen um alle Adressen zu bestätigen.Anbei ist nochmal der Sketch:

MfG
Crazydiver

#include <Wire.h>  // I2C Umsetzer
#include <LiquidCrystal_I2C.h>   //Display einbinden


LiquidCrystal_I2C lcd(0x27, 20, 4); //Displays initalisieren
LiquidCrystal_I2C lcd1(0x26, 20, 4);
LiquidCrystal_I2C lcd2(0x25, 20, 4);

const int schalterPin = 8;
const int LED1 = 13;
const int analogInPin = A0;
const int analogOutPin = 9;
int sensorValue = 0;
int outputValue = 0;
int textumschalter = 0;  // Signal Textumschaltung


void setup() {
  pinMode(LED1, OUTPUT);
  pinMode(schalterPin, INPUT);
  lcd.backlight();  // alle Displaybeleuchtungen an
  lcd1.backlight();
  lcd2.backlight();
  lcd.init();  //  alle Displays loeschen
  lcd1.init();
  lcd2.init();


 
}

void loop() {
  sensorValue = analogRead(analogInPin);
  outputValue = map(sensorValue, 1030, 0, 10, 255);
  analogWrite(analogOutPin, outputValue);
  lcd.init();  // Displays loeschen
  lcd1.init();
  lcd2.init();


  textumschalter = digitalRead(schalterPin);
  if (textumschalter == LOW) {

    digitalWrite(LED1, LOW);

    lcd.setCursor(4, 0);
    lcd.print("Vorsicht");
    lcd.setCursor(1, 1);
    lcd.print("Ausnahmekonvoi");
    lcd.setCursor(8, 2);
    lcd.print("Lu`s");
    lcd.setCursor(4, 3);
    lcd.print("Spezialtrans");
    lcd1.setCursor(4, 0);
    lcd1.print("Vorsicht");
    lcd1.setCursor(1, 1);
    lcd1.print("Ausnahmekonvoi");
    lcd1.setCursor(8, 2);
    lcd1.print("Lu`s");
    lcd1.setCursor(4, 3);
    lcd1.print("Spezialtrans");
    lcd2.setCursor(4, 0);
    lcd2.print("Vorsicht");
    lcd2.setCursor(1, 1);
    lcd2.print("Ausnahmekonvoi");
    lcd2.setCursor(8, 2);
    lcd2.print("Lu`s");
    lcd2.setCursor(4, 3);
    lcd2.print("Spezialtrans");

  }

  // Umschaltung zum englischen Text

  else if (textumschalter == HIGH) {
    digitalWrite(LED1, HIGH);

    lcd.setCursor(5, 0);
    lcd.print("Attention");
    lcd.setCursor(0, 1);
    lcd.print("Convoi  Exceptionnel");
    lcd.setCursor(8, 2);
    lcd.print("Lu`s");
    lcd.setCursor(4, 3);
    lcd.print("Specialtrans");
    lcd1.setCursor(5, 0);
    lcd1.print("Attention Convoi");
    lcd1.setCursor(0, 1);
    lcd1.print("Exceptionnel");
    lcd1.setCursor(8, 2);
    lcd1.print("Lu`s");
    lcd1.setCursor(4, 3);
    lcd1.print("Specialtrans");
    lcd2.setCursor(5, 0);
    lcd2.print("Attention Convoi");
    lcd2.setCursor(0, 1);
    lcd2.print("Exceptionnel");
    lcd2.setCursor(8, 2);
    lcd2.print("Lu`s");
    lcd2.setCursor(4, 3);
    lcd2.print("Specialtrans");

  }
}

Das Schaltbild fehlt noch.

Hast du am SchalterPin eine Pullup-Widerstand ?
Hast du am I2C-Bus Pullup-Widerstände ?

Edit:
Oder gibt es evtl. beim Upload eine Fehlermeldung ?

Crazydiver:
... bei der Version 1.6.3 liefen noch alle Displays.

Verstehe ich richtig, alle Displays liefen, dann hast Du die IDE auf einen neueren Stand gebracht, nun funktionieren alle Displays nicht mehr?

Hotsystems ich verwende externe Widerstände.Zur zeit ist nur ein Widerstand in der Schaltung für den Schalter.Die Dimmung der LED habe ich zur Zeit abgeschaltet darum fehlt der analoge Lichtsensor so wie der Anschluß für die LED in den Displays.Bisher habe ich keine Fehlermeldung von IDE beim Upload bekommen.

Agmue ich habe seit der Version 1.6.3 die Displays nicht mehr in Betrieb gehabt.Da ich andere Arduinoprojekte umgesetzt habe die ich für die Angelegenheit für die auch diese Displaysteuerung vorgesehen ist vorangebracht habe(Lichttestanlage,Wechselblinker mit Warnblinker,Intervallsteuerung für Scheibenwischer mit 4 Geschwindigkeitsstufen und eine Signalumsteuerung für Mehrfachschaltermodule.

Crazydiver:
Hotsystems ich verwende externe Widerstände.Zur zeit ist nur ein Widerstand in der Schaltung für den Schalter.Die Dimmung der LED habe ich zur Zeit abgeschaltet darum fehlt der analoge Lichtsensor so wie der Anschluß für die LED in den Displays.Bisher habe ich keine Fehlermeldung von IDE beim Upload bekommen.

Wenn du also am Sketch oder am Aufbau nichts geändert hast, macht es keinen Sinn, dass es nicht funktioniert.
Somit muss irgendwo noch ein Fehler stecken, den du uns nicht zeigst.

Was hast du am I2C für Pullups ?

Schön von Deinen Aktivitäten zu lesen.

Dann fallen Fehler wie Kontrastpoti natürlich raus, drei kalte Lötstellen wohl auch.

Wird die richtige Bibliothek eingebunden? Hast Du Warnungen eingeschaltet, wirft der Compiler interessante raus?

Hotsystems anbei schicke ich Dir den Schalplan ohne die Dimmersteuerung.

Hi

Dann will ich auch Mal :slight_smile:

Startet das Display überhaupt? Siehst Du ohne (!!) Initialisierung zwei der Reihen komplett dargestellt? (also jede 2.te Zeile, bei einem 2-zeiligem Display, also 1602, dann nur eine der Zeilen)
Nach der Initialisierung zeigt Das Display Das an, was Du Ihm sagst - bekommt das Display vll. gar keine Anweisung?
Wenn nach dem Init Nichts mehr kommt, ist das Display leer, somit würde (fast) schon wieder Alles stimmen.

Was sagt Dein Display zu einem Beispiel-Sketch?
Diese MÜSSEN einfach funktionieren - auch ist Da Nichts Anderes drin, was störend wirken könnte.

Da Du schreibst, daß Du eigentlich am Programm Nichts geändert hast - hast Du bei der neueren IDE eine andere Version der LCD-Lib verwendet?
So richtig durchgedacht ist die ganze Forkerei (abkupfern und besser machen/den eigenen Wünschen anpassen und das Ergebnis öffentlich zugänglich machen) irgendwie nicht - dutzende Librarys, Die Alle gleich heißen, aber Alle irgendwo speziell angepasst wurden - denke, in die Richtung ist Dein Problem zu finden.

Deine Ausführungen klingen interessant, da hat Wer Spaß am Basteln :slight_smile:

MfG

Edit Rechtschreibung ... :confused:

Crazydiver:
Hotsystems anbei schicke ich Dir den Schalplan ohne die Dimmersteuerung.

Ich sehe keine Pullups am I2C-Bus.
Das kann Probleme bereiten.

Ich bin mir auch nicht sicher, ob der Arduino den Strom für 3 Displays treiben kann.

Bist Du sicher, die genau gleichen Libs LiquidCrystal_I2C.h in der neuen IDE installiert zu haben, wie früher?

Gruß Tommy

Hotsystems was für welche Pullups müssen denn eingesetzt werden.

Crazydiver:
Hotsystems was für welche Pullups müssen denn eingesetzt werden.

Wie lange machst das ?
Grundlagen....4,7 kOhm von beiden Leitungen auf +5Volt

Du solltest aber prüfen, ob deine I2C-Platinen keine verbaut haben.

Hotsystems werde die mal durchmessen wenn nicht werde ich welche verbauen.

Crazydiver:
Hotsystems werde die mal durchmessen wenn nicht werde ich welche verbauen.

Und teste die Displays mal entsprechend der Beschreibung von postmaster.ino.