I2c und LCD Buswiderstand

@my_xy_projekt
@HotSystems

Nachdem ich das Beispiel kompilieren konnte habe ich das Thema als gelöst markiert.

Zu früh gefreut :grimacing:
Dies ist aber noch nicht entgültig gelöst.
Ich habe 2 Widerstände 4k7 UNO a4 --> 5V UNO a5 --> GND montiert, dann gibt es mit dem I2c Scanner keinen Teilnehmer.
Es gibt aber auch nichts auf dem Display.

Habe dies gefunden

damit blinkt das Display bleibt ansonsten dunkel.
Adresse angepasst

Stecker Hintergrundbeleuchtung gezogen kein blinken

#include <Wire.h>

void setup()
{
Wire.begin();
Wire.beginTransmission(0x27);
Wire.write(0);
Wire.write(12);
Wire.write(19);
Wire.write("Hallo");
Wire.endTransmission();
delay(1000);

}

void loop()
{

Wire.beginTransmission(0x27); 
Wire.write(0);
Wire.write(12);
Wire.write("TEST");
Wire.endTransmission();
delay(10000);      // damit blinkt das Display 

}
 

Ist es richtig hierfür einen neuen Thread zu eröffnen oder eher den ersten zu erweitern

Damit hast du nun am A5 einen PULLDOWN der gegen einen eventuell vorhandenen PULLUP am LCD board kämpft. Das ist falsch. entferne deine Widerstände.

Dein Sketch enthält keine LCD Library mehr, daher wird das LCD nach nichts mehr anzeigen.

Benutze doch erst mal ein Beispiel aus der Lib.

Warum soll mit einem delay was blinken?

@wwerner
Das Beispiel aus der Lib liess sich nicht Kompilieren,läuft auch nach dem korrigieren nicht. Deshalb der obige Sketch. Mit Blinken meinte ich,das die Hintergrundbeleuchtung kurz blitzt.

Das mit den Widerständen habe ich bereits gemacht da der Scanner mir keine Adresse mehr gezeigt hat.

und funktioniert der LCD Sketch wieder? Zeigt das LCD wieder was an mit dem Sketch aus der Library?

Dann ist immer noch was an deiner Installation kaputt. Gehe am besten zurück in den anderen Thread.

Aber warum mit delay()? Die Hintergrundbeleichtung wird über einen Pin ein und ausgeschaltet.

Willst du nicht erst mal die absoluten Grundlagen lernen und erst einmal ein Blink Sketch SELBST schreiben?

Der Sketch geht nicht nur das Display wird hell !

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
 
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{
	// initialize the LCD
	lcd.init();      // lief nicht begin 4.3.25
  
	// Turn on the blacklight and print a message.
	lcd.backlight();
	lcd.print("Hello, world!");
  Serial.begin(9600);                           //Serielle Verbindung starten 9600
}

void loop()
{
	// Do nothing here...
  
  lcd.print("Hello, world!");                 // Dies habe ich eingefügt 3 Zeilen
  Serial.println("Hello, world! ");        //
  delay (1000);                                     //

}

Moin,
alle angebauten Widerstände ab machen.

Dann diesen Scanner laufen lassen:

#include <Wire.h>


void setup()
{
  Wire.begin();

  Serial.begin(115200);
  while (!Serial);             // Leonardo: wait for serial monitor
  Serial.println("\nI2C Scanner");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ ) 
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
Serial.print(error);
Serial.println(address);
    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4) 
    {
      Serial.print("Unknown error at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}

Solange da kein device auftaucht, nix anderes machen, ausser suchen, warum das so ist.

@my_xy_projekt
Guten Morgen
Mit dem Scanner gibt es die Ausgabe Uhrzeit ->
07:50:39.518 -> 2120

07:50:39.518 -> 2121

07:50:39.518 -> 2122

07:50:39.518 -> 2123

07:50:39.518 -> 2124

07:50:39.518 -> 2125

07:50:39.518 -> 2126

07:50:39.518 -> done

07:50:39.5

Ne. da scroll mal hoch.
Irgendwo gibt es die Ausgabe des Textes aus dem Setup und irgendwo muss dann beim durchscrollen eine gefundene Adresse auftauchen

in dem gezeigten Sketch ist die Baudrate anders.
Setze die Baudrate in deinem Seriellen Monitor auf das was im Sketch steht.
Das sind 115200 Baud.
Die Baudrate muss stimmen!!!

Die Ausgabe stimmt so. - Der macht das schon richtig.

@my_xy_projekt
Stimmt 0x27 ist die Adresse hat ein anderer Scanner auch angezeigt !

Jetzt hat er aufgehört zu zählen 2126 done

08:00:51.316 -> 2120

08:00:51.316 -> 2121

08:00:51.316 -> 2122

08:00:51.316 -> 2123

08:00:51.316 -> 2124

08:00:51.316 -> 2125

08:00:51.316 -> 2126

08:00:51.316 -> done

08:00:51.316 ->

Damit ist klar, dass der Chip da ist und der Display auch erreichbar.
Ok.
Dann die Frage: Hast Du das Modul mit Display und I2C-Chip fertig gekauft oder selbst Pins angelötet?
Kannst Du mal ein Foto von Deinem Aufbau machen?

@my_xy_projekt
Selbst gelötet so wie in einem Beitrag von my_xy_projekt geschrieben also hinter das LCD . Find ich grad nicht wieder.
gefunden

ich habe nur den UNO mit USB am PC
Steckplatte --> LCD Modul

Ich würde gerne Bilder vom zusammengelöteten Teil sehen wollen.
Ober- und Unterseite.

@my_xy_projekt



bring mal die Lötstellen mit etwas Flussmittel in Form.
Mir sieht u.a. der Teil VDD -> VO sehr eigenartig aus.
Durch das leuchten der Leds ist das schwierig die Rückseite zu beurteilen, aber ich denke, dass bei sauberen Lötstellen das Display auch lebt.

Du hast hinten einen contrast poti. Dreh da mal langsam von einer Seite zur Anderen.
Wenn in der ersten Zeile volle Blöcke sichtbar werden wäre das schon ein Erfolg.