Obsah:
- Krok 1: LCD grafický modul 128x128 RGB TFT ILI 9163C
- Krok 2: Senzor vlhkosti a teploty AM2302 DHT22
- Krok 3: Okruh
- Krok 4: Sestavení
- Krok 5: Knihovna
- Krok 6: Kód
- Krok 7: Některé další zajímavé funkce
Video: Digitální teploměr ESP8266 s LCD displejem: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Dnes vám ukážu, jak pomocí TFT LCD displeje na ESP8266 NodeMCU zobrazovat údaje o teplotě a vlhkosti pro dané prostředí v reálném čase. Ukážu příklad použití displeje s DHT22, což je ukazatel teploty a vlhkosti. V tomto videu konkrétně používám kompaktní displej pro náš digitální teploměr, který je grafický a umožňuje monitorování samotného systému. Cílem dnešní doby je tedy seznámit se s ovládáním displeje z tekutých krystalů pomocí ESP8266.
Krok 1: LCD grafický modul 128x128 RGB TFT ILI 9163C
Displej, který v tomto projektu používáme, má 128 x 128 pixelů. The 0, 0 is in the left left corner, and this model has both text-printing and graphic-printing functions, which will will handle later.
Krok 2: Senzor vlhkosti a teploty AM2302 DHT22
V naší sestavě použijeme AM2302 DHT22, což je senzor, který se mi opravdu líbí, protože je velmi přesný.
Krok 3: Okruh
V projektu máme ESP8266, který je již naprogramován a používá napájení USB. DHT22 je připojen k Data a pull-up odpor k ESP8266, který ovládá LCD displej.
Krok 4: Sestavení
Zde máme elektrické schéma naší sestavy, které ukazuje NodeMCU, senzor a displej. Pamatujte, že se jedná o sériový displej i2c, který je jednodušší na používání, protože má více pinů.
Krok 5: Knihovna
Protože se chystáme programovat displej jazykem Arduino C, potřebujeme knihovnu DHT22 a také LCD.
Nejprve přidejte následující knihovnu „Knihovna snímačů DHT“pro komunikaci se snímačem vlhkosti a teploty.
Jednoduše otevřete "Skica >> Zahrnout knihovny >> Spravovat knihovny …"
Nyní přidejte následující knihovnu „Adafruit-GFX-Library-master“.
Jednoduše otevřete "Skica >> Zahrnout knihovny >> Spravovat knihovny …"
Také přidejte knihovnu "TFT_ILI9163C" pro komunikaci s grafickým modulem LCD.
Otevřete odkaz ((((((((https://github.com/sumotoy/TFT_ILI9163C))))))) a stáhněte si knihovnu.
Rozbalte soubor a vložte jej do složky knihoven Arduino IDE.
C: / Program Files (x86) / Arduino / libraries
Krok 6: Kód
Nejprve přidejme knihovny, které budou použity v našem kódu.
#include // využití para se komunikujícím com o modul modulu LCD#include // použití para se comunicar com o sensor de umidade e temperatura
Definice
Níže uvidíme proměnné, které budeme během programu používat, a instanci objektů.
#define DHTPIN D6 // pino que conectaremos o sensor DHT22#define DHTTYPE DHT22 // DHT22 é o tipo do sensor que utilizaremos (importante para o construtor) DHT dht (DHTPIN, DHTTYPE); // konstruktor do objeto que utilizaremos para se comunicar com o sensor // Color definitions #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #fefe definujte _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); // konstruktor do objeto que utilizaremos para se comunicar com o módulo LCD
Založit
Ve funkci setup () inicializujeme proměnnou „dht“, která je zodpovědná za komunikaci se snímačem vlhkosti a teplotou. Inicializujeme také proměnnou „zobrazení“, která slouží ke komunikaci s modulem LCD.
Objekt také nakonfigurujeme tak, aby začal kreslit na obrazovku.
neplatné nastavení (void) {dht.begin (); // inicialização para se comunicar com o senzor display.begin (); // inicialização para se comunicar com o módulo LCD display.clearScreen (); // limpa a tela, removeendo todos os desenhos display.fillScreen (BLACK); // pinta a tela toda de preto display.setTextSize (2); // konfigurace o tamanho do texto com o tamanho 2 display.setTextColor (ZELENÁ); // konfigurace a text do textového pole se zeleným displejem.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 o cursor display.print ("UMIDADE"); // escreve em tela display.setTextColor (WHITE); // zpoždění konfigurace (1000); // espera de 1 segundo}
Smyčka
Ve funkci loop () získáme vlhkost a teploty načtené snímačem a zapsané na obrazovku v konkrétním místě. V každém intervalu 5 sekund se hodnota načte ze senzoru a zapíše se na obrazovku.
void loop () {int h = dht.readHumidity (); // faz a leitura da umidade do sensor int t = dht.readTemperature (); // čidlo teploty a teploty // // jako 2 různé možnosti využití „fillRect“, které mohou obsahovat místní a místní teploty a teploty, různé barvy a nové paraboly. display.fillRect (5, 32, 120, 20, ČERNÝ); // fillRect (x, y, šířka, výška, barva); display.fillRect (5, 92, 120, 20, ČERNÝ); display.setCursor (40, 35); // reposiciona o cursor para escrever 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 o cursor para escrever display.print (h); // escreve a umidade em tela display.print ("%"); // escreve o símbolo de “porcentagem” para indicater a umidade delay (5000); }
Krok 7: Některé další zajímavé funkce
// Otočí obsah obrazovky (parametry 0, 1, 2 nebo 3)
display.setRotation (uint8_t);
// Obrací barvy zobrazení (dělá záporné)
display.invertDisplay (boolean);
// Nakreslí jeden pixel na obrazovku v poloze (x, y)
display.drawPixel (x, y, color);
// Nakreslí svislou čáru v poloze
display.drawFastVLine (x, y, width, color);
// Nakreslí svislou čáru v zadané poloze
display.drawFastHLine (x, y, width, color);
// Nakreslí vodorovnou čáru v zadané poloze
display.drawRect (x, y, šířka, výška, barva);
// Nakreslí kruh v zadané poloze
display.drawCircle (x, y, poloměr, barva);
Doporučuje:
Použijte smartphone jako bezkontaktní teploměr / přenosný teploměr: 8 kroků (s obrázky)
Používejte chytrý telefon jako bezkontaktní teploměr / přenosný teploměr: Měření tělesné teploty bezkontaktně / bezkontaktně jako termo pistole. Vytvořil jsem tento projekt, protože Thermo Gun je nyní velmi drahý, takže musím získat alternativu k výrobě DIY. A účelem je vytvořit s nízkorozpočtovou verzí. DodáváMLX90614Ardu
Digitální teploměr LED RPi: 6 kroků (s obrázky)
Digitální LED teploměr RPi: Raspbian OS Zjistěte, jak jsem vytvořil tento digitální LED teploměr s Raspberry Pi Zero W, LED páskem, OLED displejem a vlastním PCB. Automaticky cykluje podle seznamu měst a zobrazuje teplotu na OLED displej a LED diody. Ale
Bezkontaktní infračervený teploměr na bázi Arduina - IR teploměr využívající Arduino: 4 kroky
Bezkontaktní infračervený teploměr na bázi Arduina | IR teploměr využívající Arduino: Dobrý den, v tomto návodu vyrobíme bezkontaktní teploměr pomocí arduina. Protože někdy je teplota kapaliny/pevné látky příliš vysoká nebo příliš nízká, je pak těžké s ní navázat kontakt a přečíst si ji. teplota pak v tom scénáři
Digitální teploměr s Arduino a DS18B20: 7 kroků
Digitální teploměr s Arduino a DS18B20: Jednoduše vytvořte digitální teploměr, který vám na LCD obrazovce sdělí aktuální pokojovou teplotu. Jedná se o projekt pro začátečníky. Potřebné zařízení: 1. Arduino UNO R3 2. Teplotní senzor DS18B20. 3. LCD displej 16X2. 4. Propojovací vodiče. 5
Digitální teploměr Acme W/ DS18B20 sonda teploty a I2C LCD: 5 kroků
Digitální teploměr Acme W/ DS18B20 Temp Probe a I2C LCD: jedná se o velmi jednoduchý projekt, který nestojí příliš mnoho a nezabere mnoho času. Dal jsem to do krabice Amazon, protože to tam bylo, ale toto bylo možné namontovat téměř do čehokoli