Tartalomjegyzék:
- 1. lépés: LCD grafikus modul 128x128 RGB TFT ILI 9163C
- 2. lépés: Páratartalom és hőmérséklet érzékelő AM2302 DHT22
- 3. lépés: Áramkör
- 4. lépés: Összeszerelés
- 5. lépés: Könyvtár
- 6. lépés: Kód
- 7. lépés: Néhány más érdekes funkció
Videó: ESP8266 Digitális hőmérő LCD kijelzővel: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ma megmutatom, hogyan használhat TFT LCD kijelzőt az ESP8266 NodeMCU készüléken a hőmérséklet és páratartalom adatainak megjelenítéséhez egy adott valós idejű környezetben. Példát hozok a kijelző DHT22 -vel való használatára, amely a hőmérséklet- és páratartalommérő. Ebben a videóban kifejezetten kompakt kijelzőt használok digitális hőmérőnkhöz, amely grafikus és lehetővé teszi a rendszer megfigyelését. A mai cél tehát az, hogy megismerjük a folyadékkristályos kijelző kezelését az ESP8266 segítségével.
1. lépés: LCD grafikus modul 128x128 RGB TFT ILI 9163C
Az ebben a projektben használt kijelző 128x128 pixel. A 0, 0 a bal felső sarokban található, és ez a modell szövegnyomtatási és grafikus nyomtatási funkciókkal is rendelkezik, amelyekkel később foglalkozunk.
2. lépés: Páratartalom és hőmérséklet érzékelő AM2302 DHT22
Összeszerelésünkben az AM2302 DHT22 -t fogjuk használni, ez az érzékelő nagyon tetszik, mivel nagyon pontos.
3. lépés: Áramkör
A projektben van egy ESP8266, amely már be van programozva és használja az USB tápellátást. A DHT22 az adatokhoz, a felhúzó ellenállás pedig az LCD kijelzőt vezérlő ESP8266-hoz van csatlakoztatva.
4. lépés: Összeszerelés
Itt van a szerelvény elektromos diagramja, amely a NodeMCU -t, az érzékelőt és a kijelzőt mutatja. Ne feledje, hogy ez egy soros kijelző, az i2c, amely könnyebben használható, mert több tűvel rendelkezik.
5. lépés: Könyvtár
Mivel a kijelzőt Arduino C nyelvre programozzuk, szükségünk van a DHT22 könyvtárra, valamint az LCD -re.
Először adja hozzá a következő "DHT szenzortár" könyvtárat a páratartalom- és hőmérséklet -érzékelővel való kommunikációhoz.
Egyszerűen nyissa meg a "Vázlat >> Könyvtárak felvétele >> Könyvtárak kezelése …" lehetőséget.
Most adja hozzá a következő könyvtárat: "Adafruit-GFX-Library-master".
Egyszerűen nyissa meg a "Vázlat >> Könyvtárak felvétele >> Könyvtárak kezelése …" lehetőséget.
Ezenkívül adja hozzá a "TFT_ILI9163C" könyvtárat az LCD grafikus modullal való kommunikációhoz.
Nyissa meg a linket (((((((((https://github.com/sumotoy/TFT_ILI9163C))))) és töltse le a könyvtárat.
Csomagolja ki a fájlt, és illessze be az Arduino IDE könyvtárak mappájába.
C: / Program Files (x86) / Arduino / libraries
6. lépés: Kód
Először is adjuk hozzá a kódunkban használt könyvtárakat.
#include // utilizada para se comunicar com o módulo LCD#include // utilizada para se comunicar com o sensor de umidade and Temperatura
Definíciók
Az alábbiakban a program során használt változókat és az objektumok példányát látjuk.
#define DHTPIN D6 // pino que conectaremos o sensor DHT22#define DHTTYPE DHT22 // DHT22 é o tipo do sensor que utilizaremos (fontos a konstruktorhoz) DHT dht (DHTPIN, DHTTYPE); // construtor do objeto que utilizaremos para se comunicar com o sensor // Színmeghatározások #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xFFY #xfine YX define _CS D1 // pino que conectaremos o CS do módulo LCD #define _DC D4 // pino que conectaremos o RS do módulo LCD TFT_ILI9163C display = TFT_ILI9163C (_ CS, _DC); // construtor do objeto que utilizaremos para se comunicar com o módulo LCD
Beállít
A setup () függvényben inicializáljuk a "dht" változót, amely felelős a páratartalom -érzékelővel és a hőmérséklettel való kommunikációért. Inicializáljuk a "display" változót is, amelyet az LCD -modullal való kommunikációhoz használunk.
Azt is beállítjuk, hogy az objektum elkezdjen rajzolni a képernyőn.
void setup (void) {dht.begin (); // inicialização para se comunicar com o sensor display.begin (); // inicialização para se comunicar com o módulo LCD display.clearScreen (); // limpa a tela, removeendo todos os desenhos display.fillScreen (FEKETE); // pinta a tela toda de preto display.setTextSize (2); // configura o tamanho do texto com o tamanho 2 display.setTextColor (ZÖLD); // configure a cor do texto como verde display.setCursor (5, 10); // posiciona o cursor para começar a escrita a partir do (x, y) display.print ("TEMPERATUR"); // escreve em tela display.setCursor (22, 70); // reposiciona vagy kurzor display.print ("UMIDADE"); // escreve em tela display.setTextColor (FEHÉR); // configura a cor do texto como branco (a partir de agora) delay (1000); // espera de 1 segundo}
Hurok
A loop () függvényben lekérjük a páratartalmat és a hőmérsékletet, amelyet az érzékelő leolvasta és a képernyőre írt az adott helyen. Minden 5 másodperces időközönként az érték leolvasásra kerül az érzékelőből, és megjelenik a képernyőn.
void loop () {int h = dht.readHumidity (); // faz a leitura da umidade do sensor int t = dht.readTemperature (); // faz a leitura da temperatura do sensor // as 2 linhas seguintes utilizando o método “fillRect”, são para fazer a limpeza do local onde escreveremos a umidade e a temperatura, apagaremos o valor atual para escrever novamente atualizado. display.fillRect (5, 32, 120, 20, FEKETE); // fillRect (x, y, szélesség, magasság, szín); display.fillRect (5, 92, 120, 20, FEKETE); display.setCursor (40, 35); // reposiciona vagy kurzor paracrever display.print (t); // escreve a temperatura em tela display.print ((char) 247); // escreve o símbolo de grau ° através de código display.print ("C"); // coloca o “C” para indicar que é graus Celcius display.setCursor (40, 95); // reposiciona vagy kurzor paracrever display.print (h); // egy umidade em tela display létrehozása.print ("%"); // escreve o símbolo de “porcentagem” para indicar a umidade delay (5000); }
7. lépés: Néhány más érdekes funkció
// Elforgatja a képernyő tartalmát (0, 1, 2 vagy 3 paraméter)
display.setRotation (uint8_t);
// Megfordítja a kijelző színeit (negatív)
display.invertDisplay (boolean);
// Egyetlen képpontot rajzol a képernyőre az (x, y) pozícióban
display.drawPixel (x, y, color);
// Függőleges vonalat rajzol a helyzetben
display.drawFastVLine (x, y, szélesség, szín);
// Függőleges vonalat rajzol a megadott helyre
display.drawFastHLine (x, y, szélesség, szín);
// Vízszintes vonalat rajzol a megadott helyre
display.drawRect (x, y, szélesség, magasság, szín);
// Kört rajzol a megadott pozícióban
display.drawCircle (x, y, sugár, szín);
Ajánlott:
Digitális RPi LED hőmérő: 6 lépés (képekkel)
Digitális RPi LED hőmérő: Raspbian OS Ismerje meg, hogyan készítettem ezt a digitális LED -es hőmérőt, Raspberry Pi Zero W -vel, LED -szalaggal, OLED kijelzővel és egyedi PCB -vel. Ez automatikusan ciklusokat készít a városok listájáról, és megjeleníti a hőmérsékletet az OLED kijelzőn kijelző, és a LED -ek. De
Arduino alapú digitális hőmérő: 3 lépés
Arduino alapú digitális hőmérő: Ebben a projektben egy Arduino alapú digitális hőmérőt terveztek, amely felhasználható a szoba hőmérsékletének elemzésére. A hőmérőt általában hőmérséklet -mérő műszerként használják. Számos alapelv használható mérésre
Digitális hőmérő DHT11 ESP8266 használatával: 4 lépés
Digitális hőmérő DHT11 az ESP8266 használatával: Az előző cikkben már tárgyaltam a DH11 -ről és annak megjelenítéséről olyan kimeneti eszközökön, mint a 7 szegmenses, LCD, soros monitor és RGB gyűrű. Ebben a cikkben megmutatom, hogyan kell figyelni a hőmérsékletet és a páratartalmat böngésző használata mobiltelefonon
Arduino alapú érintésmentes infravörös hőmérő - IR alapú hőmérő Arduino használatával: 4 lépés
Arduino alapú érintésmentes infravörös hőmérő | IR alapú hőmérő Arduino használatával: Sziasztok, ebben az útmutatóban, érintésmentes hőmérőt készítünk arduino segítségével. Mivel néha a folyadék/szilárd anyag hőmérséklete túl magas vagy alacsony, majd nehéz kapcsolatba lépni vele és elolvasni ilyenkor a hőmérséklet
Acme digitális hőmérő W/ DS18B20 Temp Probe és I2C LCD: 5 lépés
Acme digitális hőmérő W/ DS18B20 Temp Probe és I2C LCD: ez egy nagyon egyszerű projekt, amely nem kerül sokba és nem sok időt vesz igénybe. Az Amazon dobozába tettem, mert ott volt, de ezt szinte bármibe be lehet szerelni