Përmbajtje:
- Hapi 1: Burimet e përdorura
- Hapi 2: Shfaqja
- Hapi 3: Biblioteka SSD1306
- Hapi 4: Animacioni dhe skedarët XBM
- Hapi 5: Dalja nga skedarët XBM
- Hapi 6: Kodi Burimor
- Hapi 7: Kryerja e ngarkesës së kodit
- Hapi 8: Skedarët
Video: Hyrje ESP32 Lora OLED Ekran: 8 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:21
Kjo është një video tjetër në lidhje me Hyrjen në ESP32 LoRa. Këtë herë, ne do të flasim në mënyrë specifike për një ekran grafik (me 128x64 pixel). Ne do të përdorim bibliotekën SSD1306 për të shfaqur informacion në këtë ekran OLED dhe për të paraqitur një shembull të animacionit duke përdorur imazhe XBM.
Hapi 1: Burimet e përdorura
1 Heltec WiFi LoRa 32
Protoboard
Hapi 2: Shfaqja
Ekrani i përdorur në bordin e zhvillimit është një OLED prej 0.96 inç.
Ka 128x64 dhe është njëngjyrëshe.
Ka komunikim I2C dhe lidhet me ESP32 përmes 3 telave:
SDA në GPIO4 (për të dhëna)
SCL në GPIO15 (për orën)
RST në GPIO16 (për rivendosjen dhe fillimin e shfaqjes)
Hapi 3: Biblioteka SSD1306
Kjo mund të gjendet së bashku me grupin e bibliotekave të ofruara nga Heltec-Aaron-Lee.
Ka disa funksione për shkrimin e vargjeve, vizatimin e vijave, drejtkëndëshave, rrathëve dhe shfaqjen e imazheve.
github.com/Heltec-Aaron-Lee/WiFi_Kit_series
Hapi 4: Animacioni dhe skedarët XBM
Ne do të përdorim funksionin e bibliotekës drawXbm për të shfaqur një animacion.
Formati i imazhit XBM përbëhet nga një grup karakteresh ku secili element përfaqëson tekstualisht një grup pikselësh njëngjyrësh (1 bit secili), përmes një vlere heksadecimale. Këto janë ekuivalente me një bajt.
Për shkak se karaktere të shumta përdoren për të përfaqësuar një bajt të vetëm, këto skedarë priren të jenë më të mëdhenj se ato nga formatet e miratuara aktualisht. Avantazhi është se ato mund të përpilohen drejtpërdrejt pa pasur nevojë për trajtim paraprak.
Përveç grupit, përfshihen dy cilësime që përcaktojnë madhësinë e figurës.
Për të ndërtuar animacionin, na duhen imazhet që do të formojnë kornizat.
Ne mund të përdorim çdo softuer të redaktimit të imazhit për të punuar. Masat paraprake të vetme që duhet të marrim janë që së pari të mbajmë madhësinë në përputhje me ekranin dhe të përdorim skedarë njëngjyrësh.
Për të gjeneruar skedarët, ne mund t'i vizatojmë ato ose të importojmë imazhe. Këtu, ne vendosëm të redaktojmë një imazh me ngjyra duke përdorur PaintBrush, dhe vizatuam secilën prej kornizave
Imazhi origjinal - 960x707 piksele - format PNG
Hapi tjetër është ta bëni atë pikturë njëngjyrëshe duke e ruajtur atë si një hartë njëngjyrëshe.
Pastaj, ne e ndryshojmë atë në një madhësi të pajtueshme me ekranin.
Kushtojini vëmendje të veçantë njësive të masës. Në këtë rast, ne e rregulluam imazhin në mënyrë që të zinte të gjithë lartësinë e ekranit (vertikale = 64 piksele).
Me imazhin në madhësinë e duhur, ne do ta redaktojmë për të formuar kornizat. Këtu, ne po fshijmë çdo hark të nivelit të sinjalit dhe i ruajmë ato si korniza përkatëse.
Tani, ne duhet të konvertojmë skedarët BMP në formatin XBM.
Ka disa opsione softuerësh që mund ta bëjnë këtë konvertim. Ne gjithashtu zgjodhëm GIMP si një opsion redaktues.
Në shembullin tonë, ne përdorëm PaintBrush për të gjeneruar dhe modifikuar skedarët. Sidoqoftë, secili prej këtyre proceseve mund të ishte bërë në Gimp (ose ndonjë redaktues tjetër).
Për t'u kthyer, së pari hapim skedarin.
Me imazhin e hapur, ne mund të zgjedhim File => Export as…
Në dritaren Export Image, ne duhet të ndryshojmë shtesën e skedarit të destinacionit për XBM. Gimp do të jetë përgjegjës për identifikimin e formatit të dëshiruar dhe paraqitjen e më shumë opsioneve…
Kur eksportoni, Gimp do të paraqesë opsione të tjera. Ne mund të lëmë vlerat e paracaktuara.
Pas konvertimit të të gjithë skedarëve, do të kemi katër skedarë XBM, një për secilën kornizë.
Tani le t'i kopjojmë ato në dosjen e kodit burimor dhe t'i riemërtojmë duke ndryshuar shtesat e tyre në.h.
Hapi 5: Dalja nga skedarët XBM
Ne mund të hapim skedarët XBM në çdo redaktues teksti, ku do të shohim matricën e imazhit dhe informacionin e madhësisë së figurës që ishin përcaktuar tashmë.
Hapi 6: Kodi Burimor
Kodi Burim: Deklarata
Ne do të përfshijmë bibliotekat e nevojshme, si dhe skedarët e imazheve. Ne përcaktojmë pozicionet e figurës dhe intervalin e kalimit. Ne gjithashtu tregojmë kunjat OLED të lidhur me ESP32. Së fundi, ne krijojmë dhe rregullojmë objektin Display.
// Përfshini si bibliotekas të domosdoshme #përfshijnë #përfshijnë "SSD1306.h" // Përfshini informacionin e imazhit #përfshini "frame1.h" #include "frame2.h" #include "frame3.h" #include "frame4.h" // definicionet e posiçãos për imazhin dhe intervalin e transmetimit #përcakto posX 21 #përcakto pozY 0 #përcakto intervalin 500 // Pinos do OLED estão conctados ao ESP32: I2C // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLE - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // O RST deve ser controlado por software SSD1306 ekran (0x3c, SDA, SCL, RST); // Cria e ajusta o Shfaqja Objeto
Kodi burim: Setup ()
Filloni ekranin dhe përmbyseni ekranin vertikalisht. Veprimi është opsional.
void setup () {display.init (); // inicia o display display.flipScreenVertical (); // inverte verticalmente a tela (opcional)}
Kodi burim: Loop ()
Gjëja e parë që duhet të bëni në lak është të pastroni ekranin. Ne e ngarkojmë kornizën 1 në tampon duke përdorur pozicionet fillestare posX dhe posY. Ne informojmë madhësinë e figurës me frame1_width dhe frame1_height, dhe emrin e grupit që përmban copat e imazhit. Ne tregojmë tamponin në ekran dhe presim një interval para se të shfaqim kornizën tjetër.
void loop () {display.clear (); // limpa tela // carrega para o tampon o frame 1 // usando as posições iniciais posX e posY // informa o tamanho da imagem com frame1_width e frame1_height // informa o nome da matriz que modern os bit bit imagjin, no caso frame1_bits display.drawXbm (posX, posY, frame1_width, frame1_height, frame1_bits); // mostra o tampon pa ekran.display (); // aguarda um intervalo antes de mostrar o próximo frame delay (intervalo);
Ne e përsërisim procesin për të gjitha kornizat e tjera.
// përsëris o processo todos os outros frames display.clear (); display.drawXbm (posX, posY, frame2_width, frame2_height, frame2_bits); display.display (); vonesa (intervalo); shfaqje.qartë (); display.drawXbm (posX, posY, frame3_width, frame3_height, frame3_bits); display.display (); vonesa (intervalo); shfaqje.qartë (); display.drawXbm (posX, posY, frame4_width, frame4_height, frame4_bits); display.display (); vonesa (intervalo); }
Hapi 7: Kryerja e ngarkesës së kodit
Me IDE të hapur, hapni skedarin me kodin burimor duke klikuar dy herë në skedarin.ino, ose duke shkuar te menyja File.
Me Heltec të lidhur me USB, zgjidhni menunë Tools => Card: "Heltec_WIFI_LoRa_32"
Ende në menunë Tools, zgjidhni portën COM ku është lidhur Heltec.
Klikoni në butonin UPLOAD…
… Dhe prisni përfundimin.
Hapi 8: Skedarët
Shkarkoni skedarët:
INO
Recommended:
Kontrolloni pajisjet shtëpiake mbi LoRa - LoRa në Automatizimin e Shtëpisë - Telekomanda LoRa: 8 hapa
Kontrolloni pajisjet shtëpiake mbi LoRa | LoRa në Automatizimin e Shtëpisë | Telekomanda LoRa: Kontrolloni dhe automatizoni pajisjet tuaja elektrike nga distanca të gjata (Kilometra) pa praninë e internetit. Kjo është e mundur përmes LoRa! Hej, çfarë ka, djema? Akarsh këtu nga CETech. Ky PCB gjithashtu ka një ekran OLED dhe 3 stafetë të cilat një
Hyrje në ESP32: 10 hapa
Hyrje në ESP32: Në këtë artikull do të flasim për ESP32, të cilin e konsideroj si një vëlla më të madh të ESP8266. Më pëlqen shumë ky mikrokontrollues sepse ka WiFi. Vetëm për të pasur një ide, para se të ekzistojë ESP, nëse keni nevojë për një Arduino për të pasur WiFi, ju do të
Ekran LCD DIY I2C me hyrje: 6 hapa
Ekran LCD DIY I2C me hyrje: LCD tipike paralele e përdorur me një Arduino (16x2 ose 20x4) ka 16 kunja. Vetëm 6 kunja I/O kërkohen në Arduino, por çka nëse mund ta arrini atë në dy kunja I/O, dhe akoma i keni ato kunja në dispozicion për pajisje të tjera? Ndërfaqja I2C është
Hyrje LoRa & Moduli RFM95 / RFM95W Hoperf: 5 hapa
Hyrje LoRa & Moduli RFM95 / RFM95W Hoperf: Në këtë mundësi ne do të bëjmë një karakterizim të shkurtër rreth LoRa &tregtisë; dhe konkretisht Radio RFM95/96 e prodhuar nga Hoperf Electronics. Meqenëse disa muaj më parë, mbërritën 2 module, fillimisht dua të bëj një hyrje mbi temën
Merrni një ekran hyrje të ngjashëm me atë klasik në Windows Vista: 4 hapa
Merrni një ekran hyrje të ngjashëm me klasikun në Windows Vista: Ekrani i mirëseardhjes, që shfaq të gjithë përdoruesit, u prezantua në Windows XP për lehtësinë e përdoruesit. Opsioni për ta ndryshuar atë përsëri në ekranin më të sigurt, klasik të hyrjes ishte i mundur nga paneli i kontrollit. Kjo u hoq nga opsionet e Vista, por unë