
⇒Anschluss eines OLED an verschiedene Mikrocontroller
Die Bibliothek SSD1306Ascii kann nur Text in verschiedenen Schriftarten darstellen.
Benötigte Bibliothek:

Funktionen der Bibliothek SSD1306Ascii
Schlüsselwort | Parameter | Aktion |
---|---|---|
begin(Bildschirmgröße, I2C-Adresse); | begin(&Adafruit128x64, I2C_ADDRESS); | OLED starten |
clear(); | Bildschirm löschen | |
displayRemap(true/false); | true = um 180° drehen false = nicht drehen | Bildschirm drehen |
setFont(Schriftart); | Beispiele: Arial14 Callibri11 Callibri11_bold Callibri15 System5x7 TimesNewRoman13 TimesNewRoman16 utf8font10x16 X11fixed7x14 | Schriftart festlegen |
invertDisplay(true/false); | true = schwarz auf weiß false = weiß auf schwarz | Bildschirmfarben tauschen |
setLetterSpacing(Wert); | Abstand der Buchstaben | |
setCursor(Spalte, Zeile); | Cursor setzen | |
print("Text"); println("Text"); | print = Text ohne Zeilenvorschub println = Text mit Zeilenvorschub | Text anzeigen |
setScrollMode(SCROLL_MODE_AUTO); | Bildschirm nach unten scrollen |
Quelle: 🔗https://github.com/greiman/SSD1306Ascii (abgerufen am 10.11.24)
So sieht es aus:
// benötigte Bibliotheken einbinden
#include "SSD1306Ascii.h"
#include "SSD1306AsciiWire.h"
// Adresse I2C
#define I2C_ADDRESS 0x3C
// Name des OLED festlegen
SSD1306AsciiWire oled;
void setup()
{
// OLED starten
Wire.begin();
Wire.setClock(400000L);
oled.begin(&Adafruit128x64, I2C_ADDRESS);
oled.setFont(TimesNewRoman16);
// Scrollen einschalten
oled.println("Einmaleins der 10");
delay(1000);
oled.clear();
// Scrollen einschalten
oled.setScrollMode(SCROLL_MODE_AUTO);
for (int i = 1; i <= 10; i++)
{
oled.println(String(i) + " * 10 = " + String(i * 10));
/*
nach jeweils 3 Zeilen, wenn i geteilt durch 3
ohne Rest aufgeht (i % 3 == 0) -> Bildschirm löschen
*/
if (i % 3 == 0)
{
delay(1000);
oled.clear();
}
delay(500);
}
delay(2000);
oled.clear();
// Scrollen ausschalten
oled.setScrollMode(SCROLL_MODE_OFF);
// Beispiele für Schriftarten
oled.setFont(X11fixed7x14);
oled.println("X11fixed7x14");
oled.setFont(utf8font10x16);
oled.println("utf8font10x16");
oled.setFont(Callibri11);
oled.println("Callibri11");
oled.setFont(Arial14);
oled.println("Arial14");
delay(2000);
oled.clear();
// Bildschirm um 180° drehen
oled.setFont(Callibri11);
oled.displayRemap(true);
oled.print("Bildschirm gedreht");
delay(2000);
oled.clear();
// Cursor setzen
oled.displayRemap(false);
oled.setCursor(20, 5);
oled.print("Spalte 20, Zeile 5");
delay(2000);
oled.clear();
// Bildschirmfarben tauschen
oled.invertDisplay(true);
oled.setFont(Arial14);
oled.print("Farben getauscht");
delay(2000);
oled.clear();
// Abstand der Buchstaben
oled.invertDisplay(false);
oled.setFont(TimesNewRoman13);
oled.setLetterSpacing(2);
oled.print("Abstand Buchstaben");
}
void loop()
{
// nichts zu tun, Programm läuft nur einmal
}
Letzte Aktualisierung: