User Tools

Site Tools


ssd1306

Arduino - OLED-Display mit I2C-Interface

Ein sehr günstiges OLED-Display mit I2C-Interface gibt es bei <a href=“https://www.ebay.de/itm/Blue-White-IIC-0-91-128x32-OLED-LCD-Display-3-3v-5v-f%C3%BCr-AVR-PIC-Arduino-Uno-R3/272476018178?ssPageName=STRK%3AMEBIDX%3AIT&var=571510694353&_trksid=p2057872.m2749.l2649” title=“Ebay OLED-Display”>Ebay</a> für ca. 2€ .

Der Anschluss ist mit GND, 3.3V, SCL und SDA simpel. Mein Display hatte die Adresse 60 (0x3C), diese muss ggf. mit einem Arduinoprogramm ermittel werden (I2Cscan). Es werden 2 Bibliotheken von Adafruit benötigt:

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
 
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
 
void setup()   {
  Serial.begin(9600);
 
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with I2C-addr 0x3C
 
  // Clear the buffer.
  display.clearDisplay();
 
  // draw the first ~12 characters in the font
  testdrawchar();
  display.display();
  delay(2000);
  display.clearDisplay();
}
void test() {
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("Hello, world!");
  display.setTextColor(BLACK, WHITE); // 'inverted' text
  display.println("Hello, world!");
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.println("Hello, World!");
  display.display();
}
 
void loop() {
  test()
  delay(2000);
  display.clearDisplay();
}
ssd1306.txt · Last modified: 2024/03/11 13:19 by walter