Kazalo:
- 1. korak: Uporabljeni viri
- 2. korak: Zaslon
- 3. korak: Knjižnica SSD1306
- 4. korak: Datoteke animacije in XBM
- 5. korak: Izhod iz datotek XBM
- 6. korak: izvorna koda
- 7. korak: Izvedite nalaganje kode
- 8. korak: Datoteke
Video: Uvod ESP32 Lora OLED zaslon: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
To je še en videoposnetek o uvodu v ESP32 LoRa. Tokrat bomo govorili posebej o grafičnem zaslonu (128 x 64 slikovnih pik). Knjižnico SSD1306 bomo uporabili za prikaz informacij na tem zaslonu OLED in predstavitev primera animacije z uporabo slik XBM.
1. korak: Uporabljeni viri
1 Heltec WiFi LoRa 32
Protoboard
2. korak: Zaslon
Zaslon, ki se uporablja na razvojni plošči, je OLED 0,96 palca.
Ima velikost 128 x 64 in je enobarvna.
Ima I2C komunikacijo in je povezan z ESP32 prek 3 žic:
SDA na GPIO4 (za podatke)
SCL na GPIO15 (za uro)
RST na GPIO16 (za ponastavitev in zagon zaslona)
3. korak: Knjižnica SSD1306
To je mogoče najti skupaj z naborom knjižnic, ki jih ponuja Heltec-Aaron-Lee.
Ima več funkcij za pisanje nizov, risanje črt, pravokotnikov, krogov in prikaz slik.
github.com/Heltec-Aaron-Lee/WiFi_Kit_series
4. korak: Datoteke animacije in XBM
Za prikaz animacije bomo uporabili funkcijo knjižnice drawXbm.
Format slike XBM je sestavljen iz niza znakov, kjer vsak element tekstualno predstavlja niz enobarvnih slikovnih pik (vsak po 1 bit) skozi šestnajstiško vrednost. Ti so enakovredni enemu bajtu.
Ker se za predstavitev enega bajta uporablja več znakov, so te datoteke običajno večje od tistih iz trenutno sprejetih formatov. Prednost je, da jih je mogoče sestaviti neposredno brez potrebe po predhodnem zdravljenju.
Poleg matrike sta vključeni še dve nastavitvi, ki določata velikost slike.
Za izdelavo animacije potrebujemo slike, ki bodo tvorile okvirje.
Za delo lahko uporabimo katero koli programsko opremo za urejanje slik. Edini previdnostni ukrepi, ki jih moramo upoštevati, so, da najprej ohranimo velikost združljivo z zaslonom in uporabimo enobarvne datoteke.
Za ustvarjanje datotek jih lahko narišemo ali uvozimo slike. Tu smo se odločili za urejanje barvne slike s pomočjo PaintBrush in narisali vsak okvir
Izvirna slika - 960 x 707 slikovnih pik - format PNG
Naslednji korak je, da ga naredite enobarvnega, tako da ga shranite kot enobarvno bitno sliko.
Nato spremenimo velikost na velikost, ki je združljiva z zaslonom.
Posebno pozornost posvetite merskim enotam. V tem primeru smo sliko prilagodili tako, da je zasedla celotno višino zaslona (navpično = 64 slikovnih pik).
S sliko v pravilni velikosti jo bomo uredili in oblikovali okvirje. Tu izbrišemo vsak lok ravni signala in jih shranimo kot ustrezne okvirje.
Zdaj moramo pretvoriti datoteke BMP v format XBM.
To pretvorbo lahko izvedete na več možnostih programske opreme. Za možnost urejevalnika smo izbrali tudi GIMP.
V našem primeru smo za ustvarjanje in urejanje datotek uporabili PaintBrush. Vsak od teh procesov pa bi lahko izvedli v Gimpu (ali katerem koli drugem urejevalniku).
Za pretvorbo najprej odpremo datoteko.
Ko je slika odprta, lahko izberemo Datoteka => Izvozi kot …
V oknu Export Image moramo spremeniti ciljno razširitev datoteke za XBM. Gimp bo zadolžen za prepoznavanje želene oblike in predstavitev več možnosti …
Pri izvozu bo Gimp predstavil druge možnosti. Privzete vrednosti lahko pustimo.
Po pretvorbi vseh datotek bomo imeli štiri datoteke XBM, po eno za vsak okvir.
Zdaj jih kopirajmo v mapo izvorne kode in jih preimenujmo tako, da njihove razširitve spremenimo v.h.
5. korak: Izhod iz datotek XBM
Datoteke XBM lahko odpremo v katerem koli urejevalniku besedil, kjer bomo videli matriko slike in podatke o velikosti slike, ki sta bili že določeni.
6. korak: izvorna koda
Izvorna koda: Izjave
Vključili bomo potrebne knjižnice in slikovne datoteke. Določimo položaje slike in prehodni interval. Opozorimo tudi na zatiče OLED, priključene na ESP32. Na koncu ustvarimo in prilagodimo objekt Display.
// Vključi kot potrebo po bibliotekah #include #include "SSD1306.h" // Vključi arquivos de imagem #include "frame1.h" #include "frame2.h" #include "frame3.h" #include "frame4.h" // opredeljujemo, da je imagem in intervalo de transição #define posX 21 #define posY 0 #define intervalo 500 // Pinos do OLED estão conctados ao ESP32: I2C // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // O RST za krmiljenje programske opreme SSD1306 (0x3c, SDA, SCL, RST); // Cria e ajusta o Objeto display
Izvorna koda: Setup ()
Inicializirajte zaslon in zaslon obrnite navpično. Ukrep ni obvezen.
void setup () {display.init (); // inicia o display display.flipScreenVertical (); // obrni navpično telo (opcijsko)}
Izvorna koda: Loop ()
Prva stvar v zanki je, da počistite zaslon. Okvir 1 naložimo v medpomnilnik z uporabo začetnih položajev posX in posY. Velikost slike sporočamo z okvirji frame_width in frame1_height ter imenom matrike, ki vsebuje bite slike. Na zaslonu prikažemo medpomnilnik in počakamo na interval, preden prikažemo naslednji okvir.
void loop () {display.clear (); // limpa tela // carrega para o buffer o frame 1 // usando as posições iniciais posX e posY // informacije o tamanho da imagem com frame1_width e frame1_height // informacije o imenu da matriz que contem os bits da imagem, no caso frame1_bits display.drawXbm (posX, posY, frame1_width, frame1_height, frame1_bits); // mostra o medpomnilniku brez prikaza display.display (); // aguarda um intervalo antes de mostrar o próximo frame delay (intervalo);
Postopek ponovimo za vse ostale okvirje.
// Ponovi o postopku za izhod iz okvirjev display.clear (); display.drawXbm (posX, posY, frame2_width, frame2_height, frame2_bits); display.display (); zamuda (intervalo); display.clear (); display.drawXbm (posX, posY, frame3_width, frame3_height, frame3_bits); display.display (); zamuda (intervalo); display.clear (); display.drawXbm (posX, posY, frame4_width, frame4_height, frame4_bits); display.display (); zamuda (intervalo); }
7. korak: Izvedite nalaganje kode
Ko je IDE odprt, odprite datoteko z izvorno kodo tako, da dvokliknete datoteko.ino ali odprete meni Datoteka.
Ko je Heltec priključen na USB, izberite meni Orodja => Kartica: "Heltec_WIFI_LoRa_32"
Še vedno v meniju Orodja izberite vrata COM, na katera je priključen Heltec.
Kliknite gumb NALOŽI…
… In počakajte na zaključek.
8. korak: Datoteke
Prenesite datoteke:
JAZ NE
Priporočena:
TTGO (barvni) zaslon z mikropythonom (T-zaslon TTGO): 6 korakov
TTGO (barvni) zaslon z Micropythonom (TTGO T-zaslon): TTGO T-zaslon je plošča, ki temelji na ESP32 in vključuje 1,14-palčni barvni zaslon. Ploščo lahko kupite za nagrado manj kot 7 $ (vključno z ladijskim prometom, nagrado na banggoodu). To je neverjetna nagrada za ESP32, vključno z zaslonom
I2C / IIC LCD zaslon - Uporabite SPI LCD za LCD zaslon I2C z uporabo modula SPI do IIC z Arduinom: 5 korakov
I2C / IIC LCD zaslon | Uporabite SPI LCD za LCD zaslon I2C z uporabo modula SPI do IIC z Arduinom: Pozdravljeni, saj ima navaden SPI LCD 1602 preveč žic za povezavo, zato ga je zelo težko povezati z arduinom, vendar je na trgu na voljo en modul, ki lahko pretvorite zaslon SPI v zaslon IIC, tako da morate priključiti samo 4 žice
I2C / IIC LCD zaslon - Pretvorite SPI LCD v LCD zaslon I2C: 5 korakov
I2C / IIC LCD zaslon | Pretvorite SPI LCD v LCD zaslon I2C: uporaba spi lcd zaslona zahteva preveč povezav, kar je res težko narediti, zato sem našel modul, ki lahko i2c lcd pretvori v spi lcd, zato začnimo
ESP8266 Vremenski zaslon in informacijski zaslon KVG: 5 korakov
ESP8266 Vremenski in informacijski zaslon KVG: To je preprost informacijski zaslon za vremensko napoved prek darksky.net in zaslonov v živo za avtobuse v Kielu prek " KVG Echtzeitabfahrten ". Zaslon temelji na NodeMCU (ESP8266) in LCD zaslonu ILI9341
TOD: Diodna matrika ROM Uvod (7-segmentni zaslon): 7 korakov
TOD: Diodna matrika ROM Uvod (7-segmentni zaslon): Tone diod Nova serija navodil, ki bodo uporabljale tone in tone diod. Nobenih IC ni na glas, edini polprevodniki so diode in tranzistorji. Edine pasivne komponente na glas so kondenzatorji, upori, stikala, induktorji in