Rysowanie paska postępu na OLED z esptop 10 za pomocą Arduino IDE

Rysowanie paska postępu na OLED z esptop 10 za pomocą Arduino IDE
ESP32 to oparta na IoT zasilająca płyta mikrokontrolera. ESP32 ma wszystkie te funkcje, których potrzebuje tablica mikrokontrolera. ESP32 z OLED może wyświetlać różne rodzaje danych w formie graficznej. Tutaj w tym artykule omówimy kod, aby wyświetlić paski postępów na ekranie OLED. To poruszy postęp w czasie rzeczywistym zgodnie z ustalonym przedziałem.

Ta lekcja obejmuje następujące tematy:

  • 1: Wprowadzenie do wyświetlacza OLED ESP32
  • 2: Moduł wyświetlacza OLED do okablowania do ESP32
  • 3: Instalowanie wymaganych bibliotek
  • 4: rysowanie paska postępu na wyświetlaczu OLED za pomocą Arduino IDE
  • 4.1: Kod
  • 4.2: Wyjście

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:

  • Pozycja środka w odniesieniu do współrzędnego X
  • Pozycja środka w odniesieniu do współrzędnego Y
  • Trzeci argument to szerokość paska
  • Czwarty argument to wysokość progresji
  • Ostatni argument to faktyczny postęp, który przekazujemy wartość liczb całkowitą między 0 a 100

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.