Hallo,
Nachdem ich mit eurer Hilfe erfolgreich meinen Buzzer in den Youtube Subscriber integrieren konnte, dachte ich ich baue das ganze noch etwas kleiner (um es in eine Art Smartwatch zu bauen) mit dem Board "Wemos® TTGO ESP8266 0.91 Inch OLED Module For Arduino Nodemcu"
Auf der Artikelseite wird der folgende Testcode mitgeliefert. Diesen kann ich ohne Fehlermeldung hochladen, jedoch will sich das Display nicht einschalten. Die LED glimmt ganz schwach, mehr nicht.
Das Board habe ich auf "NodeMCU 0.9 (ESP-12 Module) gestellt. Port USBtoUART
Hat jemand eine Idee, woran das liegen könnte?
#include "OLED.h"
//TTGO 0.91s OLED connection:
//SDA -- D4
//SCL -- D5
//RST -- D2
OLED display(SDA, SCL);
void setup() {
pinMode(D2, OUTPUT);
digitalWrite(D2, LOW); // turn D2 low to reset OLED
delay(50);
digitalWrite(D2, HIGH); // while OLED is running, must set D2 in high
Serial.begin(9600);
Serial.println("OLED test!");
// Initialize display
display.begin();
// Test message
display.print("Hello TTGO");
delay(3*1000);
// Test long message
display.print("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
delay(3*1000);
// Test display clear
display.clear();
delay(3*1000);
// Test message postioning
display.print("TOP-LEFT");
display.print("4th row", 4);
display.print("RIGHT-BOTTOM", 7, 4);
delay(3*1000);
// Test display OFF
display.off();
display.print("3rd row", 3, 8);
delay(3*1000);
// Test display ON
display.on();
delay(3*1000);
}
int r = 0, c = 0;
void loop() {
r = r % 4;
c = micros() % 6;
if (r == 0) display.clear();
display.print("Hello TTGO", r++, c++);
delay(500);
}
Ich denke, Du solltes erst mal die Grundlagen lernen und nicht nur Copy & Paste betreiben.
Dann kannst Du evtl. auch das Bild verstehen, was Du angehängt hast.
Gruß Tommy
Ich denke Du hast Recht. Es ärgert mich selber, dass ich das ganze mit den Pin Belegungen, SDA und RST nicht ganz verstehe. Auf jeden fall scheinen diese nicht zu stimmen. Leider hat es auch mit
#define OLED_SDA 2
#define OLED_SCL 14
#define OLED_RST 4
nicht geklappt. Ich werde gucken, dass ich die ganzen Informationen über das Zusammenspielt finde und verstehe.
Bis dahin lege ich das Display erstmal bei Seite.
Trotzdem vielen Dank!
Hallo,
ph1lloops:
Ich denke Du hast Recht. Es ärgert mich selber, dass ich das ganze mit den Pin Belegungen, SDA und RST nicht ganz verstehe. Auf jeden fall scheinen diese nicht zu stimmen. Leider hat es auch mit
#define OLED_SDA 2
#define OLED_SCL 14
#define OLED_RST 4
nicht geklappt. Ich werde gucken, dass ich die ganzen Informationen über das Zusammenspielt finde und verstehe.
ob Du #define OLED_SDA 2 oder D4 schreibst, ist dasselbe in grün... Das eine ist die GPIO-Nummer des ESP8266 und das andere die Bezeichung des Pins an der NodeMCU.
Du sagst, der Compiler ist durchgelaufen, also hattest Du die OLED-Lib schon oder hast diese runtergeladen und installiert?
Welche LED meinst Du, die schwach glimmt?
Außer daß die TTGO-Leute manchmal etwas eigenwillige Pinzuordnungen für ihre direkt verbaute Hardware nehmen sind mir Boards von denen noch nicht unangenehm aufgefallen. Das mit dem Display habe ich selbst allerdings nicht.
Gruß aus Berlin
Michael
Hallo,
Die schwach leuchtende LED ist die onboard LED. Beim anstecken an USB geht diese ganz kurz an und glimmt anschließend dauerhaft schwach.
Die esp8266-OLED-master Lib habe ich heruntergeladen und in den libraries Ordner geschoben.
Liebe Grüße
Ich habe in Google das hier noch gefunden. Der verwendet die U8g2-Lib, mit der ich beim ESP32 incl. OLED auch gute Erfahrungen gemacht habe.
Das entbindet Dich aber nicht vom Lernen.
Gruß Tommy
Auf dieser Seite war ich auch bereits, habe die U8g2 Lib installiert und das Demoprogramm hochgeladen. Leider bliebt auch hier das Display aus.
Es könnte ja auch defekt sein.
Gruß Tommy
Das war auch einer meiner Gedanken. Mich würde es ja schon freuen, wenn das Display überhaupt anspringt. Das weitere Programmieren könnte ich dann in Ruhe lernen und umsetzen.
Zu beginn hat es funktioniert und hat die Test-Texte angezeigt.
Das kann man aus der Ferne nicht ermitteln.
Aber wenn 2 Beispielcodes nicht funktioonieren, ...
Gruß Tommy
Hi
Das kann auch nur ein lockerer Kontakt sein - ist ja keine Glühlampe, Die bei wiederfinden des Kontakt wieder zum Normalbetrieb über geht.
Wirklich ALLES noch Mal überprüfen - selbst saublöde Dinge dabei nicht auslassen.
Wenn's zum Schluß doch zu blöd war, wäre eine Nennung des Problem trotzdem für die Nachwelt hilfreich.
MfG
Tommy56:
Es könnte ja auch defekt sein.
Dieses speziellen Modul kenne ich nicht, sondern die ESP32s mit OLED (mit/ohne Radio).
Alle wurden mit einem Demo-Programm asugeliefert, das Display fing sofort an.
Hallo,
Ich wollte mich nochmal zurück melden. Ich habe nun ein zweites Display bekommen. Nach dem Anschließen geht das Display an und es erscheinen die Nachrichten wie in meinem Angehängten Code.
Wenn ich diesen Code nun Hochlade, bleibt das Display aus. Ich schließe also einen Defekt beider Boards aus. Irgendetwas scheint mit der Belegung nicht zu stimmen, aber ich komme einfach nicht auf den Fehler.
Sämtliche Demoprogramme die ich im Netz finde lassen sich zwar hochladen, aber das Display bleibt jedoch stumm.
Hat noch jemand eine Idee womit ich zur Lösung komme?
(Board: LILYGO® TTGO ESP8266 0.91 Inch OLED Display Module LILYGO for Arduino - products that work with official Arduino boards Sale - Banggood USA-arrival notice-arrival notice)
LG
#include <Wire.h>
#include "OLED.h"
//TTGO 0.91s OLED connection:
//SDA -- 2
//SCL -- 14
//RST -- 4
#define OLED_SDA 2
#define OLED_SCL 14
#define OLED_RST 4
OLED display(SDA, SCL);
void setup() {
pinMode(2, OUTPUT);
digitalWrite(2, LOW); // turn D2 low to reset OLED
delay(50);
digitalWrite(2, HIGH); // while OLED is running, must set D2 in high
Serial.begin(9600);
Serial.println("OLED test!");
// Initialize display
display.begin();
// Test message
display.print("Hello TTGO");
delay(3*1000);
// Test long message
display.print("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
delay(3*1000);
// Test display clear
display.clear();
delay(3*1000);
// Test message postioning
display.print("TOP-LEFT");
display.print("4th row", 4);
display.print("RIGHT-BOTTOM", 7, 4);
delay(3*1000);
// Test display OFF
display.off();
display.print("3rd row", 3, 8);
delay(3*1000);
// Test display ON
display.on();
delay(3*1000);
}
int r = 0, c = 0;
void loop() {
r = r % 4;
c = micros() % 6;
if (r == 0) display.clear();
display.print("Hello TTGO", r++, c++);
delay(500);
}
Das ist ein gekürzter Link zu Banggood.
Dann stelle den originalen Link rein, den anderen öffne ich nicht.
Gruß Tommy
Hallo,
im Beisüiel für das Display ist als Belegung doch
//SDA -- D4
//SCL -- D5
//RST -- D2
angegeben. D4/D5 wäre auch die defaultbelegung für I2C beim ESP8266 in der ArduinoIDE.
Woher ist die Belegung
//TTGO 0.91s OLED connection:
//SDA -- 2
//SCL -- 14
//RST -- 4
??
Gruß aus Berlin
Michael
Auf den Bildern in der Artikelbeschreibung sind die Pins so belegt. In den Kommentaren wurde geschrieben, dass die angegebene Belegung in dem Beispiel Falsch ist.
Ich habe beides probiert, ohne Erfolg.
Das war zwar damals für einen ESP32 mit OLED aber evtl. hilft es Dir:
#include "WiFi.h"
#include <U8g2lib.h> // https://github.com/olikraus/u8g2
// the OLED used
U8G2_SSD1306_128X64_NONAME_F_SW_I2C tft(U8G2_R0, /* clock=*/ 14, /* data=*/ 2, /* reset=*/ 4);
void setup()
{
Serial.begin(115200);
Serial.println("\n\nStart");
// Set WiFi to station mode and disconnect from an AP if it was previously connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
tft.begin();
tft.clearBuffer(); // clear the internal memory
tft.setFont(u8g2_font_4x6_tf); // choose a suitable font
for(int i=0;i<26;i++) {
tft.drawLine(5*i,0,5*i,10+(i+1)%2*10);
}
tft.drawLine(127,0,127,10);
tft.sendBuffer();
}
void loop()
{
}
Die Pins habe ich schon an das Bild angepasst.
Gruß Tommy