Përmbajtje:
- Hapi 1: Moduli grafik LCD 128x128 RGB TFT ILI 9163C
- Hapi 2: Sensori i lagështisë dhe temperaturës AM2302 DHT22
- Hapi 3: Qarku
- Hapi 4: Asambleja
- Hapi 5: Biblioteka
- Hapi 6: Kodi
- Hapi 7: Disa funksione të tjera interesante
Video: ESP8266 Termometër dixhital me ekran LCD: 7 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Sot, unë do t'ju tregoj se si të përdorni një ekran TFT LCD në ESP8266 NodeMCU për të shfaqur të dhënat e temperaturës dhe lagështisë për një mjedis të caktuar në kohë reale. Unë bëj një shembull të përdorimit të ekranit me DHT22, i cili është matësi i temperaturës dhe lagështisë. Në këtë video, veçanërisht, unë përdor një ekran kompakt për termometrin tonë dixhital, i cili është grafik dhe lejon monitorimin në vetë sistemin. Qëllimi i sotëm, pra, është të mësosh në lidhje me trajtimin e ekranit të kristaleve të lëngëta duke përdorur ESP8266.
Hapi 1: Moduli grafik LCD 128x128 RGB TFT ILI 9163C
Ekrani që përdorim në këtë projekt është 128x128 piksele. 0, 0 është në këndin e sipërm të majtë, dhe ky model ka funksione të printimit të tekstit dhe printimit grafik, me të cilët do të merremi më vonë.
Hapi 2: Sensori i lagështisë dhe temperaturës AM2302 DHT22
Ne do të përdorim AM2302 DHT22 në asamblenë tonë, i cili është një sensor që më pëlqen shumë, pasi është shumë i saktë.
Hapi 3: Qarku
Në projekt, ne kemi një ESP8266 që është programuar tashmë dhe përdor fuqinë USB. DHT22 është i lidhur me të dhënat dhe rezistenca tërheqëse me ESP8266, e cila kontrollon ekranin LCD.
Hapi 4: Asambleja
Këtu, ne kemi diagramin elektrik të montimit tonë, i cili tregon NodeMCU, sensorin dhe ekranin. Mos harroni se ky është një ekran serik, i2c, i cili është më i lehtë për t'u përdorur sepse ka më shumë kunja.
Hapi 5: Biblioteka
Meqenëse do të programojmë ekranin me gjuhën Arduino C, ne kemi nevojë për bibliotekën DHT22, si dhe LCD.
Së pari, shtoni bibliotekën e mëposhtme "biblioteka e sensorëve DHT" për komunikim me sensorin e lagështisë dhe temperaturës.
Thjesht hyni në "Skiconi >> Përfshi Bibliotekat >> Menaxhoni Bibliotekat …"
Tani, shtoni bibliotekën e mëposhtme, "Adafruit-GFX-Library-master".
Thjesht hyni në "Skiconi >> Përfshi Bibliotekat >> Menaxhoni Bibliotekat …"
Gjithashtu, shtoni bibliotekën "TFT_ILI9163C" për komunikim me modulin grafik LCD.
Hyni në lidhjen ((((((https://github.com/sumotoy/TFT_ILI9163C)))) dhe shkarkoni bibliotekën.
Zbërtheni skedarin dhe ngjiteni në dosjen e bibliotekave të Arduino IDE.
C: / Skedarët e programit (x86) / Arduino / bibliotekat
Hapi 6: Kodi
Së pari le të shtojmë bibliotekat që do të përdoren në kodin tonë.
#include // useizada para se comunicar com o módulo LCD#include // useizada para se comunicar com o sensor de umidade e temperatura
Përkufizimet
Më poshtë do të shohim variablat që do të përdorim gjatë programit, dhe shembullin e objekteve.
#define DHTPIN D6 // pino que contectaremos o sensor DHT22#define DHTTYPE DHT22 // DHT22 ose për të bërë një sensor për të përdorur (e rëndësishme për ndërtuesin) DHT dht (DHTPIN, DHTTYPE); // construtor bëjë objeto que utilizaremos para se comunicar com o sensor // përkufizimet Color #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define Magenta 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF # përkufizoni _CS D1 // pino que conectaremos ose CS për një ekran LCD #përcaktoni _DC D4 // pino que conectaremos ose RS për një ekran LCD TFT_ILI9163C = TFT_ILI9163C (_ CS, _DC); // konstruktori do të përdorë për përdorim nga sistemi i komunikimit në ekranin e LCD
Konfigurimi
Në funksionin e konfigurimit (), ne inicializojmë ndryshoren "dht", e cila është përgjegjëse për komunikimin me sensorin e lagështisë dhe temperaturën. Gjithashtu do të inicializojmë ndryshoren "ekran" që përdoret për të komunikuar me modulin LCD.
Ne gjithashtu do të konfigurojmë objektin për të filluar vizatimin në ekran.
void setup (void) {dht.begin (); // inicialização para se të komunikoni me ekranin e sensorit.filloni (); // inicializim për të komunikuar me një ekran LCD.clearScreen (); // limpa a tela, removendo todos os desenhos display.fillScreen (BLACK); // pinta a tela toda de preto display.setTextSize (2); // configura o tamanho do texto com o tamanho 2 display.setTextColor (GREEN); // configura 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 o shfaqja e kursorit.print ("UMIDADE"); // escreve em tela display.setTextColor (E BARDH); // configura a cor do texto como branco (a partir de agora) vonesë (1000); // espera de 1 segundo}
Lak
Në funksionin e lakut (), ne do të marrim lagështinë dhe temperaturat e lexuara nga sensori dhe të shkruara në ekran në vendin e caktuar. Në çdo interval prej 5 sekondash, vlera lexohet nga sensori dhe shkruhet në ekran.
lak void () {int h = dht.readHumidity (); // faz a leitura da umidade do sensor int t = dht.readTemperature (); // faz a leitura da temperatura do sensor // si 2 linja të përdorura për përdorimin e metodës "fillRect", për shembull për fazën e një limpeze për një rritje lokale në temperaturën dhe temperaturën, apagaremos ose vlerave të vërteta për escrever novamente atualizado. display.fillRect (5, 32, 120, 20, ZI); // fillRect (x, y, gjerësia, lartësia, ngjyra); display.fillRect (5, 92, 120, 20, ZI); display.setCursor (40, 35); // reposiciona o kursori për shfaqjen escrever.print (t); // ruani një 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 indikatorit të kësaj graus Celcius display.setCursor (40, 95); // reposiciona ose kursori për shfaqjen escrever.print (h); // ruani një ekran umidade em tela.print ("%"); // ruani simbolin e "porcentagem" për të treguar një vonesë umidade (5000); }
Hapi 7: Disa funksione të tjera interesante
// Rrotullon përmbajtjen e ekranit (parametrat 0, 1, 2 ose 3)
display.setRotation (uint8_t);
// Kthen ngjyrat e ekranit (bën një negativ)
display.invertDisplay (boolean);
// Vizaton një piksel të vetëm në ekran në pozicionin (x, y)
display.drawPixel (x, y, ngjyra);
// Vizaton një vijë vertikale në pozicion
display.drawFastVLine (x, y, gjerësia, ngjyra);
// Vizaton një vijë vertikale në pozicionin e specifikuar
display.drawFastHLine (x, y, gjerësia, ngjyra);
// Vizaton një vijë horizontale në pozicionin e specifikuar
display.drawRect (x, y, gjerësia, lartësia, ngjyra);
// Vizaton një rreth në pozicionin e specifikuar
display.drawCircle (x, y, rrezja, ngjyra);
Recommended:
Arduino Nano-MMA8452Q 3-Bosht 12-bit/8-bit Përshpejtues dixhital dixhital: 4 hapa
Arduino Nano-MMA8452Q 3-Aksi 12-bit/8-bit Përshpejtues dixhital: MMA8452Q është një akselerometër i zgjuar, me fuqi të ulët, me tre boshte, kapacitiv, me mikromakinim me 12 bit rezolucion. Opsionet fleksibile të programueshme të përdoruesit sigurohen me ndihmën e funksioneve të ngulitura në akselerometër, të konfigurueshme në dy ndërprerës
Si të shkatërroni një caliper dixhital dhe si funksionon një caliper dixhital: 4 hapa
Si të rrëzoni një caliper dixhital dhe si funksionon një caliper dixhital: Shumë njerëz dinë të përdorin kalibra për matje. Ky tutorial do t'ju mësojë se si të prishni një caliper dixhital dhe një shpjegim se si funksionon caliper dixhital
Termometër dixhital RPi LED: 6 hapa (me fotografi)
Termometër dixhital RPi LED: Raspbian OSMësoni se si e kam bërë këtë termometër dixhital LED, me një Raspberry Pi Zero W, shirit LED, një ekran OLED dhe një PCB të personalizuar. Ai automatikisht ciklet duke menduar një listë të qyteteve dhe shfaq temperaturën në OLED ekranit, dhe LED -ve. Por
Termometër dixhital i bazuar në Arduino: 3 hapa
Termometri dixhital i bazuar në Arduino: Në këtë projekt, është krijuar një termometër dixhital me bazë Arduino që mund të përdoret për të analizuar temperaturën e dhomës. Termometri në përgjithësi përdoret si një instrument matës i temperaturës. Ka parime të ndryshme që mund të përdoren për të matur
Ekran dixhital për ESP8266: 3 hapa
Ekran dixhital për ESP8266: Në këtë projekt do të mësoni se si të lidhni ekranin dixhital të Arduino me tabelën tuaj ESP8266 dhe si të shfaqni adresat IP në ekran