Events

:

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden

    Der Technik-Blog

    Arduino OLED LCD Display with GFX Library

    Arduino 128x32 OLED Display

    Alex @ AEQ-WEB

    Für Mikrocontroller gibt es sehr viele Displays. Neben den Farb-LCD-Displays oder den Matrix Displays werden mittlerweile sehr oft OLED Displays in den Projekten verbaut. Der Vorteil der OLED-Displays liegt darin, dass diese relativ günstig sind. Da jeder einzelne Pixel leuchtet, erzeugen OLED-Displays ein sehr gutes Kontrastverhältnis. Die Displays sind in verschiedenen Farben und Größen erhältlich. Bekannte Größen sind beispielsweiße 128x64 Pixel oder 128x32 Pixel. Zusätzlich sind die Displays auch sehr energiesparend, da nur jeder Pixel, der in Verwendung ist, leuchtet.

    Werbung:

    Das Display mit dem Arduino

    Das Display wird über die I2C Schnittstelle angesteuert. Details zur Adresse gibt es im Datenblatt vom Hersteller. Alternativ kann die I2C Adresse auch mit dem I2C-Scanner ermittelt werden. In unserem Beispiel wird ein 128x32 Pixel OLED-Display verwendet. Die Spannungsversorgung kommt direkt vom Arduino Board und beträgt 5 Volt. Zusätzlich werden noch zwei Bibliotheken benötigt, um das Display ansteuern zu können. Die SSD1306 Library wird für das eigentliche OLED Display benötigt und steuert den Controller am Display an. Die zweite Library (Adafruit GFX) ist die Grafik Library, die z. B. einen String einfach am Display anzeigt und im Hintergrund berechnet, welche Pixel angesteuert werden müssen, um diesen String richtig am Display anzeigen zu können.

    Die Software

    Zuerst müssen beide Bibliotheken in den Librarys-Ordner vom Arduino IDE kopiert worden sein. Unser Beispielcode ist ein sehr einfacher Code, der lediglich drei Zeilen am Display generiert. In der ersten und letzten Zeile wird ein statischer Text angezeigt. In der Mitte läuft ein Counter, der die Laufzeit der Software in Sekunden ausgibt. Das Display wird im Hintergrund ständig aktualisierst. Die SSD1306 Library hat auch einen Beispielcode, der sehr viele Anwendungsmöglichkeiten vom Display vorstellt. Neben der normalen Textanzeige können auch Animationen erstellt werden oder Beispielsweiße eine Laufschrift, Icons (Bitmap), Kurven, Kreise oder verschiedene Schriftarten angezeigt werden.

    Werbung:

    Arduino Code
    #include <SPI.h>
    #include <Wire.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    
    Adafruit_SSD1306 display(4); //OLED_RESET 4
    
    #if (SSD1306_LCDHEIGHT != 32)
    #error("Height incorrect, change Adafruit_SSD1306.h");
    #endif
    
    void setup()   {
      Serial.begin(9600);
      display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  //define I2C Adress
      display.clearDisplay();
    }
    void loop() {
      long runtime = millis() / 1000;
      display.setTextSize(1);
      display.setTextColor(WHITE);
      display.setCursor(25, 0);
      display.println("Hello world!");
      display.setTextColor(WHITE);
      display.setTextSize(2);
      display.println(runtime);
      display.setTextSize(1);
      display.setTextColor(BLACK, WHITE); //Change Background to White
      display.setCursor(20, 25);
      display.println("WWW.AEQ-WEB.COM");
      display.display();
      display.clearDisplay();
    }


    122X122

    Über den Autor

    Alex, der Gründer von AEQ-WEB. Seit über 10 Jahren beschäftigt er sich mit Computern und elektronischen Bauteilen aller Art. Neben den Hardware-Projekten entwickelt er auch Webseiten, Apps und Software für Computer.

    Top Artikel in dieser Kategorie:

    Arduino IRFZ44N PWM MOSFET Load Control

    Arduino MOSFET Steuerung

    • Video
    • DE/EN

    In diesen Artikel zeigen wir wie man große Lasten mittels eines MOSFET-Transistors über das Arduino Board steuert und die Drehzahl von einem Motor regelt

    Weiterlesen
    Arduino LM358 PT1000 Sensor Converter

    Temperatur messen mit PT1000 & Arduino

    • Video
    • DE/EN

    PT1000 Sensoren können nicht direkt analog mit einem Mikrocontroller gemessen werden. Wie baut man einen Messwandler mit dem LM358 für den PT1000 und Arduino?

    Weiterlesen

    Social Media

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden