Sisukord:

Sissejuhatus ESP32 Lora OLED -ekraan: 8 sammu
Sissejuhatus ESP32 Lora OLED -ekraan: 8 sammu

Video: Sissejuhatus ESP32 Lora OLED -ekraan: 8 sammu

Video: Sissejuhatus ESP32 Lora OLED -ekraan: 8 sammu
Video: ¿Te encuentras perdiendo un tiempo muy valioso en la introducción manual de datos? La... #shorts 2024, Juuli
Anonim
Image
Image
Sissejuhatus ESP32 Lora OLED -ekraan
Sissejuhatus ESP32 Lora OLED -ekraan

See on veel üks video ESP32 LoRa sissejuhatuse kohta. Seekord räägime konkreetselt graafilisest ekraanist (128x64 pikslit). Kasutame SSD1306 teeki selle OLED -ekraani teabe kuvamiseks ja XBM -pilte kasutava animatsiooni näite esitamiseks.

Samm: kasutatud ressursid

Kasutatud ressursid
Kasutatud ressursid

1 Heltec WiFi LoRa 32

Protoboard

Samm: ekraan

Ekraan
Ekraan
Ekraan
Ekraan

Arendusplaadil kasutatav ekraan on 0,96 tolli OLED.

See on 128x64 ja on ühevärviline.

Sellel on I2C -side ja see on ühendatud ESP32 -ga kolme juhtme kaudu:

SDA GPIO4 -l (andmete jaoks)

SCL GPIO15 -l (kella jaoks)

RST GPIO16 -l (lähtestamiseks ja ekraani käivitamiseks)

Samm: SSD1306 teek

SSD1306 raamatukogu
SSD1306 raamatukogu

Selle leiate koos Heltec-Aaron-Lee pakutavate raamatukogude komplektiga.

Sellel on mitu funktsiooni stringide, joonte, ristkülikute, ringide ja piltide kirjutamiseks.

github.com/Heltec-Aaron-Lee/WiFi_Kit_series

4. samm: animatsiooni- ja XBM -failid

Animatsiooni- ja XBM -failid
Animatsiooni- ja XBM -failid
Animatsiooni- ja XBM -failid
Animatsiooni- ja XBM -failid
Animatsiooni- ja XBM -failid
Animatsiooni- ja XBM -failid

Animatsiooni kuvamiseks kasutame raamatukogu funktsiooni drawXbm.

XBM -pildivorming koosneb tähemärkide massiivist, kus iga element tähistab tekstiliselt ühevärviliste pikslite komplekti (igaüks 1 bitti) kuueteistkümnendsüsteemi väärtuse kaudu. Need on samaväärsed ühe baidiga.

Kuna ühe baidi tähistamiseks kasutatakse mitut märki, on need failid tavaliselt suuremad kui praegu vastuvõetud vormingud. Eeliseks on see, et neid saab koostada otse ilma eelneva töötlemiseta.

Lisaks massiivile on lisatud kaks sätet, mis määravad pildi suuruse.

Animatsiooni loomiseks vajame pilte, mis moodustavad raamid.

Töötamiseks saame kasutada mis tahes pilditöötlustarkvara. Ainsad ettevaatusabinõud, mida peaksime võtma, on kõigepealt hoida suurus kuvariga ühilduvana ja kasutada ühevärvilisi faile.

Failide genereerimiseks saame need joonistada või pilte importida. Siin otsustasime värvipilti PaintBrushi abil redigeerida ja joonistasime kõik raamid

Algne pilt - 960x707 pikslit --p.webp

Järgmine samm on muuta see ühevärviliseks, salvestades selle ühevärvilise bitikaardina.

Seejärel muudame selle suuruse kuvariga ühilduvaks.

Pöörake erilist tähelepanu mõõtühikutele. Sel juhul reguleerisime pilti nii, et see hõivaks kogu ekraani kõrguse (vertikaalne = 64 pikslit).

Kui pilt on õiges suuruses, muudame seda raamide moodustamiseks. Siin kustutame iga signaalitaseme kaare ja salvestame need vastavate kaadritena.

Nüüd peame BMP -failid teisendama XBM -vormingusse.

Seda teisendamist saab teha mitmete tarkvaravalikutega. Samuti valisime GIMP -i toimetajavalikuks.

