Änderungen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche

LoRaWAN

363 Byte hinzugefügt, 21:04, 28. Jan. 2018
/* Heltec Wifi LoRa 32 - ESP32 mit OLED und LoRa */
==== Display ====
Verbaut ist ein OLED Display vom Typ SSD1306, es ist ein 128x64 Monochrom Display. Es ist NICHT an den Standard-I2C-Leitungen angeschlossen und braucht ein Reset-Signal. Bei manchen Bibliotheken sind daher kleine Modifikationen nötig, um das Display zu benutzen.  In Verbindung mit dem ESP32 gibt es hierzu mehrere Bibliotheken um es zu nutzen:
* [https://github.com/olikraus/u8g2 U8x8 und U8g2] - Nur für Monochrome Displays, optimiert auf geringen Ressourcenverbrauch
** U8x8: Minimalistische Version ohne Display-Puffer im uC, nur Textausgabe mit einem 8x8 Monospace Font
* [https://github.com/adafruit/Adafruit_SSD1306 Adafruit SSD1306] hat viele Funktionen und wird zusammen mit Adafruit_GFX auch für farbige Displays benutzt.
** Wichtig: Ich musste die Library auf der Platte patchen - konkret musste ich in Adafruit_SSD1306.cpp die Zeile auskommentieren, wo nochmal Wire.begin(); (Zeile 206) aufgerufen wurde. Um dann das Beispielprogram 'ssd1306_128x64_i2c' nutzen zu können, hab ich noch mit <pre>#define OLED_RESET 16</pre> die Display-Reset-Leitung angepasst und die Zeile mit dem display.begin(...) wie folgt erweitert: <pre>Wire.begin(4,15); display.begin(SSD1306_SWITCHCAPVCC, 0x3c);</pre>.
 
* [https://github.com/acrobotic/Ai_Ardulib_SSD1306]
** Hier muss in den Beispielen die Zeile wo sonst nur Wire.begin(); steht um folgendes erweitert werden: <pre> pinMode(16,OUTPUT);
digitalWrite(16, LOW); // set GPIO16 low to reset OLED
delay(50);
digitalWrite(16, HIGH); // while OLED is running, must set GPIO16 to high
Wire.begin(4,15);</pre>
Anschlussbelegung:
1.955
Bearbeitungen