Biblio­thek SSD1306Ascii

Lese­zeit: 2 Minu­ten

Die Biblio­thek SSD1306Ascii kann nur Text in ver­schie­de­nen Schrif­ten darstellen.

Pin­be­le­gung eines OLED-Dis­plays am Arduino

Benö­tig­te Bibliothek:

Funk­tio­nen der Biblio­thek SSD1306Ascii

Schlüs­sel­wortPara­me­terAkti­on
begin(Bildschirmgröße, I2C-Adres­se);begin(&Adafruit128x64, I2C_ADDRESS);OLED star­ten
clear();Bild­schirm löschen
displayRemap(true/false);true = um 180° drehen
fal­se = nicht drehen
Bild­schirm drehen
setFont(Schriftart);Bei­spie­le:
Arial14
Callibri11
Callibri11_bold
Callibri15
System5x7
TimesNewRoman13
TimesNewRoman16
utf8font10x16
X11fixed7x14
Schrift­art festlegen
invertDisplay(true/false);true = schwarz auf weiß
fal­se = weiß auf schwarz
Bild­schirm­far­ben tauschen
setLetterSpacing(Wert);Abstand der Buchstaben
setCursor(Spalte, Zei­le);Cur­sor setzen
print("Text");
printn("Text");
print = Text ohne Zeilenvorschub
println = Text mit Zeilenvorschub
Text anzei­gen
setScrollMode(SCROLL_MODE_AUTO);Bild­schirm nach unten scrollen

Quel­le:  🔗https://​git​hub​.com/​g​r​e​i​m​a​n​/​S​S​D​1​3​0​6​A​s​cii

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: 10. Jul 2023 @ 11:49