Orodha ya maudhui:

Utangulizi ESP32 Lora OLED Onyesha: Hatua 8
Utangulizi ESP32 Lora OLED Onyesha: Hatua 8

Video: Utangulizi ESP32 Lora OLED Onyesha: Hatua 8

Video: Utangulizi ESP32 Lora OLED Onyesha: Hatua 8
Video: Using two Heltec CubeCell LoRa ESP32 Boards HTCC-AB01 as remote switch as TX and RX 2024, Novemba
Anonim
Image
Image
Utangulizi ESP32 Lora OLED Onyesha
Utangulizi ESP32 Lora OLED Onyesha

Hii ni video nyingine inayohusu Utangulizi wa ESP32 LoRa. Wakati huu, tutazungumza haswa juu ya onyesho la picha (la saizi 128x64). Tutatumia maktaba ya SSD1306 kuonyesha habari kwenye onyesho hili la OLED na kuwasilisha mfano wa uhuishaji kwa kutumia picha za XBM.

Hatua ya 1: Rasilimali Zilizotumiwa

Rasilimali Zilizotumiwa
Rasilimali Zilizotumiwa

1 Heltec WiFi LoRa 32

Kitabu cha ulinzi

Hatua ya 2: Onyesho

Onyesho
Onyesho
Onyesho
Onyesho

Onyesho linalotumiwa kwenye bodi ya maendeleo ni OLED ya inchi 0.96.

Ina 128x64 na ni monochrome.

Ina mawasiliano ya I2C na imeunganishwa na ESP32 kupitia waya 3:

SDA kwenye GPIO4 (kwa data)

SCL kwenye GPIO15 (kwa saa)

RST kwenye GPIO16 (kwa kuweka upya na kuanza kuonyesha)

Hatua ya 3: Maktaba ya SSD1306

Maktaba ya SSD1306
Maktaba ya SSD1306

Hii inaweza kupatikana pamoja na seti ya maktaba iliyotolewa na Heltec-Aaron-Lee.

Inayo kazi kadhaa za kuandika nyuzi, kuchora mistari, mistatili, miduara, na kuonyesha picha.

github.com/Heltec-Aaron-Lee/WiFi_Kit_series

Hatua ya 4: Uhuishaji na faili za XBM

Uhuishaji na faili za XBM
Uhuishaji na faili za XBM
Uhuishaji na Faili za XBM
Uhuishaji na Faili za XBM
Uhuishaji na faili za XBM
Uhuishaji na faili za XBM

Tutatumia kazi ya maktaba ya DrawXbm kuonyesha uhuishaji.

Umbizo la picha la XBM lina safu ya herufi ambapo kila kipengee kinawakilisha seti ya saizi za monochrome (1 kidogo kila moja), kupitia thamani ya hexadecimal. Hizi ni sawa na ka moja.

Kwa sababu herufi nyingi hutumiwa kuwakilisha baiti moja, faili hizi huwa kubwa kuliko zile kutoka kwa fomati zilizopitishwa sasa. Faida ni kwamba zinaweza kukusanywa moja kwa moja bila hitaji la matibabu ya hapo awali.

Mbali na safu, mipangilio miwili ambayo huamua saizi ya picha imejumuishwa.

Ili kujenga uhuishaji, tunahitaji picha ambazo zitaunda muafaka.

Tunaweza kutumia programu yoyote ya kuhariri picha ili kufanya kazi. Tahadhari tu tunayopaswa kuchukua ni kuweka kwanza saizi inayolingana na onyesho na kutumia faili za monochrome.

Ili kuzalisha faili, tunaweza kuzichora au kuagiza picha. Hapa, tuliamua kuhariri picha ya rangi kwa kutumia PaintBrush, na tukachora kila moja ya muafaka

Picha halisi - saizi 960x707 - fomati ya PNG

Hatua inayofuata ni kuifanya kuwa monochrome kwa kuiokoa kama bitmap ya monochrome.

Kisha, tunabadilisha ukubwa wake unaolingana na onyesho.

Zingatia sana vitengo vya kipimo. Katika kesi hii, tulibadilisha picha hiyo ili ichukue urefu wote wa onyesho (wima = saizi 64).

Na picha hiyo kwa saizi sahihi, tutaihariri ili kuunda muafaka. Hapa, tunafuta kila safu ya kiwango cha ishara na kuzihifadhi kama fremu zinazofanana.

Sasa, tunapaswa kubadilisha faili za BMP kuwa fomati ya XBM.

Kuna chaguzi kadhaa za programu ambazo zinaweza kufanya uongofu huu. Tulichagua pia GIMP kama chaguo la mhariri.

