Ta lekcja obejmuje następujące tematy:
1: Wprowadzenie do wyświetlacza OLED ESP32
Wyświetlacz OLED I2C jest rodzajem organicznego wyświetlacza diody emitujących światło (OLED), który do komunikacji korzysta z protokołu obwodu międzyintegrowanego (I2C). Wyświetlacze OLED są znane z wysokiego współczynnika kontrastu, szerokiego kąta oglądania i szybkiego czasu reakcji, dzięki czemu są dobrze odpowiednie do różnych aplikacji wyświetlaczy.
Wyświetlacz OLED I2C zazwyczaj składa się z małego ekranu OLED i obwodu sterownika, który przekształca sygnały I2C w odpowiednie napięcia i prądy potrzebne do prowadzenia pikseli OLED.
LED wewnątrz ekranu OLED oświetlają piksele, które wyświetlają nam różne obrazy i tekst. Podczas gdy z drugiej strony ekran LCD używa podświetlenia do oświetlania pikseli. Jasność tych pikseli można kontrolować piksel przez piksel.
Teraz będziemy interfejs esp32 z wyświetlaczem OLED.
2: Moduł wyświetlacza OLED do okablowania do ESP32
Ekrany OLED działają głównie nad dwoma protokołami komunikacji. To są I2C i SPI. Spośród tych dwóch SPI (szeregowy interfejs peryferyjny) jest szybszy w porównaniu do I2C, ale przez większość czasu wyświetlacz OLED I2C jest preferowany z powodu mniejszej liczby przewodów.
I2C to dwuosobowy protokół komunikacji szeregowej, który umożliwia wielu urządzeniom udostępnianie pojedynczego zestawu danych i linii zegarowych, co czyni go wygodnym wyborem do podłączania wyświetlaczy OLED z mikrokontrolerami i innymi urządzeniami
Za pomocą I2C OLED dwa piny SDA i SCL wystarczą do wyświetlania obrazów i tekstu. Podany obraz pokazuje ESP32 z 0.96-calowy (128 × 64 pikseli) ekran OLED.
ESP32 Pins Połączenie z OLED jest następujące:
Ponieważ połączyliśmy ESP32 z wyświetlaczem OLED, teraz zainstalujemy niezbędne biblioteki w Arduino IDE, abyśmy mogli iść do przodu z kształtami wyświetlającymi na ekranie OLED.
3: Instalowanie wymaganych bibliotek
Aby wyświetlać obrazy, musimy zainstalować niezbędne biblioteki do wyświetlacza OLED w Arduino IDE. Bez korzystania z tych bibliotek ESP32 nie może wyświetlać grafiki na OLED.
Używane są głównie dwie biblioteki z Adafruit: SSD1306 I Biblioteka GFX. Najpierw otwórz Arduino IDE i przeszukaj bibliotekę SSD1306. Zainstaluj bibliotekę OLED SSD1306 według Adafruit. Innym sposobem instalacji jest: Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami:
Teraz zainstaluj GFX Biblioteka przez Adafruit:
Teraz zainstalowaliśmy obie biblioteki. Teraz możemy łatwo zaprogramować ESP32 z wyświetlaczem OLED.
4: rysowanie paska postępu na wyświetlaczu OLED za pomocą Arduino IDE
Aby narysować pasek postępu na ekranie OLED, będziemy używać wyświetlacz.RayProgressbar (20, 20, 100, 20, postęp); funkcjonować.
Ta funkcja przyjmuje 5 argumentów:
Po zdefiniowaniu wszystkich tych 5 parametrów prześlij kod na płytę ESP32.
1: Kod
Otwórz Arduino IDE, podłącz ESP32 i prześlij kod:
Kod rozpoczął się od włączenia niezbędnych plików bibliotecznych SSD1306. Następnie zdefiniowaliśmy adres I2C i piny I2C do komunikacji.
Pamiętaj, aby najpierw sprawdzić adres I2C przed zdefiniowaniem. Aby sprawdzić adres I2C dowolnego urządzenia Prześlij kod podany w samouczku, jak skanować adres I2C w ESP32 za pomocą Arduino IDE.
Jeśli używasz więcej niż jednego urządzenia I2C z tym samym adresem, musisz najpierw zmienić adres dowolnego z nich.
Następnie w kodzie zainicjowaliśmy wyświetlacz OLED i zdefiniowaliśmy formułę postępu.
Formuła postępu obliczy postęp i wartość sklepu w postępach zmiennych globalnych. Po prostu sumujemy 10 do bieżącej wartości postępu i otrzymujemy resztę, dzieląc ją z 110 za pomocą operatora modułu. Po zakończeniu paska postępu będziemy mieli 110%110, co daje nam 0. To automatycznie uruchomi pasek ponownie od zera.
Następny Stalprogressbar jest wywoływane, a ta funkcja wyświetli pasek postępu zgodnie z bieżącą wartością zmiennego postępu. Ta funkcja przyjmie 5 argumentów, jak wyjaśniono wcześniej.
#include "SSD1306.H"
SSD1306 Wyświetlacz (0x3c, 21, 22);
int postęp = 0;
void setup ()
wyświetlacz.w tym();
void Loop ()
wyświetlacz.jasne();
postęp = (postęp + 10) % 110;
wyświetlacz.RayProgressbar (20, 20, 100, 20, postęp);
wyświetlacz.wyświetlacz();
opóźnienie (1000);
2: Wyjście
Po przesłaniu kodu w ESP32 poniżej wyjścia pojawi się na ekranie OLED. To wyjście pokazuje, że pasek postępu wynosi 10%, co jest początkową pozycją ustaloną:
Teraz pasek postępu wynosi 100%, co oznacza, że określone zadanie jest zakończone:
Oto etapy wyjściowe między 0% a 100%. Ustawiliśmy przedział postępu na 10:
Wniosek
Prace postępu to świetny sposób na wyświetlanie postępów w czasie rzeczywistym projektu. Korzystając z wyświetlaczy OLED z ESP32, możemy wziąć dane w czasie rzeczywistym i wyświetlać je na ekranie. Korzystanie z kodu podanego dowolnego danych może być reprezentowane w postaci paska postępu.