Seite 1 von 1

Mehrere LCD I2C Display´s gleichzeitig.

Verfasst: Fr 9. Apr 2021, 17:27
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):

Re: Mehrere LCD I2C Display´s gleichzeitig.

Verfasst: Mi 14. Apr 2021, 07:45
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) 738 mal betrachtet
Jetzt kann ich weiterspielen.

Re: Mehrere LCD I2C Display´s gleichzeitig.

Verfasst: Mi 14. Apr 2021, 08:37
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

Re: Mehrere LCD I2C Display´s gleichzeitig.

Verfasst: Mi 14. Apr 2021, 11:55
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);
  }
}       
// *************************************************************

Re: Mehrere LCD I2C Display´s gleichzeitig.

Verfasst: Mi 14. Apr 2021, 12:25
von e69-fan
Und hier habe ich ein "Auswahlmenue" gefunden - ist mir aber zu aufwändig :O:

https://github.com/Jomelo/LCDMenuLib2

Re: Mehrere LCD I2C Display´s gleichzeitig.

Verfasst: Mi 14. Apr 2021, 13:22
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);
  }
}       
// *************************************************************

Re: Mehrere LCD I2C Display´s gleichzeitig.

Verfasst: Mi 14. Apr 2021, 14:00
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