meta data for this page
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
uebung:itt11:oled-display [2023/01/13 14:57] – angelegt juergenhaas | uebung:itt11:oled-display [2023/01/21 15:39] (aktuell) – juergenhaas | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
[[uebung: | [[uebung: | ||
+ | [[https:// | ||
- | < | + | < |
+ | /* | ||
+ | * Beispiel für die Verwendung eines 128x64 Pixel OLED-Displays via I2C-Schnittstelle | ||
+ | * | ||
+ | * Verdrahtung: | ||
+ | * ============ | ||
+ | * Display | NodeMCU | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * Dieses Beispiel zeigt einen statischen Begrüßungsbildschirm mit verschiedenen Textelementen und Linien. | ||
+ | * Danach verändern sich einige Elemente um periodisch auf und ab zu zählen. | ||
+ | * | ||
+ | * siehe auch: https:// | ||
+ | */ | ||
+ | |||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | #define SDA_PIN D2 // SDA an D2 | ||
+ | #define SCL_PIN D1 // SCL an D1 | ||
+ | |||
+ | #define D1 5 // GPIO 5 des ESP ist D1 auf dem Board | ||
+ | #define D2 4 // GPIO 4 des ESP ist D2 auf dem Board | ||
+ | |||
+ | const int DISPLAY_ADDR = 0x3c; // I2C-Addresse des Displays | ||
+ | |||
+ | SSD1306Wire * display; | ||
+ | |||
+ | int current = 21; // aktuelle Zahl | ||
+ | int updown = 1; // Richtung | ||
+ | |||
+ | /** | ||
+ | * setup | ||
+ | */ | ||
+ | void setup() { | ||
+ | // Serial | ||
+ | Serial.begin(115200); | ||
+ | Serial.println(); | ||
+ | delay(100); | ||
+ | |||
+ | // Display initialisieren | ||
+ | display = new SSD1306Wire(DISPLAY_ADDR, | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | |||
+ | // Startbildschirm aufbauen | ||
+ | display-> | ||
+ | display-> | ||
+ | |||
+ | display-> | ||
+ | display-> | ||
+ | |||
+ | display-> | ||
+ | display-> | ||
+ | |||
+ | display-> | ||
+ | display-> | ||
+ | |||
+ | // Linien | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | |||
+ | // Anzeige aktualisieren | ||
+ | display-> | ||
+ | |||
+ | delay(5000); | ||
+ | } | ||
+ | |||
+ | |||
+ | /** | ||
+ | * loop | ||
+ | */ | ||
+ | void loop() { | ||
+ | // gemeinsame Elemente der veränderlichen Anzeige | ||
+ | display-> | ||
+ | |||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | |||
+ | // Ausgabe für Zählvorgang aufwärts | ||
+ | if (current < 28 && updown == 1) // aufwärts zählen | ||
+ | { | ||
+ | current++; | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | } | ||
+ | else if (current >= 28) // oben angekommen | ||
+ | { | ||
+ | updown = 0; | ||
+ | } | ||
+ | |||
+ | // Ausgabe für Zählvorgang abwärts | ||
+ | if (current > 11 && updown == 0) // abwärts zählen | ||
+ | { | ||
+ | current--; | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | display-> | ||
+ | } | ||
+ | |||
+ | if (current <= 11) // unten angekommen | ||
+ | { | ||
+ | updown = 1; | ||
+ | } | ||
+ | |||
+ | // Anzeige aktualisieren | ||
+ | display-> | ||
+ | |||
+ | delay(500); | ||
+ | } | ||
</ | </ | ||
[[uebung: | [[uebung: |