ESP32 er et kompakt mikrokontrollerbasert lite brett. ESP32 kan behandle instruksjoner og generere utganger deretter. ESP32 fikk en enorm oppmerksomhet de siste årene sammenlignet med Arduino Dette er på grunn av dens fullverdige IoT-funksjoner inkludert WiFi og Bluetooth-støtte. Som Arduino kan vi også grensesnitt forskjellige sensorer med ESP32. Her vil denne opplæringen dekke grensesnittet til OLED -skjermen med ESP32 og tegne en sirkel ved hjelp av Arduino -kode.
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 av en sirkel på OLED -skjerm ved hjelp av Arduino IDE
4.1: Kode
4.2: Output
5: Tegning av en fylt sirkel på OLED -skjerm ved hjelp av Arduino IDE
5.1: Kode
5.2: Output
6: Kombinere begge sirkelen på OLED -skjerm ved bruk av Arduino IDE
6.1: Kode
6.2: Output
1: Introduksjon til ESP32 OLED -skjerm
OLED -skjerm også kjent som Organic Light EMitter Diode. OLED -skjermer er de beste alternativene til LCD -skjermer. 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. Inne i OLED -skjermen er det hundrevis av lysdioder som gløder og viser bilder og tekst. 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 mindre antall ledninger.
Å 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
Det er forskjellige biblioteker tilgjengelig i Arduino IDE for SSD1306 -skjermen. Ved hjelp av disse bibliotekene kan vi vise tekst og bilder ved hjelp av Arduino IDE.
I dag vil vi bruke to Adafruit -biblioteker: SSD1306 og GFX bibliotek.
Åpne Arduino IDE og søk etter 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.Så nå kan vi enkelt programmere ESP32 med en OLED -skjerm.
4: Tegning av en sirkel på OLED -skjerm ved hjelp av Arduino IDE
For å tegne en sirkel på en OLED -skjerm vil vi bruke DrawCircle (x-koordinat av sentrum, y-koordinat av sentrum, radius) funksjon.
Denne funksjonen tar 3 argumenter:
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 Draw Circle -funksjonen. Her definerte vi Center Pixel of the Circle med X -koordinat på 70 og Y -koordinat på 30. Sirkel med radius på 25 vil bli trukket på denne stillingen. Her er radius som er gitt i antall piksler.
#include "SSD1306.h "
SSD1306 Display (0x3c, 21, 22);
void setup ()
vise.i det();
vise.tegning (70, 30, 25);
vise.vise();
void loop ()
2: Output
Etter å ha lastet opp kode i ESP32 under utgangen vises på OLED -skjermen.
5: Tegning av en fylt sirkel på OLED -skjerm ved hjelp av Arduino IDE
Nå tegner vi en fylt sirkel. Kode er ganske mye lik den forrige. Den eneste forskjellen her er at vi har brukt en ny funksjon. vise.FillCircle (70, 30, 25); Denne funksjonen tar også tre argumenter som den forrige. De første to argumentene vil definere sirkelens plassering, og den siste vil representere sirkelen på sirkelen.
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 trekkfunksjonen som en fylt sirkel. Denne funksjonen vil tegne en fylt sirkel med definerte parametere. Her definerte vi Center Pixel of the Circle med X -koordinat på 70 og Y -koordinat på 30. Sirkel med radius på 25 vil bli trukket på denne stillingen.
#include "SSD1306.h "
SSD1306 Display (0x3c, 21, 22);
void setup ()
vise.i det();
vise.FillCircle (70, 30, 25);
vise.vise();
void loop ()
2: Output
Etter å ha lastet opp kode til ESP32 under den fylte sirkelen kan sees:
6: Kombinere begge sirkelen på OLED -skjerm ved bruk av Arduino IDE
Nå for å kombinere begge sirkler vil vi definere begge funksjonene i samme program. Husk å endre sirkelen og dimensjonen til sirkelen, ellers vil begge sirklene overlappe hverandre.
1: Kode
Åpne Arduino IDE og laste opp kode til ESP32.
Dette programmet vil tegne to sirkler med en radius på 25. Den ene sirkelen vil være ufylt og den andre vil bli fylt:
#include "SSD1306.h "
SSD1306 Display (0x3c, 21, 22);
void setup ()
vise.i det();
vise.DrawCircle (40, 30, 25);
vise.FillCircle (100, 30, 25);
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 en sirkel på en OLED -skjerm. Bruke den gitte koden Enhver OLED -skjerm kan brukes til å vise bilder og tekst. For mer informasjon, les artikkelen.