Katika mfano wetu, tulitumia PaintBrush kutengeneza na kuhariri faili. Walakini, kila moja ya michakato hii ingeweza kufanywa katika Gimp (au mhariri mwingine wowote).

Ili kubadilisha, kwanza tunafungua faili.

Picha ikiwa wazi, tunaweza kuchagua Faili => Hamisha kama…

Katika dirisha la Picha ya Hamisha, lazima tubadilishe ugani wa faili ya marudio kwa XBM. Gimp itasimamia kutambua muundo unaotarajiwa na kuwasilisha chaguzi zaidi…

Wakati wa kusafirisha nje, Gimp itawasilisha chaguzi zingine. Tunaweza kuacha maadili ya msingi.

Baada ya kubadilisha faili zote, tutakuwa na faili nne za XBM, moja kwa kila fremu.

Sasa wacha tuinakili kwenye folda ya nambari ya chanzo na ubadilishe jina kwa kubadilisha viendelezi vyao kuwa.h.

Hatua ya 5: Kutoka kwa Faili za XBM

Kutoka kwa Faili za XBM
Kutoka kwa Faili za XBM

Tunaweza kufungua faili za XBM katika kihariri chochote cha maandishi, ambapo tutaona picha ya picha na saizi ya picha ambayo tayari ilifafanuliwa.

Hatua ya 6: Nambari ya Chanzo

Nambari ya Chanzo: Taarifa

Tutajumuisha maktaba muhimu, pamoja na faili za picha. Tunafafanua nafasi za picha na muda wa mpito. Tunataja pia pini za OLED zilizounganishwa na ESP32. Mwishowe, tunaunda na kurekebisha kitu cha Onyesha.

// Incluindo kama bibliotecas needárias # ni pamoja na # pamoja na "SSD1306.h" // Incluindo os arquivos de imagem #include "frame1.h" #include "frame2.h" #include "frame3.h" # pamoja "frame4.h" // definições de posição da imagem e intervalo de transição #define posX 21 #define posY 0 #fasili intervalo 500 // Pinos do OLED estão conctados ao ESP32: I2C // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - - GPIO16 #fafanua SDA 4 #fafanua SCL 15 #fafanua RST 16 // O RST de ser seradoado por software SSD1306 display (0x3c, SDA, SCL, RST); // Cria e ajusta o Objeto kuonyesha

Nambari ya Chanzo: Sanidi ()

Anzisha onyesho na ubadilishe skrini kiwima. Hatua ni ya hiari.

kuanzisha batili () {display.init (); // inicia o onyesha kuonyesha.flipScreenVertically (); // inverte wimamente a tela (hiari)}

Nambari ya Chanzo: Kitanzi ()

Jambo la kwanza kufanya kwenye kitanzi ni kusafisha skrini. Tunapakia fremu 1 kwenye bafa kwa kutumia nafasi za awali za posX na posY. Tunafahamisha saizi ya picha na fremu1_width na fremu1_height, na jina la safu iliyo na bits za picha. Tunaonyesha bafa kwenye onyesho na subiri muda kabla ya kuonyesha fremu inayofuata.

kitanzi batili () {display.clear (); // limpa tela // carrega para o buffer 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 contem os bits da imagem, no caso frame1_bits onyesha. // mostra o bafa hakuna onyesho la kuonyesha.display (); // aguarda um intervalo antes de mostrar o próximo frame kuchelewa (intervalo);

Tunarudia mchakato wa muafaka mwingine wote.

// repete o processo para todos os outros frames display.clear (); onyesha. onyesha.display (); kuchelewesha (intervalo); onyesha wazi (); onyesha. onyesha.display (); kuchelewesha (intervalo); onyesha wazi (); onyesha.drawXbm (posX, posY, frame4_width, fremu4_ urefu, frame4_bits); onyesha.display (); kuchelewesha (intervalo); }

Hatua ya 7: Kufanya UpLoad of Code

Kufanya UpLoad of Code
Kufanya UpLoad of Code
Kufanya UpLoad of Code
Kufanya UpLoad of Code
Kufanya UpLoad of Code
Kufanya UpLoad of Code

Ukiwa na IDE wazi, fungua faili na nambari ya chanzo kwa kubofya mara mbili faili ya.ino, au kwa kwenda kwenye menyu ya Faili.

Pamoja na Heltec iliyounganishwa na USB, chagua menyu Vyombo => Kadi: "Heltec_WIFI_LoRa_32"

Bado kwenye menyu ya Zana, chagua bandari ya COM ambapo Heltec imeunganishwa.

Bonyeza kitufe cha PAKUA…

… Na subiri hitimisho.

Hatua ya 8: Faili

Pakua faili:

PDF

INO

Ilipendekeza: