Sadržaj:
- Korak 1: LCD grafički modul 128x128 RGB TFT ILI 9163C
- Korak 2: Senzor vlage i temperature AM2302 DHT22
- Korak 3: Krug
- Korak 4: Montaža
- Korak 5: Biblioteka
- Korak 6: Kodiranje
- Korak 7: Neke druge zanimljive funkcije
Video: ESP8266 Digitalni termometar sa LCD ekranom: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Danas ću vam pokazati kako koristiti TFT LCD ekran na ESP8266 NodeMCU za prikaz podataka o temperaturi i vlažnosti za dato okruženje u stvarnom vremenu. Naveo sam primjer korištenja zaslona s DHT22, a to je mjerač temperature i vlažnosti. U ovom videu, konkretno, koristim kompaktni ekran za naš digitalni termometar, koji je grafički i omogućava nadzor na samom sistemu. Stoga je današnji cilj, dakle, naučiti rukovanje zaslonom s tekućim kristalima pomoću ESP8266.
Korak 1: LCD grafički modul 128x128 RGB TFT ILI 9163C
Ekran koji koristimo u ovom projektu je 128x128 piksela. 0, 0 se nalazi u gornjem lijevom kutu, a ovaj model ima funkcije štampanja teksta i grafike, o čemu ćemo kasnije govoriti.
Korak 2: Senzor vlage i temperature AM2302 DHT22
U našem sastavljanju koristit ćemo AM2302 DHT22, koji je senzor koji mi se jako sviđa, jer je vrlo precizan.
Korak 3: Krug
U projektu imamo ESP8266 koji je već programiran i koristi USB napajanje. DHT22 je spojen na Data, a pull-up otpornik na ESP8266, koji kontrolira LCD zaslon.
Korak 4: Montaža
Ovdje imamo električni dijagram našeg sklopa koji prikazuje NodeMCU, senzor i zaslon. Upamtite da je ovo serijski zaslon, i2c, koji je lakši za upotrebu jer ima više pinova.
Korak 5: Biblioteka
Budući da ćemo zaslon programirati na jeziku Arduino C, potrebna nam je biblioteka DHT22, kao i LCD.
Prvo dodajte sljedeću biblioteku "DHT sensor library" za komunikaciju sa senzorom vlažnosti i temperature.
Jednostavno pristupite "Sketch >> Include Libraries >> Manage Libraries …"
Sada dodajte sljedeću biblioteku, "Adafruit-GFX-Library-master".
Jednostavno pristupite "Sketch >> Include Libraries >> Manage Libraries …"
Takođe, dodajte biblioteku "TFT_ILI9163C" za komunikaciju sa LCD grafičkim modulom.
Pristupite vezi ((((((((https://github.com/sumotoy/TFT_ILI9163C)))))) i preuzmite biblioteku.
Raspakirajte datoteku i zalijepite je u mapu biblioteke Arduino IDE -a.
C: / Programske datoteke (x86) / Arduino / biblioteke
Korak 6: Kodiranje
Prvo dodajmo biblioteke koje će se koristiti u našem kodu.
#include // iskorištavanje parametra komunikacionog komodiranog LCD ekrana#include // iskorištavanje para komunikacionog kom senzora za umidadu i temperaturu
Definicije
U nastavku ćemo vidjeti varijable koje ćemo koristiti tokom programa i instancu objekata.
#define DHTPIN D6 // pino que conectaremos o senzoru DHT22#define DHTTYPE DHT22 // DHT22 je o tipo do senzora koji se koristi (važno za konstruktor) DHT dht (DHTPIN, DHTTYPE); // konstruktor ne koristi kako bi se upotrijebio komunikacijski senzor // Definicije boja #define CRNO 0x0000 #define PLAVO 0x001F #define CRVENO 0xF800 #define ZELENO 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81FFEFdef #defineFEFEFExDexFineFdeF #defineFEFEFEFE #defineFEFEFEFExFEFE #defineFEFEFEFdeFEFE #defineFEFEFExFEFE #Define 0FEFEFEFEFEFEFEFE #DEFineFEFEFEFEFEFE #DEFineFDEFEFEFE #DEFEFEFEFEFE #DEFEFEFEFEFEFEFEFEE #def definirati _CS D1 // pino que konektare o CS -u za upravljanje LCD #define _DC D4 // pino que konektare za RS za upravljanje LCD TFT_ILI9163C prikaz = TFT_ILI9163C (_ CS, _DC); // konstruktor ne koristi objekte koji se koriste za komunikaciju sa LCD ekranom
Postaviti
U funkciji setup () pokrećemo varijablu "dht", koja je odgovorna za komunikaciju sa senzorom vlažnosti i temperaturom. Također ćemo inicijalizirati varijablu "display" koja se koristi za komunikaciju s LCD modulom.
Također ćemo konfigurirati objekt za početak crtanja na ekranu.
void setup (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, removendo todos os desenhos display.fillScreen (BLACK); // pinta a tela toda de preto display.setTextSize (2); // konfiguracija tamanha za tekstualni com o tamanho 2 display.setTextColor (ZELENO); // konfigurira tekstualnu poruku prema verdi display.setCursor (5, 10); // pozicija kursora za dolaznu poziciju i prikaz do (x, y) display.print ("TEMPERATUR"); // escreve em tela display.setCursor (22, 70); // repozicioniranje kursora display.print ("UMIDADE"); // escreve em tela display.setTextColor (BIJELO); // konfiguracija a cor do texto como branco (a partr de agora) delay (1000); // espera de 1 segundo}
Petlja
U funkciji loop () dohvatit ćemo vlažnost i temperature koje očitava senzor i zapisuju na ekranu na određenoj lokaciji. U svakom intervalu od 5 sekundi, vrijednost se očitava sa senzora i zapisuje na ekran.
void loop () {int h = dht.readHumidity (); // faz a leitura to umidade do senzor int t = dht.readTemperature (); // faz a leitura da temperatura do senzora // kao 2 linhas seguintes utilizendo the método “fillRect”, são para fazer a limpeza to local to end escreveremos a umidade e a temperature, apagaremos or valor atual para escrever newmente atualizado. display.fillRect (5, 32, 120, 20, CRNO); // fillRect (x, y, širina, visina, boja); display.fillRect (5, 92, 120, 20, CRNO); display.setCursor (40, 35); // repozicioniranje kursora za escrever display.print (t); // escreve a temperature em tela display.print ((char) 247); // escreve o símbolo de grau ° através de código display.print ("C"); // koloka o “C” paralelno prikazana Celcius display.setCursor (40, 95); // prikaz kursora za escrever display.print (h); // escreve a umidade em tela display.print ("%"); // escreve o símbolo de "porcentagem" para indicar a umidade delay (5000); }
Korak 7: Neke druge zanimljive funkcije
// Rotira sadržaj ekrana (parametri 0, 1, 2 ili 3)
display.setRotation (uint8_t);
// Mijenja boje prikaza (stvara negativ)
display.invertDisplay (boolean);
// Crta jedan piksel na ekranu u položaju (x, y)
display.drawPixel (x, y, boja);
// Povlači okomitu liniju u položaju
display.drawFastVLine (x, y, širina, boja);
// Povlači okomitu liniju na navedenoj poziciji
display.drawFastHLine (x, y, širina, boja);
// Povlači vodoravnu liniju na navedenoj poziciji
display.drawRect (x, y, širina, visina, boja);
// Crtanje kruga na navedenoj poziciji
display.drawCircle (x, y, poluprečnik, boja);
Preporučuje se:
Koristite pametni telefon kao beskontaktni termometar / prijenosni termometar: 8 koraka (sa slikama)
Koristite pametni telefon kao beskontaktni termometar / prijenosni termometar: Mjerenje tjelesne temperature beskontaktnim / beskontaktnim poput termo pištolja. Napravio sam ovaj projekt jer je Thermo Gun sada jako skup, pa moram pronaći alternativu za izradu DIY -a. A svrha je napraviti s niskobudžetnom verzijom.SuppliesMLX90614Ardu
Digitalni termometar DHT11 pomoću ESP8266: 4 koraka
Digitalni termometar DHT11 pomoću ESP8266: U prethodnom članku već sam govorio o DH11 i kako ga prikazati na izlaznim uređajima kao što su 7 segmentni, LCD, serijski monitor i RGB prsten. U ovom članku ću vam pokazati kako pratiti temperaturu i vlažnost koristeći pretraživač na mobilnom telefonu
Infracrveni termometar na bazi Arduina - IR termometar na bazi Arduina: 4 koraka
Infracrveni termometar na bazi Arduina | Infracrveni termometar pomoću Arduina: Zdravo momci u ovim uputama napravit ćemo beskontaktni termometar pomoću arduina. Budući da je ponekad temperatura tekućine/krutine previsoka ili preniska, a onda je teško stupiti u kontakt s njom i pročitati je temperatura u tom prizoru
Acme digitalni termometar W/ DS18B20 temp. Sonda i I2C LCD: 5 koraka
Acme digitalni termometar W/ DS18B20 Temp sonda i I2C LCD: ovo je vrlo jednostavan projekt koji ne košta puno i neće oduzeti mnogo vremena. Stavio sam ga u Amazon kutiju jer je bio tamo, ali ovo se moglo montirati u gotovo sve
Kako napraviti digitalni sat pomoću 8051 sa 7 -segmentnim ekranom: 4 koraka
Kako napraviti digitalni sat pomoću 8051 sa 7 -segmentnim ekranom: U ovom projektu sam vam objasnio kako napraviti jednostavan digitalni sat pomoću 8051 mikrokontrolera sa 7 -segmentnim ekranom