Tartalomjegyzék:

Bevezetés ESP32 Lora OLED kijelző: 8 lépés
Bevezetés ESP32 Lora OLED kijelző: 8 lépés

Videó: Bevezetés ESP32 Lora OLED kijelző: 8 lépés

Videó: Bevezetés ESP32 Lora OLED kijelző: 8 lépés
Videó: TTGO ESP32 OLED LoRa 2024, Július
Anonim
Image
Image
Bevezetés ESP32 Lora OLED kijelző
Bevezetés ESP32 Lora OLED kijelző

Ez egy másik videó az ESP32 LoRa bevezetőjéről. Ezúttal kifejezetten (128x64 képpontos) grafikus kijelzőről fogunk beszélni. Az SSD1306 könyvtárat használjuk az OLED kijelzőn megjelenített információk megjelenítésére, és bemutatunk egy példát az XBM képeket használó animációkra.

1. lépés: Felhasznált erőforrások

Felhasznált források
Felhasznált források

1 Heltec WiFi LoRa 32

Protoboard

2. lépés: A kijelző

A kijelző
A kijelző
A kijelző
A kijelző

A fejlesztőpanelen használt kijelző 0,96 hüvelykes OLED.

128x64 méretű és fekete -fehér.

I2C kommunikációval rendelkezik, és 3 vezetéken keresztül csatlakozik az ESP32 -hez:

SDA a GPIO4 -en (adatforgalomhoz)

SCL a GPIO15 -n (óra esetén)

RST a GPIO16 -on (a visszaállításhoz és a kijelző indításához)

3. lépés: Az SSD1306 könyvtár

Az SSD1306 könyvtár
Az SSD1306 könyvtár

Ez megtalálható a Heltec-Aaron-Lee által biztosított könyvtárakkal együtt.

Számos funkcióval rendelkezik karakterláncok, vonalak, téglalapok, körök írásához és képek megjelenítéséhez.

github.com/Heltec-Aaron-Lee/WiFi_Kit_series

4. lépés: Az animáció és az XBM fájlok

Az animáció és az XBM fájlok
Az animáció és az XBM fájlok
Az animáció és az XBM fájlok
Az animáció és az XBM fájlok
Az animáció és az XBM fájlok
Az animáció és az XBM fájlok

Az animáció megjelenítéséhez a könyvtár drawXbm funkcióját fogjuk használni.

Az XBM képformátum karakterekből áll, ahol minden elem szövegszerűen képviseli a monokróm képpontok halmazát (egyenként 1 bit), hexadecimális értéken keresztül. Ezek egy bájtnak felelnek meg.

Mivel több karaktert használnak egyetlen bájtként, ezek a fájlok általában nagyobbak, mint a jelenleg elfogadott formátumok. Előnye, hogy közvetlenül összeállíthatók előzetes kezelés nélkül.

A tömb mellett két, a képméretet meghatározó beállítás is szerepel.

Az animáció elkészítéséhez szükségünk van a képekre, amelyek a kereteket alkotják.

Bármilyen képszerkesztő szoftvert használhatunk a munkához. Az egyetlen óvintézkedés, amelyet meg kell tennünk, először a méret kompatibilisnek kell maradnia a kijelzővel, és fekete -fehér fájlokat kell használnia.

A fájlok létrehozásához rajzolhatunk vagy importálhatunk képeket. Itt úgy döntöttünk, hogy egy színes képet szerkesztünk a PaintBrush segítségével, és mindegyik keretet lerajzoltuk

Eredeti kép - 960x707 képpont --p.webp

A következő lépés az, hogy monokróm lesz, ha monokróm bitképként menti.

Ezután átméretezzük a kijelzővel kompatibilis méretre.

Különös figyelmet kell fordítani a mértékegységekre. Ebben az esetben úgy állítottuk be a képet, hogy az a kijelző teljes magasságát elfoglalja (függőleges = 64 pixel).

Ha a kép megfelelő méretű, akkor szerkesztjük a keretek kialakításához. Itt töröljük a jelszint minden ívét, és elmentjük őket megfelelő keretként.

Most a BMP fájlokat kell átalakítanunk XBM formátumba.