Meie näites kasutasime failide genereerimiseks ja redigeerimiseks PaintBrushi. Kuid kõiki neid protsesse oleks saanud teha Gimpis (või mõnes muus redaktoris).

Teisendamiseks avame kõigepealt faili.

Kui pilt on avatud, saame valida File => Export as…

Aknas Ekspordi pilt peame muutma XBM -i sihtfaili laiendit. Gimp vastutab soovitud vormingu tuvastamise ja lisavalikute esitamise eest…

Ekspordi korral esitab Gimp muid võimalusi. Võime jätta vaikeväärtused.

Pärast kõigi failide teisendamist on meil neli XBM -faili, üks iga kaadri jaoks.

Nüüd kopeerime need lähtekoodi kausta ja nimetame need ümber, muutes nende laiendid.h.

Samm: XBM -failidest väljumine

XBM -failidest väljumine
XBM -failidest väljumine

Saame XBM -failid avada mis tahes tekstiredaktoris, kus näeme juba määratletud pildimaatriksi ja pildi suuruse teavet.

6. samm: lähtekood

Lähtekood: avaldused

Kaasame vajalikud teegid ja pildifailid. Me määratleme pildi positsioonid ja üleminekuperioodi. Samuti suuname ESP32 -ga ühendatud OLED -tihvtid. Lõpuks loome ja kohandame objekti Display.

// Incluindo as bibliotecas requiredárias #include #include "SSD1306.h" // Incluindo os arquivos de imagem #include "frame1.h" #include "frame2.h" #include "frame3.h" #include "frame4.h" // pildi määratlemine ja positsiooni määramine intervallide vahel - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // O RST arendab tarkvara SSD1306 ekraani (0x3c, SDA, SCL, RST); // Cria e ajusta o Objeto display

Lähtekood: seadistamine ()

Vormindage ekraan ja pöörake ekraan vertikaalselt ümber. Toiming on valikuline.

void setup () {display.init (); // algatamine või kuvaekraan.flipScreenVertically (); // vertikaalse vertikaalsuuna ümberpööramine telaks (valikuline)}

Lähtekood: Loop ()

Esimene asi, mida silmus teha, on ekraani puhastamine. Laadime raami 1 puhvrisse, kasutades posX ja posY lähtepositsioone. Me teavitame pildi suurust kaadri_laius ja raami1_kõrgus ning pildi bitte sisaldava massiivi nimega. Näitame puhvrit ekraanil ja ootame vaheaega enne järgmise kaadri näitamist.

void loop () {display.clear (); // limpa tela // carrega para o buffer o frame 1 // usando as posições iniciais posX e posY // information o tamanho da imagem com frame1_width e frame1_height // information o nome da matriz que contem os bits da imagem, no caso frame1_bits display.drawXbm (posX, posY, frame1_width, frame1_height, frame1_bits); // mostra o puhver puudub kuva kuvamine.display (); // aguarda um intervalo antes de mostrar o próximo frame delay (intervalo);

Kordame protsessi kõigi teiste kaadrite puhul.

// repete o processo para todos os outros kaadrid display.clear (); display.drawXbm (posX, posY, frame2_width, frame2_height, frame2_bits); display.display (); viivitus (intervall); display.clear (); display.drawXbm (posX, posY, frame3_width, frame3_height, frame3_bits); display.display (); viivitus (intervall); display.clear (); display.drawXbm (posX, posY, frame4_width, frame4_height, frame4_bits); display.display (); viivitus (intervall); }

Samm: koodi üleslaadimine

Koodi üleslaadimine
Koodi üleslaadimine
Koodi üleslaadimine
Koodi üleslaadimine
Koodi üleslaadimine
Koodi üleslaadimine

Kui IDE on avatud, avage lähtekoodiga fail, topeltklõpsates.ino-failil või minnes menüüsse Fail.

Kui Heltec on USB -ga ühendatud, valige menüü Tools => Card: "Heltec_WIFI_LoRa_32"

Valige ikkagi menüüst Tööriistad COM -port, kuhu Heltec on ühendatud.

Klõpsake nuppu LAADI…

… ja oodake järeldust.

8. samm: failid

Laadige failid alla:

PDF

INO

Soovitan: