Hallo Welt - ESP8266-OLED



Bevor Du dieses Experiment durchführen kannst, musst Du erst die Arduino-IDE für Dein ESP8266-Mikrocontrollerboard bereitmachen, wie in diesem Experiment beschrieben.



Mit einen sogenannten "Hello-World-Programm" bezeichnet man häufig den ersten Test von Programmiersprachen oder programmierbaren Geräten. In unserem Fall soll "Hello World!" auf dem OLED-Display ausgegeben werden.





Dies kann mit der hier benutzten Bibliothek grundsätzlich auf zweierlei Art und Weise geschehen:

    - zwischen clearBuffer() und sendBuffer(), wie in Quelltext 1

oder:

    - zwischen firstPage() und nextPage(), wie in Quelltext 2



Quelltext 1:

// Dieses Programm benutzt die Bibliothek "u8g2" von oli kraus.
// Siehe dazu: https://github.com/olikraus/u8g2/wiki
// Referenz (mögliche Befehle): https://github.com/olikraus/u8g2/wiki/u8g2reference

// Bibliothek:
#include <U8g2lib.h>

// Instanziierung:
U8G2_SSD1306_128X32_UNIVISION_F_SW_I2C u8g2(U8G2_R0, 5, 4, 16);


void setup(void) {
  
  u8g2.begin();
  
  u8g2.setFont(u8g2_font_ncenB14_tr);      // mittelgroße Schrift
  //u8g2.setFont(u8g2_font_mozart_nbp_tf); // sehr kleine Schrift

  u8g2.clearBuffer();

  u8g2.drawStr(12, 25, "Hallo Welt!");

  u8g2.sendBuffer();

}


void loop(void) {
   // nix drin hier derzeit
}	



Quelltext 2:

Der Vorteil von Quelltext 2 liegt im kleineren Verbrauch von RAM-Speicher.

Es gibt einige Einschränkungen: während die Loop ausgeführt wird, sollten keine Änderungen durchgeführt werden. Es muss immer das komplette "Bild" ausgegeben werden. Es ist nicht möglich, nur einzelne Bildelemente auszugeben.

// Dieses Programm benutzt die Bibliothek "u8g2" von oli kraus.
// Siehe dazu: https://github.com/olikraus/u8g2/wiki
// Referenz (mögliche Befehle): https://github.com/olikraus/u8g2/wiki/u8g2reference

// Bibliothek:
#include <U8g2lib.h>

// Instanziierung:
U8G2_SSD1306_128X32_UNIVISION_F_SW_I2C u8g2(U8G2_R0, 5, 4, 16);


void setup(void) {
  u8g2.begin();
  u8g2.setFont(u8g2_font_ncenB14_tr);
}


void loop(void) {
  
  u8g2.firstPage();
  
  do {
    u8g2.drawStr(7, 25, "Hello World!");
  } while ( u8g2.nextPage() );
  
  delay(1000);
}
	



Programm in das Board übertragen:

1. In der Arduino-IDE wählen wir unter Menü Werkzeuge ==> Board ==> NodeMCU 1.0 (ESP-12E Module)

2. Wählen des zur Übertragung zu benutzenden USB-Ports: Menü Werkzeuge ==> Port ==> [Dein Port]

3. Übertragung des Programmes mit der bekannten Schaltfläche der Arduino-IDE



Ergebnis: