Sisukord:
- Samm: kasutatud ressursid
- Samm: ekraan
- Samm: SSD1306 teek
- 4. samm: animatsiooni- ja XBM -failid
- Samm: XBM -failidest väljumine
- 6. samm: lähtekood
- Samm: koodi üleslaadimine
- 8. samm: failid
Video: Sissejuhatus ESP32 Lora OLED -ekraan: 8 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
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
1 Heltec WiFi LoRa 32
Protoboard
Samm: 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
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 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
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
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:
INO
Soovitan:
Covidi kaitsekiivri osa 1: Sissejuhatus Tinkercadi ahelatesse!: 20 sammu (koos piltidega)
Covidi ohutuskiiver 1. osa: Sissejuhatus Tinkercadi ahelatesse!: Tere, sõber! Selles kaheosalises sarjas õpime, kuidas kasutada Tinkercadi ahelaid - lõbusat, võimsat ja harivat tööriista vooluringide toimimise tundmaõppimiseks! Üks parimaid viise õppimiseks on teha. Seega kavandame kõigepealt oma projekti:
IR -ahelate sissejuhatus: 8 sammu (piltidega)
Sissejuhatus IR -ahelatesse: IR on keeruline tehnoloogia, kuid sellega töötamine väga lihtne. Erinevalt LED -idest või LASER -idest ei näe infrapuna inimsilmaga. Selles juhendis demonstreerin infrapuna kasutamist kolme erineva ahela kaudu. Ahelaid ei kasutata
Kontrollige kodumasinaid LoRa kaudu - LoRa koduautomaatikas - LoRa kaugjuhtimispult: 8 sammu
Kontrollige kodumasinaid LoRa kaudu | LoRa koduautomaatikas | LoRa kaugjuhtimispult: kontrollige ja automatiseerige oma elektriseadmeid pikkade vahemaade (kilomeetrite) kaugusel ilma internetita. See on võimalik LoRa kaudu! Hei, mis toimub, poisid? Akarsh siin CETechist. Sellel trükkplaadil on ka OLED -ekraan ja 3 releed, mis
ESP32 sissejuhatus: 10 sammu
ESP32 sissejuhatus: Selles artiklis räägime ESP32 -st, mida pean ESP8266 vanemaks vennaks. Mulle väga meeldib see mikrokontroller, kuna sellel on WiFi. Lihtsalt selleks, et teil oleks enne ESP olemasolu idee, kui vajate WiFi jaoks Arduinot, siis
Sissejuhatus LoRa ja moodul RFM95 / RFM95W Hoperf: 5 sammu
Sissejuhatus LoRa ja moodul RFM95 / RFM95W Hoperf: Selle võimaluse korral kirjeldame lühidalt LoRa ™ ja eriti raadio RFM95/96, mille on tootnud Hoperf Electronics. Kuna paar kuud tagasi saabus 2 moodulit, siis esialgu tahan sellel teemal sissejuhatuse teha