NodeMCU Probleme

Hallo Leute,
habe ein NodeMCU mit einem Oled Display mittels software SPI verbunden. Klappt prima und das Testprogramm läuft ohne Probleme. Das Ganze hat aber leider zwei "Hacken":

  • Der NodeMCU lässt sich nicht programmieren, wenn ich das Display angeschlossen habe.
    warning: espcomm_sync failed, error: espcomm_open failed, error: espcomm_upload_mem failed.
    Wenn ich die Spannung am Display während der Programmierung nehme funktioniert die Programmierung des Boards.
  • Sobald ich das Porgramm auf das Board geladen habe, wie bereits erwähnt funktioniert zB das Testprogramm. Wenn ich aber das Board vom USB-Kabel abstecke und wieder einstecke (Simulation Unterbrechung Spannungsversorgung) dann bleibt zB das Display beim letzten "Bild" stehen...

Ich hoffe ihr könnt mir helfen :wink: Danke bereits im Voraus.

LG

LOOIIS:
habe ein NodeMCU mit einem Oled Display mittels software SPI verbunden. Klappt prima und das Testprogramm läuft ohne

Ich hoffe ihr könnt mir helfen :wink: Danke bereits im Voraus.

LG

Ich kenne weder die NodeMCU noch SPI.

Kannst Du prüfen, ob denn überhaupt ein Programm gestartet wird, nachdem Du einen Stromausfall simuliert hast? Kannst Du z. B. irgendein Ding auf eine bestimmte Art blinken lassen? Wenn ja, wäre das die erste Sache, die ich prüfen würde. Ich vermute, dass das Display einfach immer das zuletzt Aktive Bild zeigt, solange man es nicht initialisiert und mit neuen Daten füttert. Was da evtl. falsch läuft (wenn überhaupt), ist das eine Fehlersuche für später.

Alte Fernseher konnte man ja reparieren, wenn man sie gehauen hat. Bei diesem neumodischen Digitalkram ist das nicht so. Ob drauftreten hilft ... ? Oder wenn man es für ein paar Sekunden in eine 1 kW-Mikrowelle legt ... ?

Wichtig ist, dass Du Dir zuerst irgendeine (und sei sie noch so poplig) Möglichkeit schaffst, den Start und die Abarbeitung eines Programms prüfen zu können. Ob das eine blinkende LED ist oder ein Pin, den Du toggeln kannst ...

Gruß

Gregor

Hallo,

an welche Pins ist Dein Display bei der NodeMCU angeschlossen?
Warum SoftSPI?

Gruß aus Berlin
Michael

Schönen Abend,
danke für eure Antworten.

@gregorss:
Ich gehe davon aus, dass bei einem Spannungsausfall ein Reset des Boards ausgelöst wird und bei Spannung das Programm wieder von alleine gestartet wird. Hmm das kann leicht sein, dass sich das Display bei einem Spannungsausfall das letzte aktive Bild speichert und es somit erst restiert werden muss. Da muss ich mich noch ein wenig einlesen. Aber danke für den Tipp :wink: Müsste dieser Reset aber nicht automatisch funktionieren, wenn das Board resetiert werden (wenn ich auch den Reset Pin benutze), sofern Soft- und Hardware passen...

@amithlon:
Nutze die Pins #define OLED_MOSI 13, #define OLED_CLK 14, #define OLED_DC 4 ,
#define OLED_CS 15, #define OLED_RESET 5. Warum SoftSPI? Gute Frage. Hat sich irgendwie so ergeben :slight_smile:

Nochmals zu einer meiner Ausgangsfragen: "- Der NodeMCU lässt sich nicht programmieren, wenn ich das Display angeschlossen habe.
warning: espcomm_sync failed, error: espcomm_open failed, error: espcomm_upload_mem failed.
Wenn ich die Spannung am Display während der Programmierung nehme funktioniert die Programmierung des Boards." Hat jemand einen Tipp? :-\

Grüße

Hallo,

Vermutung: GPIO15 muß zum Programmieren auf Low sein, das wird auf der NodeMCu durch einen Widerstand 12k gegen GND erreicht.
Wenn jetzt das Display an /CS einen (internen?) PullUp-Widerstand hat, wird der Pegen soweit richtig High gezogen, daß die NodeMCU in den falschen Bootmodus geht.
Entweder mal /CS auf einen anderen Pin als GPIO15 legen (GPIO12 sollte gehen) oder einen Widerstand ca. 2,2k von GPIO15 nach GND.
Die Lösung ist aber ungünstig, weil das Display dann ebtl. zur falschen Zeit /CS als Low erkennt und dann Mülldaten einliest. Richtet keinen direkten Schaden an, malt aber evtl. Müllpixel auf das Display.

Gruß aus Berlin
Michael

Danke amithlon für deinen Tipp.
Ich werde ihn in den nächsten Tagen ausprobieren.