Servus. Seit einiger Zeit versuche ich, ein Display (1602) an einen ESP8266 zu betreiben, habe es aber bisher einfach nicht hinbekommen und laut diversen Foren geht das nicht, eben nur per i²c etc. Aber ich habe auf Instagram Bilder gesehen, wo es eben doch geht. Also nutzte ich meine eh schon Schlaflosen Nächte, und probierte mit einen NodeMCU herum. Vor 30 Minuten dann: HEUREKA, ich habe Text auf dem Display. Für den ESP8266 habe ich es noch nicht getestet, sollte aber auch laufen. Dazu dann später -bei Erfolg- noch ein Folgebeitrag.

Die Verkabelung;

Das wars eigentlich auch schon. Da ich gerne über Wifi flashe, hier mein Sketch dazu:
(Alles mit //OTA dient fürs Aktualisieren über WLAN… )

// Max. länge   "****************"
String Zeile1 = "1234567890123456";
String Zeile2 = "Leck mich fett! ";
 
 
#include <LiquidCrystal.h>
#include <ESP8266WiFi.h> //OTA
#include <ESP8266mDNS.h> //OTA
#include <WiFiUdp.h> //OTA
#include <ArduinoOTA.h> //OTA
const char* ssid = "KISTE"; //OTA
const char* password = "*******************************";  //OTA
LiquidCrystal lcd(D1, D2, D4, D5, D6, D7);
 
void setup() {
  lcd.begin(16, 2);
  lcd.print(Zeile1);
  lcd.setCursor(0, 1);
  lcd.print(Zeile2);
 
  WiFi.mode(WIFI_STA); //OTA
  WiFi.begin(ssid, password); //OTA
  while (WiFi.waitForConnectResult() != WL_CONNECTED) { //OTA
    delay(5000); //OTA
    ESP.restart(); //OTA
  }  //OTA
   ArduinoOTA.begin();  //OTA
 }
 
void loop() {
  ArduinoOTA.handle(); //OTA
}

Wie immer, quick and dirty. Aber Funktioniert und lässt sich über WI-FI Programmieren/Flashen :)

Der reine Sketch fürs Display ist recht klein:

#include 
LiquidCrystal lcd(D1, D2, D4, D5, D6, D7);
 
void setup() {
  lcd.begin(16, 2);
  lcd.print("16x2 an NodeMCU");
  lcd.setCursor(0, 1);
  lcd.print("Von Peter Geher ");	
	}
 
void loop {
	}

Flattr this!