Information ist wichtig. Und irgendwie will die auch ausgegeben werden.
In diesem Beitrag zeige ich, wie das mit einem 128×64 OLED an einem Arduino micro ganz einfach geht…
Der Aufbau ist sehr übersichtlich:
Hinweis zur Verkabelung: Beim micro findet sich der i²c-Bus an den Pins D2 und D3.
Bei größeren Boards wird A4 und A5 verwendet. Diese Ports finden sich auch in den meisten Anleitungen.
Zum Sourcecode:
Benötigt werden folgende Bibliotheken:
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h> (download von github)
#include <Adafruit_SSD1306.h> (download von github)
Wichtig:
Im File Adafruit_SSD1306.h (zu finden unter …\Documents\Arduino\libraries\Adafruit_SSD1306-master) muss folgende Anpassung durchgeführt werden:
Hier muss die Zeile mit dem 128_32 auskommentiert werden und die Kommentarzeichen beim 128_64er entfernt werden. Sollte dann so aussehen:
#define SSD1306_128_64
// #define SSD1306_128_32
// #define SSD1306_96_16
Und hier nun der Sketch um das Display zu testen:
#include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 // not used but necessary Adafruit_SSD1306 display(OLED_RESET); void setup() { // initialize with the I2C addr 0x3C // in most samples this is different and !true display.begin(SSD1306_SWITCHCAPVCC, 0x3C); } #define DRAW_DELAY 118 #define D_NUM 47 void loop() { // clear the display display.clearDisplay(); // set text color display.setTextColor(WHITE); // set text size display.setTextSize(1); // set text cursor position display.setCursor(1,0); // show text display.println("oled - test"); display.setCursor(1,56); display.println("0x4d7342.de"); display.setTextSize(2); display.setCursor(34,15); display.println("see more stuff"); display.setCursor(30,34); display.println("in my blog"); // put it to the display and show it display.display(); delay(8000); }
Alle Befehle und Möglichkeiten sind unter https://learn.adafruit.com/adafruit-gfx-graphics-library/overview verfügbar…
Mögliche Einsatzgebiete:
- Statusanzeige an Steckdosen
- Temperatur und Luftfeuchtigkeit anzeigen
- Generell: Infos anzeigen
- Bei mir in Planung: Fernbedienung für VLC-StreamingServer
- be creative!