Klasyczne wyświetlacze ciekłokrystaliczne LCD, po dziś dzień cieszą się gromkim uznaniem wśród konstruktorów i producentów sprzętu elektronicznego. Pomimo to, coraz częściej sięga się po inne, jeszcze bardziej efektywne rozwiązanie, jakim jest wyświetlacz OLED oparty na organicznych diodach elektroluminescencyjnych. Wyświetlacze wykonane w technologii OLED odznaczają się znacznie mniejszą grubością struktury względem wyświetlaczy LCD, a także dają bardziej szczegółowy obraz o zwiększonej ostrości.
Wyświetlanie obrazu na OLEDzie przy użyciu Arduino
Niniejszy artykuł opisuje jak połączyć wyświetlacz Arduino OLED oraz jak zaprogramować płytkę w celu wyświetlania tekstu na wyświetlaczu OLED.
Zestawienie niezbędnych podzespołów
Do wykonania naszej aplikacji będą potrzebne następujące podzespoły:
- Płytka Arduino UNO R3 lub inny kompatybilny odpowiednik
- Przewód USB typu A na USB typu B (standard USB 2.0)
- Wyświetlacz OLED niebieski graficzny 0,96” 128 pix x 64 pix I2C – niebieski
- Przewody połączeniowe do płytek stykowych
Krótka charakterystyka wyświetlacza OLED
Użyty w naszym projekcie wyświetlacz OLED ma rozdzielczość 128 pix x 64 pix i wyświetla znaki w kolorze niebieskim na czarnym tle. Wyświetlacz jest oparty na specjalizowanym układzie sterującym SSD1306. Komunikacja wyświetlacza z osprzętem zewnętrznym jest realizowana przez magistralę I2C.
Jak podłączyć wyświetlacz OLED do Arduino?
Wyświetlacz OLED, z którego będziemy korzystal,i ma cztery wyprowadzenia z polami lutowniczymi dla przewodów połączeniowych. Taki wyświetlacz jest dostępny także w wersji z fabrycznie przylutowanymi przewodami. Sposób podłączenia jego wyprowadzeń do Arduino UNO R3 jest następujący:
- “GND” (masa zasilania) -> “GND” (sekcja “POWER” w Arduino)
- “VCC” (napięcie zasilania +5V) -> “5V” (sekcja “POWER” w Arduino)
- “SDA” (linia danych magistrali I2C) -> “A4” (sekcja “ANALOG IN” w Arduino)
- “SCL” (linia zegara magistrali I2C) -> “A5” (sekcja “ANALOG IN” w Arduino)
Kod programu
Poniższy kod programu umożliwia wyświetlanie tekstu na wyświetlaczu OLED wraz z ustawieniem parametrów graficznych tekstu. Aby poniższy kod prawidłowo zadziałał, konieczna jest inicjalizacja bibliotek do obsługi wyświetlacza OLED.
// inicjalizacja bibliotek do obslugi wyswietlacza OLED
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// wprowadzenie wymiarow wyswietlacza OLED w pikselach
#define SCREEN_WIDTH 128 // szerokosc wyswietlacza OLED w pikselach
#define SCREEN_HEIGHT 64 // wysokosc wyswietlacza OLED w pikselach
// deklaracja obiektu – wyswietlacza OLED podlaczonego pod magistrale I2C
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(9600); // uruchomienie transmisji szeregowej po I2C; adres fizyczny wyswietlacza: 0x3c
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F(„SSD1306 allocation failed”));
while (true);
}
delay(2500); // opoznienie na czas 2.5s – trwa inicjalizacja wyswietlacza
oled.clearDisplay(); // zerowanie zawartosci wyswietlanego obrazu
oled.setTextSize(1); // ustawienie rozmiaru czcionki tekstu
oled.setTextColor(WHITE); // kolor czcionki
oled.setCursor(0, 0); // poczatkowa pozycja kursora na wyswietlaczu w gornym lewym rogu
oled.println(„TEXT”); // tekst wyswietlany na wyswietlaczu: TEXT
oled.display(); // wyswietlanie wprowadzonej zawartosci na wyswietlaczu
}
void loop() {
}