[PRZYKŁAD] Wyświetlacz OLED oraz KAmduino UNO
Teraz można przystąpić do napisania prostego programu, którego zadaniem będzie wyświetlanie na ekranie OLED wartości zmiennych (pełen kod znajduje się w sekcji „do pobrania” na końcu artykułu). Na początku programu załączane są odpowiednie biblioteki oraz definiowane są stałe informujące do których pinów został podłączony wyświetlacz:
//[PRZYKŁAD] Wyświetlacz OLED oraz Arduino // Autor: Patryk Mądry // Mikrokontroler.pl #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> // If using software SPI (the default case): #define OLED_MOSI 9 #define OLED_CLK 10 #define OLED_DC 11 #define OLED_CS 12 #define OLED_RESET 13 Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS); #define LOGO16_GLCD_HEIGHT 16 #define LOGO16_GLCD_WIDTH 16 #if (SSD1306_LCDHEIGHT != 64) #error("Height incorrect, please fix Adafruit_SSD1306.h!"); #endif
Teraz opiszę niektóre funkcje potrzebne do wyświetlania tekstu:
- display.setTextSize(1); – funkcja określająca wielkość tekstu (tutaj wielkość 1)
- display.setTextColor(WHITE); – ustawienie koloru napisu i tła
- display.setCursor(0,0); – ustawienie kursora w pozycji 0,0
- display.print(„TEST”); – wyświetlenie tekstu
- display.println(„TEST2”); – wyświetlenie tekstu i przejście do nowej linii.
- display.display(); – uruchomienie wyświetlania,
- display.clearDisplay(); – czyszczenie wyświetlacza
Aby wyświetlić wartość pochodzącą z potencjometru podłączonego do portu A0, należy zadeklarować zmienną z wynikiem pomiaru np. analog_A0, następnie do tej zmiennej przypisać wartość zmierzoną na wejściu analogowym. Kolejnym krokiem jest deklaracja zmiennej typu tekstowego String tekst_OLED, która będzie zawierała komunikat do wyświetlenia. Do tej zmiennej trzeba przypisać wartość zmiennej Analog_A0 pamiętając o konwersji na string. W ostatnim kroku należy ustawić parametry do wyświetlenia oraz wyświetlić napis „ANALOG A0”, a pod nim wynik pomiaru.
void loop() { int analog_A0 = 0; analog_A0 = analogRead(A0); String tekst_OLED; tekst_OLED=String(analog_A0); display.setTextSize(2); display.setTextColor(BLACK, WHITE) display.setCursor(0,0); display.println("ANALOG A0"); display.setTextSize(2); display.setTextColor(WHITE); display.println(tekst_OLED); display.display(); display.clearDisplay(); }
Działanie programu zostało pokaźne na poniższym filmie: