OLED SSD1306
Ein OLED Display des Typs "SSD1306" kann an das arduclock Board angeschlossen bzw. angelötet werden. Hierfür muss die Firmware ggf. modifiziert werden. Um ein OLED Display hinzuzufügen, musst du die Zeile 206 (Zeile 325 in der Qlockwork mp3 Version) in der "Configuration.h" auskommentieren. Das OLED Display ist möglicherweise in der arduclock Firmware nicht voraktiviert. Es lassen sich in den Zeilen 208-221 (bzw. Zeile 327-340) einige Einstellungen vornehmen.
Hinweis: Das OLED Display wird von Firmware "plus" unterstützt.
Ein sehr kleines OLED Display, welches sich durch I2C mit dem arduclock Board verbinden läßt. Bei einer Auflösung von 128 x 64 Pixel zeigt es zusätzliche Informationen sehr scharf dar. So kann z.B. das Datum, die WLAN Signalstärke, die Raumtemperatur, das Wetter, die Uhrzeit (in Worten), Alarme oder die Uptime angezeigt werden. Die Textfarbe des OLED Displays ist weiss. Es gibt aber auch Displays mit einer blauen Darstellung.
Technische Daten:
Schnittstelle: I2C Bus Auflösung: 128 x 64 Pixel Textfarbe: weiss/blau Bildschirmdiagonale: 0,96 Zoll / ca. 2,44 cm
Wichtig: Damit das Display funktioniert und erkannt wird, benötigst du die aktuellste arduclock OLED Firmware und zwingend diese angepasste Bibliothek:
Entpacke diese Datei und kopiere den Ordner dorthin, wo auch deine anderen Bibiliotheken abgelegt sind. Sollten beim Entpacken Dateien vorhanden sein die mit "._" beginnen, können diese gelöscht werden. Es handelt sich um Schattendateien bzw. um Indizierungsdateien die MacOS erstellt hat. |
Jetzt zeigt deine Uhr über ein kleines Display zusätzliche Informationen dynamisch an. Eine kleine Auswahl der Betriebsmodi zeigt dir das folgende Bild. Individuell Anpassbar durch vier verschiedene Schriftgrößen. Auch Logos können integriert werden. Die letzte Anzeige wird im RAM gespeichert. So dass nach jedem Reboot der Uhr zur letzten Anzeige gewechselt wird. In der Funktion drawClock()
können die Anzeigemodi bearbeitet werden.
Folgende Schriften stehen zur Verfügung:
display.setFont(ArialMT_Plain_10); display.setFont(ArialMT_Plain_16); display.setFont(ArialMT_Plain_24); display.setFont(DejaVu_Sans_Mono_12);
Logos bzw. Bilder werden als xbm in der image.h
Datei abgelegt. Drei Beispiele sind bereits integriert. Wie du deine eigenen Logos und Bilder speichern kannst, steht in diesem Link beschrieben:
http://blog.squix.org/2015/05/esp8266-nodemcu-how-to-create-xbm.html
Hier geht es zum Bild-Converter: https://www.online-utility.org/image_converter.jsp
(Select other output format xbm...)
Hinweis: Ich weiß nicht, ob sich Standbilder (Bilder/Logos) in das Display einbrennen. Bisher fehlt mir noch die Langzeiterfahrung. Aber so ein Display kostet wenige Euro und ist schnell ersetzt.
EDIT: Bisher kein Einbrennen festgestellt.
Configuration.h
Zeile 206/325
#define USE_DISPLAY
// Aktiviert das Display
Zeile 208/327
#define FLIP_DISPLAY true
// Die Anzeige wird gedreht
Zeile 209/328
#define INVERT_DISPLAY false
// true invertiert die Anzeige
Zeile 210/329
#define KONTRAST 255
// Einstellung des Kontrast/Helligkeit 0-255
Zeile 211/330
#define I2C_ADDR 0x3C
// Hardware Adresse Standard
Zeile 212/331
#define USE_LDR true
// Steuerung über LDR
Zeile 213/332
#define DISPLAY_BUTTON
// Aktiviert einen mechanischen Schalter
Zeile 214/333
#define PIN_DISPLAY_BUTTON 00
// Falls ein freier PIN zur Verfügung steht
Hinweis: Ein Button für das Display muss nicht vorhanden sein. Gesteuert wird vorzugsweise über die Weboberfläche (siehe Bild: Web Oberfläche). Zusätzlich kann in der Configuration.h Datei die Display Anzeige konfiguriert werden:
Zeile 217/336
#define BME_DISPLAY(DHT_DISPLAY)
// Innentemperatur + Luftfeuchtigkeit
Zeile 218/337
#define WEATHER_DISPLAY
// Außentemperatur + Luftfeuchtigkeit + Wetter
Zeile 219/338
#define RSSI_DISPLAY
// Signalstärke
Zeile 220/339
#define DATE_DISPLAY
// Datum
Zeile 221/340
#define UPTIME_DISPLAY
// Uptime
Weitere Anzeigemodi
Zeile 224/343
#define COINBASE
// BITCOIN Ticker "api.coindesk.com"
Zeile 226/345
#define DAYCOUNTER
// Tageszähler
#define DATE_UTC 1514674800
// Ein beliebiges Datum in UNIX Time eingeben.
Zeile 350
#define PARTICLE
// Unterstützung für PM2,5 Sensor
Durch die Aktivierung des Displays in der Configuration.h Datei mit #define USE_DISPLAY
ändert sich das Aussehen des "Time Buttons" in der Weboberfläche. Hiermit kann man durch das OLED Display schalten. Ausschalten lässt sich das Display zusammen mit den LEDs über die "Night off/Day on" Funktion oder über den Button zum Ein- Ausschalten der LEDs.
Der Anschluß des Displays erfolgt über vier Kabel. Die PINs werden an die Pads am arduclock Board angelötet. Tipp: Du kannst die PIN Pads auch auf der Rückseite des arduclock Boards verwenden. Nur das jüngste arduclock Board (Rev. R) besitzt Pads für den I2C Anschluß (SDA/SCL). Hier kannst du dir die Pinbelegung anschauen PCB Board. |
Hier gehts zu den technischen Angaben zum SSD1306 Display: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf