D1 Mini und HD44780 Display

Hallo habe eine Frage. Habe ein HD44780 Display an einem D1 mini angeschlossen und versuche etwas auf dem Display anzuzeigen. Kommen aber nur in einer Zeile weiße Balken. Hab auch ein I2C Scanner mal laufen lassen da. da findet er das Display nicht. Wenn ich das Display an eine UNO anschließe funktioniert es.
Verwendeter Code für Scanner:

#include <Wire.h>


void setup()
{
  Wire.begin(SDA-2,SCL-1);

  Serial.begin(9600);
  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();

    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
}

kann mir jemand sagen was ich falsch mache?

????

soll auch ohne gehen. So sollte die Anschlüsse sicher zugewiesen sein !?
ändert aber ohne auch nix

Which pins do you use?

mein Anschluss
SCL-D1; SDA-D2

https://github.com/esp8266/Arduino/blob/master/variants/d1_mini/pins_arduino.h

Die meisten Displays dieser Bauart sind fü 5Volt gebaut und machen daher an 3,3Volt Probleme.

Nimm lieber die GPIO-Werte SCL 5 und SDA 4.
Wie versorgst Du das Display? Mit 5V?

Gruß Tommy

Wie Tommy schreibt, nicht so,

sondern so:
Wire.begin(4, 5);

Wenn du die ESP8266-core geladen hast, geht das auch nur mit

Wire.begin();

Warum wird GPIO 4 und 5 nicht benutzt?

Wire.begin(4, 5);

wen man 4 und 5 nutzt reicht nur
Wire.begin();

@HotSystems war schneller :wink:

Ich habe das Display auf 5v angeschlossen

Dan ist dein ESP wahrscheinlich hinüber, der verträgt nur 3.3 V auf den I2C Pins (Auf allen Pins!)

Level Shifter nutzen für SDA,SCL :wink: gibt auch in DE

Ohne die Zahlen also nur Klammer habe ich das gleiche Problem

Okay dann verstehe ich aber die Schaltung nicht. Da ja das extra so gemalt ist und ich auch ein schnittstellenmodul dran habe. Müssten da dann noch wiederstände dran ?

GPIO 4 und 5 sind doch d1 und d2?
Ja 5v von d1 Mini. Der ist über usb angeschlossen

Noch eine Seite mit totalem Unsinn das mag Funktionieren 1 Std. danach Finito. Besorge dir das was habe verlinkt und nehme andere Pins.

? Wie meinst?

Also Das LCD braucht 5V wegen der Hintergrundbeleuchtung und dadurch automatisch auf den I2C Pins ist 5V, Der D1 will aber nur 3.3V auf allen Pins.
um das Umgehen nutzt man die verlinkte Teile.
Das gilt für alle ESP8266 und ESP32
Mittlerweile muss man auch bei Sachen was sich Schimpfen Arduino aufpassen die neue wollen meistens auch nur 3.3V

Okay danke das hab ich bestellt. Dann bin ich mal gespannt :pray: