NodeMCU + 0,96 OLED I2C Frage

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hat schon jemand ein OLED 0,96" OLED Display mit I²C Interface an NodeMCU V0.9 am laufen?
    Bin am Verzweifeln, habe 2 OLEDs versucht, beide zeigen keine Reaktion.
    Meine Verdrahtung:
    OLED VCC und GND auf Node 3V und Gnd (soweit klar)
    OLED SCL (I²C Clock) nach Node SC (richtig?)
    OLED SDA (I²C Daten) nach Node SD (richtig?)

    Als Sketch hab' ich das Standard Sketch aus der adafruit - Bibliothek genommen.
    Zu Beachten war, dass auf dem OLED eine Adresse 7B (evtl. 78) aufgedruckt ist. Beide Addressen hab ich schon probiert.

    Jetzt meine Frage:
    Hat jemand von Euch diese Kombination (OLED + NODE MCU) am laufen?
    Wie verdrahtet?
    Welche Bibiothek?

    Ihr helft mir sehr....

  • Die Adresse ist "falsch"... :-/

    Versuche mal 0x3c bzw 0x3d... frag nicht,warum, ich bekomme es jetzt nicht aus dem Hut zusammen, warum man da die Adresse so anpasen muss, kann nachher mal suchen...
    Automatisch zusammengefügt:
    Nachtrag:

    Habs gefunden : https://github.com/SonalPinto/Ard…t/oled_test.ino

    Da steht im Text, wie es zu dieser Adressverschiebung kommt...

  • Ich hatte ähnliche Probleme als ich die SPI-Schnittstelle verwenden wollte (auch für ein Display, aber ein anderes..., 4 Leitungen, meine selbstgebaute Waage..):
    Anfänglich habe ich die ausgewiesene SPI -SS verwendet, was aber nicht ging, da offenbar der EEPROM darüber angeschlossen ist... (nicht sicher).

    Ich habe dann "normale" Pins verwendet, man muss nur bei der Initialisierung die Pins, welche man verwendet, angeben
    Bisher hab ich das OLED Display "nur" am Arduino Nano dran (unten im Code auch die Bibliotheken, die ich verwende, dieser Code sollte 1:1 auch auf dem NodeMCU laufen, wenn man (siehe weiter unten :lol: )

    Wenn du jetzt die Zeile

    Code
    Wire.begin();

    durch

    Code
    Wire.begin(GPIO-Nummer SDA, GPIO-Nummer SCL);

    ersetzt, sollte es funktionieren...

    siehe auch diesen Beitrag

  • Hi, ich habe genau diese Kombination bei mir laufen. Das Ganze funktioniert auch ohne Probleme.
    Ich habe soweit ich aus dem Kopf weiß D3 und D4 als Pins verwendet. Ich nutze also ein SoftSPI.
    Wenn du noch Hilfe brauchst sag mir Bescheid, ich könnte dir heute Abend Verschaltung und Code zukommen lassen.

  • Ich muss mal noch was nachwerfen, auch wenn schon zu ist... (für Leser, die ggf. damit nicht so klar kommen):

    Hab gerade dieses OLED an einen NodeMCU (LoLin) rangepinnt und musste feststellen, dass es doch nicht so simple ist, wie ich oben beschrieb (Codeübernahme + I2C-Pins setzen):

    Hatte anfangs SDA an D0 (GPIO 16) und SCL an D1 (GPIO 5) ... zuckte nicht... (mit [font="Courier New"]Wire.begin(16, 5)[/font] )
    Anfangsverdacht: OLED kaputt oder die 3,3V vom NodeMCU reichen nicht (es soll solche Chargen geben , die nur mit 5V laufen)...

    Dann ein bisschen gesucht und òle... ist einfacher als gedacht... ist es ja meistens und kaum macht man es richtig, funktionierts:

    Man muss die Wire-Library gar nicht initialisieren, wenn man das OLED an die default-SPI/I2C Pins anschliesst:

    Zitat

    * SDA: D2 (GPIO 4) SPI-DC
    * SCL: D1 (GPIO 5) SPI-CS

    Ich bin über diesen Link drauf gekommen: http://arduino-er.blogspot.de/2016/04/hello-…128x64-i2c.html

    m2ct

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!