Denne leksjonen inkluderer følgende emner:
1: Introduksjon til ESP32 OLED -skjerm
Før vi flytter videre må vi vite hva en OLED (Organisk lysutslippsdiode) Display er. OLED -skjermer brukes som et alternativ for LCD. OLED -lysdioder brukes til å produsere lysskjermer på OLED -skjermer. LCD -skjermen bruker bakgrunnsbelysning for å belyse piksler mens OLED -skjermer har sine egne emissive lysdioder. Det er hundrevis av selvlydige lysdioder. For å vise bilder og tekstlysstyrke på disse lysdiodene kan kontrolleres piksel av piksel.
Nå som vi kjenner noen grunnleggende relatert til OLED -skjerm. Neste trinn er å koble ESP32 med en OLED -skjermmodul.
2: Wiring OLED -skjermmodul til ESP32
OLED -skjermen kommer hovedsakelig med to forskjellige kommunikasjonsprotokoller. De to protokollene er I2C og SPI. Det serielle perifere grensesnittet (SPI) er generelt raskere enn I2C, men vi foretrakk I2C fremfor SPI -protokollen, da det krevde et mindre antall pinner.
Følgende bilde illustrerer ESP32 tilkoblingsdiagram med 128 × 64 piksler (0.96 ") OLED -skjerm.
Nedenfor er tabellen PIN -tilkobling:
Når ESP32 er koblet sammen med en OLED -skjerm, er neste trinn på listen installerer alle nødvendige biblioteker for ESP32 -programmering ved hjelp av Arduino IDE.
3: Installere nødvendige biblioteker
Flere biblioteker er tilgjengelige i Arduino IDE for å programmere ESP32 med en OLED -skjerm. Her bruker vi to biblioteker fra Adafruit: SSD1306 og GFX Library.
Nå Arduino -redaktør og gå til biblioteksjef og søke etter SSD1306 bibliotek. Installer SSD1306 -biblioteket av Adafruit fra søkefeltet.
Alternativt kan man også gå til: Skisse> Inkluder bibliotek> Administrer biblioteker
Neste bibliotek vi må installere er GFX Bibliotek av Adafruit.
Etter at begge bibliotekene er installert, er neste trinn å sjekke I2C -adressen der ESP32 er tilkoblet.
4: Kontroller OLED Display I2C -adresse
I2C står for integrert kretskommunikasjon. Ved hjelp av I2C kan vi grensesnitt flere enheter over 2 ledninger. Imidlertid, mens du kobler dem til hver I2C -enhet, må du bruke en egen I2C -adresse. Denne adressen varierer fra 0 til 127. Hvis vi for eksempel har to forskjellige I2C -enheter ved å bruke den samme I2C -adressen, kan de ikke kobles sammen på samme I2C -linje.
Det er viktig å sjekke I2C -adressen først. For å sjekke I2C -adressen til den tilkoblede OLED -skjermen tilkoblet ESP32 med PC, last opp koden gitt i artikkelsjekk I2C -adressen ved hjelp av Arduino IDE.
Etter å ha lastet opp kode, vises følgende utdata. Her i vårt tilfelle er OLED -skjermen koblet til i2c -adresse (0x3c).
Vi vil bruke den nevnte I2C -adressen for OLED -skjermen i Arduino -koden.
5: OLED Display Arduino IDE Eksempel
Etter å ha installert biblioteker, kan vi se flere forhåndsskrevne eksempler i Arduino IDE. For å teste ESP32 -grensesnittet vil vi laste opp en eksempelkode for SSD1306 -skjermen.
Gå til: Fil> Eksempler> Adafruit SSD1306> SSD1306_128x64_I2C
5.1: Kode
Et nytt vindu åpner og viser oss den gitte koden. Denne koden vil belyse OLED -skjermen med forskjellige mønstre som stjerner, sirkler, rulle tekst og animert tekst.
5.2: Output
Utgangsseksjonen viser en rekke forskjellige mønstre på OLED -skjermen.
Nå har vi koblet OLED -skjermen og testet det ved hjelp av et forhåndsvis bibliotekeksempel. Deretter vil vi vise statisk tekst på OLED ved hjelp av ESP32.
6: Statisk tekstutskrift på OLED -skjerm ved hjelp av ESP32
Adafruit -biblioteket lar oss vise forskjellige tekst med flere funksjoner. Her vil vi vise statisk tekst ved hjelp av en enkel kode.
6.1: Kode
Åpne Arduino IDE, last opp nedenfor kode til ESP32 -styret.
#inkludereKode startet med å importere nødvendige biblioteker som vi installerte tidligere. To biblioteker inkluderer Wire og Adafruit Library. Wire Libraries lar oss bruke I2C mens Adafruit hjelper til med å vise den skrevne teksten på skjermen.
Neste følgende kommando er skrevet:
Adafruit_ssd1306 display (screen_width, screen_height, & wire, -1);Den inneholder Screen_width og Screen_height variabler. Ved hjelp av disse variablene definerte vi størrelsen på OLED -skjermen. Her bruker vi en 128 × 64 OLED -skjerm. Etter det &Metalltråd Objekt er definert for visning.
Den siste parameteren inneholder (-1), Denne skjermen som OLED -skjermen vi bruker ikke har en ekstern tilbakestillingsknapp. I tilfelle vi har en tilbakestillingsknapp på OLED -skjermen. Vi vil overføre denne parameteren til en GPIO -pin. Når tilbakestillingsknappen er trykket, vil OLED -skjermen vise teksten.
Neste etter initialisering av I2C -kommunikasjon I2C -adressen (0x3c) er definert som vi har funnet tidligere ved hjelp av I2C Scanner Code.
I de siste kodelinjene er strengen eller teksten som skal skrives ut definert sammen med skriftstørrelse og skjermfarge.
Etter å ha lastet opp kode nå, vil vi observere utdataene.
6.2: Output
Utgang representerer strengen “Linuxhint.com ” og den er trykt med skriftstørrelse på 2.
Vi har fullført I2C OLED -skjermgrensesnitt med ESP32 -brettet.
Konklusjon
En OLED -skjerm er en flott måte å vise utganger på uten behov for en seriemonitor eller PC. OLED -skjermer har to forskjellige protokoller I2C og SPI. I2C OLED -skjermer er å foretrekke på grunn av et mindre antall ledninger. Denne leksjonen gir alle trinn som kreves i grensesnittet ESP32 med I2C 0.96-tommers OLED-skjerm.