Mehrere LCD I2C Display´s gleichzeitig.

Antworten
Benutzeravatar
Admin
Administrator
Beiträge: 1197
Registriert: Mo 20. Apr 2020, 09:47
Wohnort: 82441 Ohlstadt
Kontaktdaten:

Mehrere LCD I2C Display´s gleichzeitig.

Beitrag von Admin »

Ich habe mal nach einer Seite gesucht, wo erklärt wird wie man mehr als ein I2C Display an einen Arduino hängt. Das werde ich am Wochenende mal testen.

Servus :(V):
Benutzeravatar
e69-fan
Beiträge: 282
Registriert: Mi 20. Jan 2021, 10:32
Wohnort: Murnau am Staffelsee

Re: Mehrere LCD I2C Display´s gleichzeitig.

Beitrag von e69-fan »

Guten Morgen Franz,
ich habe das Display wie folgt zu laufen gebracht:

Code: Alles auswählen

#include <LiquidCrystal_I2C.h> // LCD Display

//LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);   Da wird über POSITIVE gemeckert

LiquidCrystal_I2C lcd(0x27,20,4); 

LiquidCrystal.png
LiquidCrystal.png (19.87 KiB) 675 mal betrachtet
Jetzt kann ich weiterspielen.
Grüße aus der Heimat der E69
Benutzeravatar
Admin
Administrator
Beiträge: 1197
Registriert: Mo 20. Apr 2020, 09:47
Wohnort: 82441 Ohlstadt
Kontaktdaten:

Re: Mehrere LCD I2C Display´s gleichzeitig.

Beitrag von Admin »

Hast du dir da eine andere Library geholt? Oder war die Version das Problem? Meine ist ja schon etwas alt :agt:

Es scheint einige davon zu geben mit dem selben Namen.

Schönen Tag
Franz
Benutzeravatar
e69-fan
Beiträge: 282
Registriert: Mi 20. Jan 2021, 10:32
Wohnort: Murnau am Staffelsee

Re: Mehrere LCD I2C Display´s gleichzeitig.

Beitrag von e69-fan »

Viel Spaß mit der Laufschrift,

Code: Alles auswählen

// *************************************************************
// Franz - Der Unerschütterliche
// Laufschrift mit
// LCD-Display 4 Zeilen a 20 Zeichen
// 
// *************************************************************

#include <LiquidCrystal_I2C.h>      // LCD Display
LiquidCrystal_I2C lcd(0x27,20,4); 

String Satz = "Franz, bist du aberglaeubisch? - Nein, warum? - Du bist mein 13 Verlobter!";
String Reihe = "                    ";
int Satz_Laenge;
char Zeichen;

void setup() {
  lcd.begin(20,4);
  lcd.backlight();
  lcd.setCursor(0, 3);
  lcd.print ("xxxxxxxxxxxxxxxxxxxx");
}

void loop() {
  for (int i = 0; i < Satz.length() + 20; i++) {
    for (int j = 0; j < 19; j++) {
      Zeichen = Reihe.charAt (j+1);
      Reihe.setCharAt(j, Zeichen); }
    Zeichen = ' ';
    if (i < Satz.length()) {
      Zeichen = Satz.charAt (i); }
    Reihe.setCharAt(19, Zeichen);
    lcd.setCursor(0, 1);
    lcd.print (Reihe);
    delay(500);
  }
}       
// *************************************************************
Grüße aus der Heimat der E69
Benutzeravatar
e69-fan
Beiträge: 282
Registriert: Mi 20. Jan 2021, 10:32
Wohnort: Murnau am Staffelsee

Re: Mehrere LCD I2C Display´s gleichzeitig.

Beitrag von e69-fan »

Und hier habe ich ein "Auswahlmenue" gefunden - ist mir aber zu aufwändig :O:

https://github.com/Jomelo/LCDMenuLib2
Grüße aus der Heimat der E69
Benutzeravatar
Admin
Administrator
Beiträge: 1197
Registriert: Mo 20. Apr 2020, 09:47
Wohnort: 82441 Ohlstadt
Kontaktdaten:

Re: Mehrere LCD I2C Display´s gleichzeitig.

Beitrag von Admin »

e69-fan hat geschrieben: Mi 14. Apr 2021, 11:55 Viel Spaß mit der Laufschrift,

Ich musste die "LiquidCrystal_I2C lcd(0x27,20,4);"
tauschen gegen "LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);"
Dann ist es gelaufen. Vorher war da nur geblinke und ein paar "Q" an verschiedenen Positionen.

Code: Alles auswählen

// *************************************************************
// Franz - Der Unerschütterliche
// Laufschrift mit
// LCD-Display 4 Zeilen a 20 Zeichen
// 
// *************************************************************

#include <LiquidCrystal_I2C.h>      // LCD Display
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); 

String Satz = "Franz, bist du aberglaeubisch? - Nein, warum? - Du bist mein 13 Verlobter!";
String Reihe = "                    ";
int Satz_Laenge;
char Zeichen;

void setup() {
  lcd.begin(20,4);
  lcd.backlight();
  lcd.setCursor(0, 3);
  lcd.print ("xxxxxxxxxxxxxxxxxxxx");
}

void loop() {
  for (int i = 0; i < Satz.length() + 20; i++) {
    for (int j = 0; j < 19; j++) {
      Zeichen = Reihe.charAt (j+1);
      Reihe.setCharAt(j, Zeichen); }
    Zeichen = ' ';
    if (i < Satz.length()) {
      Zeichen = Satz.charAt (i); }
    Reihe.setCharAt(19, Zeichen);
    lcd.setCursor(0, 1);
    lcd.print (Reihe);
    delay(500);
  }
}       
// *************************************************************
Benutzeravatar
Admin
Administrator
Beiträge: 1197
Registriert: Mo 20. Apr 2020, 09:47
Wohnort: 82441 Ohlstadt
Kontaktdaten:

Re: Mehrere LCD I2C Display´s gleichzeitig.

Beitrag von Admin »

Die MenüLib die du da gesehen hast ist mir ein bischen zu aufwendig. Ich dachte da an bis zu 4 Werte, die in den 4 Zeilen des LCD Displays stehen. Dann die Zeile und die Pos. auswählen, verändern, Bestätigen. Andere Pos. oder andere Zeile, neue Pos. wieder verändern, bestätigen, fertig. Wenn man so eine MenüLib benutzt, macht es Sinn wenn es so ein großes, umfangreiches Menü ist, wie dort gezeigt. Ich würde gerne nur einen Wert oder ein paar Werte verändern und das ohne die Lib. Aber kann natürlich sein dass ich merke, dass der Aufwand doch recht groß ist, und ich jetzt den Aufwand falsch einschätze. Das werden wir sehen. :)

Franz
Antworten

Zurück zu „Hardware / Schaltungstechnik“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste