![Úvod ESP32 Lora OLED displej: 8 kroků Úvod ESP32 Lora OLED displej: 8 kroků](https://i.howwhatproduce.com/images/006/image-17419-12-j.webp)
Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
![Image Image](https://i.howwhatproduce.com/images/006/image-17419-14-j.webp)
![](https://i.ytimg.com/vi/UKD0a_oGLQ0/hqdefault.jpg)
![Úvod ESP32 Lora OLED displej Úvod ESP32 Lora OLED displej](https://i.howwhatproduce.com/images/006/image-17419-15-j.webp)
Toto je další video týkající se úvodu do ESP32 LoRa. Tentokrát budeme hovořit konkrétně o grafickém displeji (128 x 64 pixelů). K zobrazení informací na tomto OLED displeji použijeme knihovnu SSD1306 a uvedeme příklad animace pomocí obrázků XBM.
Krok 1: Použité zdroje
![Použité zdroje Použité zdroje](https://i.howwhatproduce.com/images/006/image-17419-16-j.webp)
1 Heltec WiFi LoRa 32
Protoboard
Krok 2: Displej
![Displej Displej](https://i.howwhatproduce.com/images/006/image-17419-17-j.webp)
![Displej Displej](https://i.howwhatproduce.com/images/006/image-17419-18-j.webp)
Displej použitý na vývojové desce má OLED 0,96 palce.
Má 128x64 a je černobílý.
Má komunikaci I2C a je připojen k ESP32 pomocí 3 vodičů:
SDA na GPIO4 (pro data)
SCL na GPIO15 (pro hodiny)
RST na GPIO16 (pro reset a spuštění displeje)
Krok 3: Knihovna SSD1306
![Knihovna SSD1306 Knihovna SSD1306](https://i.howwhatproduce.com/images/006/image-17419-19-j.webp)
To lze nalézt společně se sadou knihoven poskytovaných společností Heltec-Aaron-Lee.
Má několik funkcí pro psaní řetězců, kreslení čar, obdélníků, kruhů a zobrazování obrázků.
github.com/Heltec-Aaron-Lee/WiFi_Kit_series
Krok 4: Animace a soubory XBM
![Animace a soubory XBM Animace a soubory XBM](https://i.howwhatproduce.com/images/006/image-17419-20-j.webp)
![Animace a soubory XBM Animace a soubory XBM](https://i.howwhatproduce.com/images/006/image-17419-21-j.webp)
![Animace a soubory XBM Animace a soubory XBM](https://i.howwhatproduce.com/images/006/image-17419-22-j.webp)
K zobrazení animace použijeme funkci drawXbm knihovny.
Formát obrázku XBM se skládá z řady znaků, kde každý prvek textově představuje sadu monochromatických pixelů (každý 1 bit), a to prostřednictvím hexadecimální hodnoty. Ty jsou ekvivalentní jednomu bajtu.
Protože k reprezentaci jednoho bajtu slouží více znaků, bývají tyto soubory větší než ty z aktuálně přijatých formátů. Výhodou je, že je lze sestavit přímo bez předchozího ošetření.
Kromě pole jsou zahrnuta dvě nastavení, která určují velikost obrázku.
K vytvoření animace potřebujeme obrázky, které budou tvořit rámce.
K práci můžeme použít jakýkoli software pro úpravu obrázků. Jediná preventivní opatření, která bychom měli udělat, jsou nejprve udržovat velikost kompatibilní s displejem a používat monochromatické soubory.
K vygenerování souborů je můžeme nakreslit nebo importovat obrázky. Zde jsme se rozhodli upravit barevný obrázek pomocí PaintBrush a nakreslili jsme každý z rámečků
Původní obrázek - 960 x 707 pixelů - formát PNG
Dalším krokem je, aby byl monochromatický uložením jako černobílý rastrový obrázek.
Poté jej změníme na velikost kompatibilní s displejem.
Zvláštní pozornost věnujte měrným jednotkám. V tomto případě jsme upravili obrázek tak, aby zabíral celou výšku displeje (svisle = 64 pixelů).
Když je obrázek ve správné velikosti, upravíme jej tak, aby tvořil rámečky. Zde vymažeme každý oblouk úrovně signálu a uložíme je jako odpovídající rámce.
Nyní musíme převést soubory BMP do formátu XBM.
Tuto konverzi může provést několik softwarových možností. Jako možnost editoru jsme také vybrali GIMP.
V našem příkladu jsme pro generování a úpravu souborů použili PaintBrush. Každý z těchto procesů však mohl být proveden v Gimpu (nebo v jiném editoru).
Chcete -li převést, nejprve otevřete soubor.
Když je obrázek otevřený, můžeme vybrat Soubor => Exportovat jako …
V okně Exportovat obrázek musíme změnit koncovou příponu souboru pro XBM. Gimp bude mít na starosti identifikaci požadovaného formátu a prezentaci dalších možností…
Při exportu Gimp představí další možnosti. Můžeme nechat výchozí hodnoty.
Po převodu všech souborů budeme mít čtyři soubory XBM, jeden pro každý snímek.
Nyní je zkopírujeme do složky zdrojového kódu a přejmenujeme je změnou jejich přípon na.h.
Krok 5: Ukončení souborů XBM
![Ukončení souborů XBM Ukončení souborů XBM](https://i.howwhatproduce.com/images/006/image-17419-23-j.webp)
Soubory XBM můžeme otevřít v libovolném textovém editoru, kde uvidíme informace o matici obrazu a velikosti obrázku, které již byly definovány.
Krok 6: Zdrojový kód
Zdrojový kód: Prohlášení
Zahrneme potřebné knihovny a také soubory obrázků. Definujeme polohy obrazu a přechodový interval. Rovněž ukazujeme na OLED piny připojené k ESP32. Nakonec vytvoříme a upravíme objekt Display.
// Incluindo as bibliotecas nutárias #include #include "SSD1306.h" // Incluindo os arquivos de imagem #include "frame1.h" #include "frame2.h" #include "frame3.h" #include "frame4.h" // definice snímků mezi snímky a přenosy #define posX 21 #definovat posY 0 #definovat 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 deve ser controlado por software SSD1306 display (0x3c, SDA, SCL, RST); // Cria e ajusta o Objeto display
Zdrojový kód: Nastavení ()
Inicializujte zobrazení a vertikálně převraťte obrazovku. Akce je volitelná.
neplatné nastavení () {display.init (); // inicia o zobrazení display.flipScreenVertically (); // inverte verticalmente a tela (opcional)}
Zdrojový kód: Loop ()
První věc, kterou musíte ve smyčce udělat, je vymazat obrazovku. Načteme rámeček 1 do vyrovnávací paměti pomocí počátečních pozic posX a posY. O velikosti obrázku informujeme pomocí frame1_width a frame1_height a názvu pole obsahujícího bitové kopie obrázku. Ukážeme vyrovnávací paměť na displeji a počkáme na interval, než ukážeme další snímek.
void loop () {display.clear (); // limpa tela // carrega para o buffer o frame 1 // usando as posições initiais posX e posY // informa o tamanho da imagem com frame1_width e frame1_height // informa o nome da matriz que uvaž os bits da imagem, no caso frame1_bits display.drawXbm (posX, posY, frame1_width, frame1_height, frame1_bits); // mostra o buffer no display display.display (); // aguarda um intervalo antes de mostrar o próximo frame delay (intervalo);
Opakujeme postup pro všechny ostatní snímky.
// repete o proceso para todos os outros frames display.clear (); display.drawXbm (posX, posY, frame2_width, frame2_height, frame2_bits); display.display (); zpoždění (intervalo); display.clear (); display.drawXbm (posX, posY, frame3_width, frame3_height, frame3_bits); display.display (); zpoždění (intervalo); display.clear (); display.drawXbm (posX, posY, frame4_width, frame4_height, frame4_bits); display.display (); zpoždění (intervalo); }
Krok 7: Provedení Nahrání kódu
![Provádění UpLoad kódu Provádění UpLoad kódu](https://i.howwhatproduce.com/images/006/image-17419-24-j.webp)
![Provádění UpLoad kódu Provádění UpLoad kódu](https://i.howwhatproduce.com/images/006/image-17419-25-j.webp)
![Provádění UpLoad kódu Provádění UpLoad kódu](https://i.howwhatproduce.com/images/006/image-17419-26-j.webp)
Otevřete IDE a otevřete soubor se zdrojovým kódem poklepáním na soubor.ino nebo v nabídce Soubor.
Když je Heltec připojen k USB, vyberte nabídku Nástroje => Karta: „Heltec_WIFI_LoRa_32“
Stále v nabídce Nástroje vyberte port COM, ke kterému je připojen Heltec.
Klikněte na tlačítko UPLOAD…
… A počkejte na závěr.
Krok 8: Soubory
Stáhnout soubory:
INO
Doporučuje:
Používejte jeden displej Velký a 4 Cifre 8886 displej Con Wemos ESP8266 Arduino NodeMCU: 6 kroků
![Používejte jeden displej Velký a 4 Cifre 8886 displej Con Wemos ESP8266 Arduino NodeMCU: 6 kroků Používejte jeden displej Velký a 4 Cifre 8886 displej Con Wemos ESP8266 Arduino NodeMCU: 6 kroků](https://i.howwhatproduce.com/images/007/image-18100-j.webp)
Používejte jeden velký displej se 4 Cifre 8886 displejem s ESP8266 Arduino NodeMCU: Vybírejte ze všech semiplic, abyste získali více než 8886 displejů, zobrazte více než jednu skladbu, D1 - potřebujete více Arduino nebo NodeMCU o kvalitní mikrokontrolér, který můžete použít pro každý další
TTGO (barevný) displej s mikropythonem (TTGO T-displej): 6 kroků
![TTGO (barevný) displej s mikropythonem (TTGO T-displej): 6 kroků TTGO (barevný) displej s mikropythonem (TTGO T-displej): 6 kroků](https://i.howwhatproduce.com/images/009/image-24779-j.webp)
TTGO (barevný) displej s mikropythonem (TTGO T-displej): TTGO T-Display je deska založená na ESP32, která obsahuje 1,14 palcový barevný displej. Desku je možné zakoupit za cenu nižší než 7 $ (včetně poštovného, cena viditelná v Banggoodu). To je neuvěřitelná cena za ESP32 včetně displeje
LCD displej I2C / IIC - Použijte SPI LCD na I2C LCD displej pomocí modulu SPI až IIC s Arduino: 5 kroků
![LCD displej I2C / IIC - Použijte SPI LCD na I2C LCD displej pomocí modulu SPI až IIC s Arduino: 5 kroků LCD displej I2C / IIC - Použijte SPI LCD na I2C LCD displej pomocí modulu SPI až IIC s Arduino: 5 kroků](https://i.howwhatproduce.com/images/001/image-2309-36-j.webp)
LCD displej I2C / IIC | Použijte SPI LCD na I2C LCD displej pomocí modulu SPI až IIC s Arduino: Ahoj lidi, protože normální SPI LCD 1602 má příliš mnoho vodičů na připojení, takže je velmi obtížné propojit jej s arduino, ale na trhu je k dispozici jeden modul, který může převést SPI displej na IIC displej, takže pak potřebujete připojit pouze 4 vodiče
LCD displej I2C / IIC - Převeďte SPI LCD na I2C LCD displej: 5 kroků
![LCD displej I2C / IIC - Převeďte SPI LCD na I2C LCD displej: 5 kroků LCD displej I2C / IIC - Převeďte SPI LCD na I2C LCD displej: 5 kroků](https://i.howwhatproduce.com/images/002/image-5689-18-j.webp)
LCD displej I2C / IIC | Převeďte SPI LCD na I2C LCD displej: použití spi lcd displeje vyžaduje příliš mnoho připojení, což je opravdu těžké, takže jsem našel modul, který dokáže převést i2c lcd na spi lcd, takže můžeme začít
Displej ESP32 a OLED: Internetové hodiny - DHT22: 10 kroků (s obrázky)
![Displej ESP32 a OLED: Internetové hodiny - DHT22: 10 kroků (s obrázky) Displej ESP32 a OLED: Internetové hodiny - DHT22: 10 kroků (s obrázky)](https://i.howwhatproduce.com/images/004/image-9471-33-j.webp)
Displej ESP32 a OLED: Internetové hodiny - DHT22: Tento Instructable je soutěž o soutěž: " GIFs Challenge 2017 ", Pokud se vám líbí, dejte prosím svůj hlas kliknutím na výše uvedený banner. Díky moc!;-) Tento tutoriál je pokračováním cesty za poznáním tohoto skvělého zařízení IoT