Jak narysować prostokąt na OLED za pomocą ESP Top 10 z Arduino IDE

Jak narysować prostokąt na OLED za pomocą ESP Top 10 z Arduino IDE

ESP32 to oparta na IoT zasilająca płyta mikrokontrolera. ESP32 ma wszystkie te funkcje, których potrzebuje tablica mikrokontrolera. Jest to popularny wybór projektów Internetu rzeczy (IoT) i jest często używany jako mikrokontroler do automatyzacji domowej, elektroniki do noszenia i innych podłączonych urządzeń. ESP32 ma dwurdzeniowy procesor, wiele pinów wejściowych/wyjściowych (I/O), które można zaprogramować za pomocą zintegrowanego środowiska programistycznego Arduino (IDE). Dzisiaj w tym artykule obejmie kroki potrzebne do zintegrowania wyświetlacza OLED I2C z ESP32. Następnie narysujemy prostokątny kształt na ekranie OLED.

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 prostokąta na wyświetlaczu OLED za pomocą Arduino IDE

4.1: Kod

4.2: Wyjście

5: Rysowanie wypełnionego prostokąta na ekranie OLED za pomocą Arduino IDE

5.1: Kod

5.2: Wyjście

6: Łączenie oba prostokąta na ekranie OLED za pomocą Arduino IDE

6.1: Kod

6.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. Te wyświetlacze są często używane w małych urządzeniach przenośnych, takich jak smartwatche i urządzenia do śledzenia fitness, a także w większych panelach wyświetlaczy i innych aplikacjach, w których wymagany jest kompaktowy wyświetlacz o niskiej mocy.

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) OLED Ekran:

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 GFX biblioteka.

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 prostokąta na wyświetlaczu OLED za pomocą Arduino IDE

Aby narysować prostokąt na ekranie OLED, będziemy używać Drawrect (xoordinian X, współrzędna Y, szerokość, wysokość) funkcjonować.

Ta funkcja przyjmuje 4 argumenty:

  • Pozycja środka w odniesieniu do współrzędnego X
  • Pozycja środka w odniesieniu do współrzędnego Y
  • Szerokość prostokąta
  • Wysokość prostokąta

Po zdefiniowaniu wszystkich tych trzech 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 rysowaćRect () funkcjonować. Tutaj zdefiniowaliśmy środkowy piksel prostokąta ze współrzędną x 40 i y współrzędną 20. Szerokość prostokąta jest ustawiona na 40, a wysokość prostokąta jest ustawiona na 30. Tutaj zarówno wysokość, jak i szerokość prostokąta jest zgodnie z liczbą pikseli:

#include "SSD1306.H"
SSD1306 Wyświetlacz (0x3c, 21, 22);
void setup ()
wyświetlacz.w tym();
wyświetlacz.Drawrect (40, 20, 70, 30);
wyświetlacz.wyświetlacz();

void Loop ()

2: Wyjście

Po przesłaniu kodu w ESP32 poniżej pojawi się na ekranie OLED:

5: Rysowanie wypełnionego prostokąta na ekranie OLED za pomocą Arduino IDE

Teraz narysujemy wypełniony prostokąt. Kod jest prawie podobny do poprzedniego. Jedyną różnicą jest to, że użyliśmy nowej funkcji wyświetlacz.FillRect (40, 20, 70, 30); Ta funkcja przyjmuje również 4 argumenty jako poprzednie. Pierwsze dwa argumenty zdefiniują pozycję prostokąta, a pozostałe dwa będą reprezentować odpowiednio szerokość i wysokość prostokąta.

1: Kod

Otwórz Arduino IDE i prześlij dany kod:

Kod rozpoczął się od włączenia niezbędnych plików bibliotecznych SSD1306. Następnie zdefiniowaliśmy adres I2C i piny I2C do komunikacji.

Następnie w kodzie zainicjowaliśmy wyświetlacz OLED i zdefiniowaliśmy FillRect () funkcjonować jako wypełniony prostokąt. Ta funkcja narysuje wypełniony prostokąt z zdefiniowanymi parametrami. Tutaj zdefiniowaliśmy środkowy piksel prostokąta ze współrzędną x 40 i y współrzędną 20. Prostokąt o szerokości i wysokości odpowiednio 70 i 30 będzie narysował na ekranie OLED.

#include "SSD1306.H"
SSD1306 Wyświetlacz (0x3c, 21, 22);
void setup ()
wyświetlacz.w tym();
wyświetlacz.FillRect (40, 20, 70, 30);
wyświetlacz.wyświetlacz();

void Loop ()

2: Wyjście

Po przesłaniu kodu do ESP32 poniżej wypełnionego prostokąta można zobaczyć:

6: Łączenie obu prostokątów na ekranie OLED za pomocą Arduino IDE

Teraz, aby połączyć oba prostokąty, zdefiniujemy obie funkcje w tym samym programie. Pamiętaj, aby zmienić pozycję i wymiary prostokąta, w przeciwnym razie oba prostokąty nakładają się.

1: Kod

Otwórz Arduino IDE i prześlij kod do ESP32:

Ten program narysuje dwa prostokąty o tych samych wymiarach. Jeden prostokąt jest wypełniony, a drugi jest niewypełniony.

#include "SSD1306.H"
SSD1306 Wyświetlacz (0x3c, 21, 22);
void setup ()
wyświetlacz.w tym();
wyświetlacz.Drawrect (10, 10, 40, 20);
wyświetlacz.FillRect (70, 10, 40, 20);
wyświetlacz.wyświetlacz();

void Loop ()

2: Wyjście

Po przesłaniu kodu widzimy poniższe dane wyjściowe na ekranie OLED:

Wniosek

Wyświetlacze OLED to świetny sposób na przedstawienie graficznej reprezentacji naszych danych. Tutaj ten artykuł zawiera kilka prostych kroków potrzebnych do narysowania prostokąta na ekranu OLED. Za pomocą podanego kodu dowolnego wyświetlacza OLED można użyć do wyświetlania obrazów i tekstu.