/*
Hier ist ein Sketch, der folgendes bewirkt:
- einfachen Text anzeigen
- invertierten Text anzeigen
- Zahlen anzeigen
- Zahlen mit Basis anzeigen (Hex, Dez)
- ASCII-Symbole anzeigen
- Text horizontal und vertikal scrollen
-Teil der Anzeige scrollen
*/
//#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED Breite in Pixel
#define SCREEN_HEIGHT 64 // OLED Höhe in Pixel
#define OLED_RESET -1
#define SCREEN_ADDRESS 0x3C //I2C-Adresse
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
Serial.begin(9600);
Wire.begin(21,20);
// initialize the OLED object
if(!oled.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println(F("SSD1306 - Adresszuweisung fehlgeschlagen!"));
for(;;); // Endlosschleife, wenn keine Verbindung zum Display
}
// Clear the buffer.
oled.clearDisplay();
// Display Text
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0,28);
oled.println("Hallo Welt!");
oled.display();
delay(2000);
oled.clearDisplay();
// Text anzeigen
oled.setTextColor(BLACK, WHITE); // schwarz auf weiß
oled.setCursor(0,28);
oled.println("Hallo Welt!");
oled.display();
delay(2000);
oled.clearDisplay();
// Schriftgröße ändern
oled.setTextColor(WHITE);
oled.setCursor(0,24);
oled.setTextSize(2);
oled.println("Hallo!");
oled.display();
delay(2000);
oled.clearDisplay();
// Zahlen anzeigen
oled.setTextSize(1);
oled.setCursor(0,28);
oled.println(123456789);
oled.display();
delay(2000);
oled.clearDisplay();
// andere ZAhlenformate anzeigen
oled.setCursor(0,28);
oled.print("0x"); oled.print(0xFF, HEX);
oled.print("(HEX) = ");
oled.print(0xFF, DEC);
oled.println("(DEC)");
oled.display();
delay(2000);
oled.clearDisplay();
// Zeichen aus der ASCII-Tabelle anzeigen
oled.setCursor(64,24);
oled.setTextSize(2);
oled.write(137);
oled.display();
delay(2000);
oled.clearDisplay();
// kompletten Bildschirminhalt scrollen
oled.setCursor(0,0);
oled.setTextSize(1);
oled.println("Full");
oled.println("screen");
oled.println("scrolling!");
oled.display();
oled.startscrollright(0x00, 0x07);
delay(2000);
oled.stopscroll();
delay(1000);
oled.startscrollleft(0x00, 0x07);
delay(2000);
oled.stopscroll();
delay(1000);
oled.startscrolldiagright(0x00, 0x07);
delay(2000);
oled.startscrolldiagleft(0x00, 0x07);
delay(2000);
oled.stopscroll();
oled.clearDisplay();
// nur eine Zeile scrollen
oled.setCursor(0,0);
oled.setTextSize(1);
oled.println("Scroll");
oled.println("some part");
oled.println("of the screen.");
oled.display();
oled.startscrollright(0x01, 0x01); // nur Zeile 2 scrollen
}
void loop() {
// kann leer bleiben
}