Számos szoftveres lehetőség van erre az átalakításra. Szerkesztőként a GIMP -t is választottuk.

Példánkban a PaintBrush segítségével állítottuk elő és szerkesztettük a fájlokat. Mindazonáltal ezeket a folyamatokat a Gimp (vagy bármely más szerkesztő) segítségével elvégezhette.

A konvertáláshoz először megnyitjuk a fájlt.

Nyitott kép mellett kiválaszthatjuk a File => Export as… lehetőséget.

A Kép exportálása ablakban módosítanunk kell az XBM célfájl kiterjesztését. A Gimp feladata lesz a kívánt formátum azonosítása és további lehetőségek bemutatása …

Exportáláskor a Gimp más lehetőségeket is bemutat. Hagyhatjuk az alapértelmezett értékeket.

Az összes fájl konvertálása után négy XBM fájlunk lesz, minden kerethez egy.

Most másoljuk át őket a forráskód mappába, és nevezzük át őket úgy, hogy kiterjesztésüket.h -re változtatjuk.

5. lépés: Kilépés az XBM fájlokból

Kilépés az XBM fájlokból
Kilépés az XBM fájlokból

Az XBM fájlokat bármely szövegszerkesztőben megnyithatjuk, ahol látni fogjuk a már meghatározott képmátrix- és képméret -információkat.

6. lépés: Forráskód

Forráskód: Nyilatkozatok

Mellékeljük a szükséges könyvtárakat, valamint a képfájlokat. Meghatározzuk a kép pozícióit és az átmeneti intervallumot. Mutatjuk az ESP32 -hez csatlakoztatott OLED csapokat is. Végül létrehozzuk és beállítjuk a Display objektumot.

// Az Incluindo mint bibliotecas needsárias #include #include "SSD1306.h" // Incluindo os arquivos de imagem #include "frame1.h" #include "frame2.h" #include "frame3.h" #include "frame4.h" // definições de pozição da imagem e intervalo de transição #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 a szoftver vezérlése SSD1306 kijelző (0x3c, SDA, SCL, RST); // Cria e ajusta o Objeto display

Forráskód: Beállítás ()

Inicializálja a kijelzőt, és fordítsa függőlegesen a képernyőt. A művelet nem kötelező.

void setup () {display.init (); // inicia vagy display display.flipScreenVertically (); // invertal verticalmente a tela (opcionális)}

Forráskód: Loop ()

A hurok első dolga a képernyő törlése. Az 1. keretet betöltjük a pufferbe a posX és a posY kezdeti pozíciók használatával. Tájékoztatjuk a kép méretét frame1_width és frame1_height paraméterekkel, valamint a kép bitjeit tartalmazó tömb nevét. Megjelenítjük a puffert a kijelzőn, és várunk egy intervallumot, mielőtt a következő képkockát mutatnánk.

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 puffer nincs kijelző display.display (); // aguarda um intervalo antes de mostrar o próximo frame delay (intervalo);

Az eljárást megismételjük az összes többi képkockánál.

// repete o processo para todos os outros frame display.clear (); display.drawXbm (posX, posY, frame2_width, frame2_height, frame2_bits); display.display (); késleltetés (intervallum); display.clear (); display.drawXbm (posX, posY, frame3_width, frame3_height, frame3_bits); display.display (); késleltetés (intervallum); display.clear (); display.drawXbm (posX, posY, frame4_width, frame4_height, frame4_bits); display.display (); késleltetés (intervallum); }

7. lépés: A kód feltöltése

A kód feltöltése
A kód feltöltése
A kód feltöltése
A kód feltöltése
A kód feltöltése
A kód feltöltése

Nyitott IDE esetén nyissa meg a fájlt a forráskóddal, duplán kattintva az.ino fájlra, vagy lépjen a Fájl menübe.

Ha a Heltec csatlakoztatva van az USB -hez, válassza az Eszközök>> Kártya menüt: "Heltec_WIFI_LoRa_32"

Az Eszközök menüben válassza ki azt a COM portot, amelyhez a Heltec csatlakozik.

Kattintson a FELTÖLTÉS gombra…

… És várja meg a következtetést.

8. lépés: Fájlok

Töltse le a fájlokat:

PDF

ÉN NEM

Ajánlott: