|
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:
|