![Johdanto ESP32 Lora OLED -näyttö: 8 vaihetta Johdanto ESP32 Lora OLED -näyttö: 8 vaihetta](https://i.howwhatproduce.com/images/006/image-17419-12-j.webp)
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:44
![Image Image](https://i.howwhatproduce.com/images/006/image-17419-14-j.webp)
![](https://i.ytimg.com/vi/UKD0a_oGLQ0/hqdefault.jpg)
![Johdanto ESP32 Lora OLED -näyttö Johdanto ESP32 Lora OLED -näyttö](https://i.howwhatproduce.com/images/006/image-17419-15-j.webp)
Tämä on toinen video ESP32 LoRan esittelystä. Tällä kertaa puhumme erityisesti graafisesta näytöstä (128x64 pikseliä). Käytämme SSD1306 -kirjastoa tietojen näyttämiseen tästä OLED -näytöstä ja esitämme esimerkin XBM -kuvia käyttävistä animaatioista.
Vaihe 1: Käytetyt resurssit
![Käytetyt resurssit Käytetyt resurssit](https://i.howwhatproduce.com/images/006/image-17419-16-j.webp)
1 Heltec WiFi LoRa 32
Protoboard
Vaihe 2: Näyttö
![Näyttö Näyttö](https://i.howwhatproduce.com/images/006/image-17419-17-j.webp)
![Näyttö Näyttö](https://i.howwhatproduce.com/images/006/image-17419-18-j.webp)
Kehityskortilla käytetty näyttö on 0,96 tuuman OLED.
Se on 128x64 ja on yksivärinen.
Siinä on I2C -tiedonsiirto ja se on kytketty ESP32: een 3 johdolla:
SDA GPIO4: ssä (data)
SCL GPIO15: ssä (kello)
RST GPIO16: ssa (nollaus ja näytön käynnistys)
Vaihe 3: SSD1306 -kirjasto
![SSD1306 -kirjasto SSD1306 -kirjasto](https://i.howwhatproduce.com/images/006/image-17419-19-j.webp)
Tämä löytyy Heltec-Aaron-Leen tarjoamien kirjastojen joukosta.
Siinä on useita toimintoja merkkijonojen, viivojen, suorakulmioiden, ympyröiden ja kuvien kirjoittamiseen.
github.com/Heltec-Aaron-Lee/WiFi_Kit_series
Vaihe 4: Animaatio- ja XBM -tiedostot
![Animaatio- ja XBM -tiedostot Animaatio- ja XBM -tiedostot](https://i.howwhatproduce.com/images/006/image-17419-20-j.webp)
![Animaatio- ja XBM -tiedostot Animaatio- ja XBM -tiedostot](https://i.howwhatproduce.com/images/006/image-17419-21-j.webp)
![Animaatio- ja XBM -tiedostot Animaatio- ja XBM -tiedostot](https://i.howwhatproduce.com/images/006/image-17419-22-j.webp)
Käytämme kirjaston drawXbm -toimintoa animaation näyttämiseen.
XBM -kuvamuoto koostuu merkkijoukosta, jossa jokainen elementti edustaa tekstillisesti yksiväristen pikselien joukkoa (1 bitti kukin) heksadesimaalisen arvon kautta. Nämä vastaavat yhtä tavua.
Koska yhtä tavua edustavat useat merkit, nämä tiedostot ovat yleensä suurempia kuin tällä hetkellä hyväksytyt muodot. Etuna on, että ne voidaan koota suoraan ilman edeltävää käsittelyä.
Taulukon lisäksi mukana on kaksi kuvan kokoa määrittävää asetusta.
Animaation rakentamiseksi tarvitsemme kuvia, jotka muodostavat kehykset.
Voimme käyttää mitä tahansa kuvankäsittelyohjelmistoa päästäksemme töihin. Ainoat varotoimenpiteet, jotka meidän on toteutettava, on pitää koko ensin yhteensopivana näytön kanssa ja käyttää yksivärisiä tiedostoja.
Tiedostojen luomiseksi voimme piirtää ne tai tuoda kuvia. Tässä päätimme muokata värikuvan PaintBrushilla ja piirsimme jokaisen kehyksen
Alkuperäinen kuva - 960x707 pikseliä --p.webp
Seuraava askel on tehdä siitä yksivärinen tallentamalla se yksiväriseksi bittikarttaksi.
Sitten muutamme sen koon näytön kanssa yhteensopivaksi.
Kiinnitä erityistä huomiota mittayksiköihin. Tässä tapauksessa säädimme kuvan niin, että se otti koko näytön korkeuden (pystysuora = 64 pikseliä).
Kun kuva on oikean kokoinen, muokkaamme sitä kehysten muodostamiseksi. Täällä poistamme jokaisen signaalitason kaaren ja tallennamme ne vastaaviksi kehyksiksi.
Nyt meidän on muunnettava BMP -tiedostot XBM -muotoon.
On olemassa useita ohjelmistovaihtoehtoja, jotka voivat tehdä tämän muunnoksen. Valitsimme myös GIMP: n editorin vaihtoehdoksi.
Esimerkissämme käytimme PaintBrushia tiedostojen luomiseen ja muokkaamiseen. Kuitenkin jokainen näistä prosesseista olisi voitu suorittaa Gimpissä (tai missä tahansa muussa editorissa).
Muuntamiseksi avaamme ensin tiedoston.
Kun kuva on auki, voimme valita File => Export as…
Vie kuva -ikkunassa meidän on muutettava XBM: n kohdetiedostotunniste. Gimp vastaa halutun muodon tunnistamisesta ja lisää vaihtoehtoja…
Viennissä Gimp esittelee muita vaihtoehtoja. Voimme jättää oletusarvot.
Kaikkien tiedostojen muuntamisen jälkeen meillä on neljä XBM -tiedostoa, yksi kutakin kehystä kohden.
Kopioidaan nyt ne lähdekoodikansioon ja nimetään ne muuttamalla niiden laajennukset.h.
Vaihe 5: XBM -tiedostoista poistuminen
![Poistutaan XBM -tiedostoista Poistutaan XBM -tiedostoista](https://i.howwhatproduce.com/images/006/image-17419-23-j.webp)
Voimme avata XBM -tiedostot missä tahansa tekstieditorissa, jossa näemme jo määritellyn kuvamatriisin ja kuvakoon tiedot.
Vaihe 6: Lähdekoodi
Lähdekoodi: Lausunnot
Sisällytämme tarvittavat kirjastot sekä kuvatiedostot. Määritämme kuvan sijainnit ja siirtymävälin. Osoitamme myös ESP32: een liitetyt OLED -nastat. Lopuksi luomme ja säädä Display -objekti.
// Sisällytä bibliotecas välttämättömyyksiksi #include #include "SSD1306.h" // Incluindo os arquivos de imagem #include "frame1.h" #include "frame2.h" #include "frame3.h" #include "frame4.h" // kuvan määritelmät kuvan määrittämisestä ja intervallin siirtämisestä #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 kehittää ohjelmiston SSD1306 -näyttö (0x3c, SDA, SCL, RST); // Cria e ajusta tai Objeto -näyttö
Lähdekoodi: Setup ()
Alusta näyttö ja käännä näyttö pystysuunnassa. Toiminta on valinnaista.
void setup () {display.init (); // aloita tai näyttö display.flipScreenVertically (); // käännä pystysuora menta tela (valinnainen)}
Lähdekoodi: Loop ()
Ensimmäinen tehtävä silmukassa on näytön tyhjentäminen. Ladataan kehys 1 puskuriin käyttämällä posX- ja posY -alkuasentoja. Ilmoitamme kuvan koosta frame1_width ja frame1_height sekä kuvan bitit sisältävän taulukon nimen. Näytämme puskurin näytöllä ja odotamme väliaikaa ennen seuraavan kehyksen näyttämistä.
void loop () {display.clear (); // limpa tela // carrega para o puskuri o frame 1 // usando as posições iniciais posX e posY // informaatio tamanho da imagem com frame1_width e frame1_height // informaatiotiedot matriisi que contem os bits da imagem, no caso frame1_bits display.drawXbm (posX, posY, frame1_width, frame1_height, frame1_bits); // Mostra o puskuri ei näyttöä.display (); // aguarda um intervalo antes de mostrar o próximo frame delay (intervalo);
Toistamme prosessin kaikille muille kehyksille.
// repete o processo para todos os outros kehykset display.clear (); display.drawXbm (posX, posY, frame2_width, frame2_height, frame2_bits); display.display (); viive (intervalo); display.clear (); display.drawXbm (posX, posY, frame3_width, frame3_height, frame3_bits); display.display (); viive (intervalo); display.clear (); display.drawXbm (posX, posY, frame4_width, frame4_height, frame4_bits); display.display (); viive (intervalo); }
Vaihe 7: Koodin lataaminen
![Koodin lataaminen Koodin lataaminen](https://i.howwhatproduce.com/images/006/image-17419-24-j.webp)
![Koodin lataaminen Koodin lataaminen](https://i.howwhatproduce.com/images/006/image-17419-25-j.webp)
![Koodin lataaminen Koodin lataaminen](https://i.howwhatproduce.com/images/006/image-17419-26-j.webp)
Kun IDE on auki, avaa lähdekooditiedosto kaksoisnapsauttamalla.ino-tiedostoa tai siirtymällä Tiedosto-valikkoon.
Kun Heltec on kytketty USB: hen, valitse valikko Tools => Card: "Heltec_WIFI_LoRa_32"
Valitse edelleen Työkalut -valikosta COM -portti, johon Heltec on kytketty.
Napsauta LATAA -painiketta…
… Ja odota päätelmää.
Vaihe 8: Tiedostot
Lataa tiedostot:
INO
Suositeltava:
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)
![Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla) Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)](https://i.howwhatproduce.com/images/001/image-31-j.webp)
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: Hei, ystävä! Tässä kaksiosaisessa sarjassa opimme käyttämään Tinkercadin piirejä - hauskaa, tehokasta ja opettavaista työkalua piirien toiminnasta! Yksi parhaista tavoista oppia on tehdä. Joten suunnittelemme ensin oman projektimme: th
Python Johdanto - Katsuhiko Matsuda & Edwin Cijo - Perusteet: 7 vaihetta
![Python Johdanto - Katsuhiko Matsuda & Edwin Cijo - Perusteet: 7 vaihetta Python Johdanto - Katsuhiko Matsuda & Edwin Cijo - Perusteet: 7 vaihetta](https://i.howwhatproduce.com/images/001/image-1412-j.webp)
Python Johdanto - Katsuhiko Matsuda & Edwin Cijo - Perusteet: Hei, olemme 2 opiskelijaa MYP 2: ssa. Haluamme opettaa sinulle Python -koodin perusteet. Sen on luonut Guido van Rossum Alankomaissa 1980 -luvun lopulla. Se tehtiin ABC -kielen seuraajana. Sen nimi on " Python " koska kun
Johdanto Arduinoon: 18 vaihetta
![Johdanto Arduinoon: 18 vaihetta Johdanto Arduinoon: 18 vaihetta](https://i.howwhatproduce.com/images/001/image-1839-j.webp)
Johdanto Arduinoon: Oletko koskaan miettinyt tehdä omia laitteitasi, kuten sääaseman, auton kojelaudan polttoaineen, nopeuden ja sijainnin seurantaan tai kodinkoneiden ohjaamiseen älypuhelimilla, tai oletko koskaan miettinyt kehittyneiden
ESP32: Johdanto: 10 vaihetta
![ESP32: Johdanto: 10 vaihetta ESP32: Johdanto: 10 vaihetta](https://i.howwhatproduce.com/images/001/image-722-86-j.webp)
ESP32: n esittely: Tässä artikkelissa aiomme puhua ESP32: sta, jota pidän ESP8266: n vanhempana veljenä. Pidän todella tästä mikrokontrollerista, koska siinä on WiFi. Jotta sinulla olisi idea ennen ESP: n olemassaoloa, jos tarvitsit Arduinoa, jotta sinulla olisi WiFi
Johdanto LoRa & Module RFM95 / RFM95W Hoperf: 5 vaihetta
![Johdanto LoRa & Module RFM95 / RFM95W Hoperf: 5 vaihetta Johdanto LoRa & Module RFM95 / RFM95W Hoperf: 5 vaihetta](https://i.howwhatproduce.com/images/002/image-4076-59-j.webp)
Johdanto LoRa & Module RFM95 / RFM95W Hoperf: Tässä tilaisuudessa teemme lyhyen kuvauksen LoRa ™ ja erityisesti radio RFM95/96, valmistaja Hoperf Electronics. Koska pari kuukautta sitten saapui 2 moduulia, haluan aluksi tehdä johdannon aiheesta