Hvordan tegne rektangel på OLED ved hjelp av ESP topp 10 med Arduino IDE

Hvordan tegne rektangel på OLED ved hjelp av ESP topp 10 med Arduino IDE

ESP32 er et IoT -basert kraftbeskyttelsesmikrokontrollertavle. ESP32 har alle disse funksjonene som et mikrokontrollertavle trenger. Det er et populært valg for Internet of Things (IoT) -prosjekter og brukes ofte som mikrokontroller for hjemmeautomatisering, bærbar elektronikk og andre tilkoblede enheter. ESP32 har en dual-core prosessor, mange inngangs-/utgang (I/O) pinner som kan programmeres ved hjelp av Arduino Integrated Development Environment (IDE). I dag vil denne artikkelen dekke trinn som trengs for å integrere en I2C OLED -skjerm med ESP32. Etter det vil vi tegne en rektangulær form på en OLED -skjerm.

Denne leksjonen inkluderer følgende emner:

1: Introduksjon til ESP32 OLED -skjerm

2: Wiring OLED -skjermmodul til ESP32

3: Installere nødvendige biblioteker

4: Tegning et rektangel på OLED -skjerm ved hjelp av Arduino IDE

4.1: Kode

4.2: Output

5: Tegning av et fylt rektangel på OLED -skjerm ved hjelp av Arduino IDE

5.1: Kode

5.2: Output

6: Kombinere begge rektangelene på OLED -skjerm ved bruk av Arduino IDE

6.1: Kode

6.2: Output

1: Introduksjon til ESP32 OLED -skjerm

En I2C OLED-skjerm er en type organisk lysemitterende diode (OLED) -skjerm som bruker den inter-integrerte krets (I2C) -protokollen for kommunikasjon. OLED-skjermer er kjent for sitt høye kontrastforhold, bred visningsvinkel og rask responstid, noe som gjør dem godt egnet for en rekke visningsapplikasjoner.

En I2C OLED -skjerm består vanligvis av en liten OLED -skjerm og en førerkrets som konverterer I2C -signalene til passende spenning og strømmer som trengs for å kjøre OLED -piksler. Disse skjermene brukes ofte i små bærbare enheter som smartklokker og treningssporere, samt i større skjermpaneler og andre applikasjoner der det kreves en kompakt, lav effekt-skjerm.

Lysdioder inne i OLED -skjermen lyser opp pikslene som viser oss forskjellige bilder og tekst. Mens på den andre siden bruker LCD -skjermen en bakgrunnsbelysning for å belyse piksler. Lysstyrken til disse pikslene kan kontrolleres piksel av piksel.

Nå vil vi grensesnitt ESP32 med en OLED -skjerm.

2: Wiring OLED -skjermmodul til ESP32

OLED -skjermer jobber hovedsakelig med to kommunikasjonsprotokoller. Disse er I2C og SPI. Blant disse to SPI (seriell perifert grensesnitt) er raskere sammenlignet med I2C, men mesteparten av tiden er I2C OLED -skjerm foretrukket på grunn av et mindre antall ledninger.

I2C er en to-ledet seriell kommunikasjonsprotokoll som lar flere enheter dele et enkelt sett med data og klokkelinjer, noe som gjør det til et praktisk valg for å koble OLED-skjermer til mikrokontrollere og andre enheter

Å bruke I2C OLED To pinner SDA og SCL er nok til å vise bilder og tekst. Det gitte bildet viser ESP32 med 0.96-tommers (128 × 64 piksler) OLED-skjerm:

ESP32 PINS -forbindelse med OLED er som følger:

Siden vi har koblet ut ESP32 med en OLED -skjerm, vil vi nå installere de nødvendige bibliotekene i Arduino IDE, slik at vi kan komme videre med former som vises på OLED -skjermen.

3: Installere nødvendige biblioteker

For å vise bilder, må vi installere de nødvendige bibliotekene for OLED -skjerm i Arduino IDE. Uten å bruke disse bibliotekene kan ESP32 ikke vise grafikk på OLED. Hovedsakelig brukes to biblioteker fra Adafruit: SSD1306 og GFX bibliotek.

Åpne først Arduino IDE og søk SSD1306 -biblioteket. Installer SSD1306 OLED -biblioteket av Adafruit. En annen måte å installere på kommer til å: Skisse> Inkluder bibliotek> Administrer biblioteker:

Nå installer GFX Bibliotek av Adafruit:

Nå har vi installert begge bibliotekene. Nå kan vi enkelt programmere ESP32 med en OLED -skjerm.

4: Tegning et rektangel på OLED -skjerm ved hjelp av Arduino IDE

For å tegne et rektangel på en OLED -skjerm vil vi bruke DrawRect (x-koordinat, y-koordinat, bredde, høyde) funksjon.

Denne funksjonen tar 4 argumenter:

  • Senterets plassering med hensyn til x-koordinat
  • Senterets plassering med hensyn til y-koordinat
  • Bredde på rektangel
  • Høyden på rektangelet

Etter å ha definert alle disse tre parametrene, last opp koden til ESP32 -styret.

1: Kode

Åpne Arduino IDE, koble til ESP32 og laste opp kode:

Kode startet med å inkludere de nødvendige SSD1306 -bibliotekfilene. Etter det definerte vi I2C -adressen og I2C -pinnene for kommunikasjon.

Husk å sjekke I2C -adressen først før du definerer. For å sjekke I2C -adressen til en hvilken som helst enhet, laste opp koden gitt i opplæringen hvordan du skanner I2C -adressen i ESP32 ved hjelp av Arduino IDE.

Hvis du bruker mer enn en I2C -enhet med samme adresse, må du endre adressen til noen av dem først.

Neste i kode initialiserte vi OLED -skjermen og definerte tegneRekt () funksjon. Her definerte vi midtpikselen til rektangelet med x -koordinat på 40 og y koordinat på 20. Rektangelets bredde er satt til 40 og høyden på rektangelet er satt til 30. Her er både høyden og bredden på rektangelet i henhold til antall piksler:

#include "SSD1306.h "
SSD1306 Display (0x3c, 21, 22);
void setup ()
vise.i det();
vise.tegne (40, 20, 70, 30);
vise.vise();

void loop ()

2: Output

Etter å ha lastet opp kode i ESP32 under utgangen vises på OLED -skjermen:

5: Tegning av et fylt rektangel på OLED -skjerm ved hjelp av Arduino IDE

Nå tegner vi et fylt rektangel. Kode er ganske mye lik den forrige. Den eneste forskjellen her er at vi har brukt en ny funksjon vise.FillRect (40, 20, 70, 30); Denne funksjonen tar også 4 argumenter som den forrige. De første to argumentene vil definere posisjonen til rektangelet, og de resterende to vil representere henholdsvis bredde og høyde på rektangelet.

1: Kode

Åpne Arduino IDE og last opp den gitte koden:

Kode startet med å inkludere de nødvendige SSD1306 -bibliotekfilene. Etter det definerte vi I2C -adressen og I2C -pinnene for kommunikasjon.

Neste i kode initialiserte vi OLED -skjermen og definerte fillRect () funksjon som et fylt rektangel. Denne funksjonen vil tegne et fylt rektangel med definerte parametere. Her definerte vi midtpikselen til rektangelet med x -koordinat på 40 og y koordinat på 20. Rektangel med bredde og høyde på henholdsvis 70 og 30 vil trekke på en OLED -skjerm.

#include "SSD1306.h "
SSD1306 Display (0x3c, 21, 22);
void setup ()
vise.i det();
vise.FillRect (40, 20, 70, 30);
vise.vise();

void loop ()

2: Output

Etter å ha lastet opp kode til ESP32 under det fylte rektangelet kan sees:

6: Kombinere begge rektangler på OLED -skjerm ved bruk av Arduino IDE

Nå for å kombinere begge rektangler vil vi definere begge funksjonene i samme program. Husk å endre posisjonen og dimensjonene til rektangelet, ellers vil begge rektanglene overlappe hverandre.

1: Kode

Åpne Arduino IDE og laste opp kode til ESP32:

Dette programmet vil trekke to rektangler med samme dimensjoner. Det ene rektangelet er fylt og det andre er ufylt.

#include "SSD1306.h "
SSD1306 Display (0x3c, 21, 22);
void setup ()
vise.i det();
vise.tegne (10, 10, 40, 20);
vise.FillRect (70, 10, 40, 20);
vise.vise();

void loop ()

2: Output

Etter å ha lastet opp koden, kan vi se utdataene nedenfor på OLED -skjermen:

Konklusjon

OLED -skjermer er en flott måte å gi en grafisk representasjon til dataene våre. Her dekker denne artikkelen noen enkle trinn som trengs for å tegne et rektangel på en OLED -skjerm. Bruke den gitte koden Enhver OLED -skjerm kan brukes til å vise bilder og tekst.