Denne leksjonen inkluderer følgende emner:
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.
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 av en fremdriftslinje på OLED -skjerm ved hjelp av Arduino IDE
For å tegne en fremdriftslinje på en OLED -skjerm vil vi bruke vise.trekkprogressbar (20, 20, 100, 20, fremgang); funksjon.
Denne funksjonen tar 5 argumenter:
Etter å ha definert alle disse 5 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 en fremdriftsformel.
Fremdriftsformel vil beregne fremdriften og butikkverdien i global variabel fremgang. Vi oppsummerer ganske enkelt 10 til gjeldende fremdriftsverdi og får resten ved å dele den med 110 ved hjelp av moduloperatøren. Når fremdriftslinjen er fullført, vil vi ha 110%110 som gir oss 0. Dette starter automatisk linjen igjen fra null.
NESTE DrawProgressbar kalles, og denne funksjonen vil vise fremdriftslinjen i henhold til gjeldende verdi av variabel fremgang. Denne funksjonen vil ta 5 argumenter som forklart tidligere.
#include "SSD1306.h "
SSD1306 Display (0x3c, 21, 22);
int Progress = 0;
void setup ()
vise.i det();
void loop ()
vise.klar();
fremgang = (fremgang + 10) % 110;
vise.trekkprogressbar (20, 20, 100, 20, fremgang);
vise.vise();
forsinkelse (1000);
2: Output
Etter å ha lastet opp kode i ESP32 under utgangen vises på OLED -skjermen. Denne utgangen viser at fremdriftslinjen er på 10%, som er den opprinnelige settposisjonen:
Nå er fremdriftslinjen på 100%, noe som betyr at en viss oppgave er fullført:
Her er utgangstrinnene mellom 0% og 100%. Vi har satt fremdriftsintervallet til 10:
Konklusjon
Progress Bar er en flott måte å vise sanntids fremdrift av et prosjekt. Ved hjelp av OLED -skjermer med ESP32 kan vi ta sanntidsdata og vise dem over skjermen. Å bruke koden gitt noen av dataene kan være representert i form av fremdriftslinje.