Cov txheej txheem:

ESP8266 Digital Thermometer Nrog LCD Zaub: 7 Kauj Ruam
ESP8266 Digital Thermometer Nrog LCD Zaub: 7 Kauj Ruam

Video: ESP8266 Digital Thermometer Nrog LCD Zaub: 7 Kauj Ruam

Video: ESP8266 Digital Thermometer Nrog LCD Zaub: 7 Kauj Ruam
Video: #06 SI7021 ESP8266 Display (Schweizerdeutsch) 2024, Hlis ntuj nqeg
Anonim
Image
Image
LCD Graphic Module 128x128 RGB TFT ILI 9163C
LCD Graphic Module 128x128 RGB TFT ILI 9163C

Hnub no, kuv yuav qhia koj li cas siv TFT LCD zaub ntawm ESP8266 NodeMCU los tso saib cov ntsuas kub thiab av noo rau ib puag ncig lub sijhawm. Kuv ua piv txwv ntawm kev siv cov zaub nrog DHT22, uas yog qhov ntsuas kub thiab av noo. Hauv cov vis dis aus no, tshwj xeeb, kuv siv lub teeb pom kev zoo rau peb lub ntsuas kub digital, uas yog duab thiab tso cai saib xyuas ntawm lub kaw lus nws tus kheej. Lub hom phiaj ntawm hnub no, yog li ntawd, yog kawm paub txog kev tuav cov kua siv lead ua kua siv ESP8266.

Kauj Ruam 1: LCD Graphic Module 128x128 RGB TFT ILI 9163C

Cov zaub peb siv hauv txoj haujlwm no yog 128x128 pixels. 0, 0 yog nyob rau sab laug sab saud, thiab tus qauv no muaj ob qho ntawv luam ntawv thiab duab nraaj luam ntawv, uas peb yuav daws nrog tom qab.

Kauj Ruam 2: Vaum thiab Kub Sensor AM2302 DHT22

Vaum thiab Kub Sensor AM2302 DHT22
Vaum thiab Kub Sensor AM2302 DHT22

Peb yuav siv AM2302 DHT22 hauv peb kev sib dhos, uas yog lub ntsuas uas kuv nyiam tiag tiag, vim nws yog qhov tseeb.

Kauj ruam 3: Circuit Court

Circuit Court
Circuit Court

Hauv txoj haujlwm, peb muaj ESP8266 uas twb tau npaj lawm thiab siv lub zog USB. DHT22 tau txuas nrog Cov Ntaub Ntawv thiab rub tawm tus tiv thaiv mus rau ESP8266, uas tswj cov zaub LCD.

Kauj ruam 4: Sib dhos

Los ua ke
Los ua ke

Ntawm no, peb muaj daim duab hluav taws xob ntawm peb lub rooj sib txoos, uas qhia NodeMCU, lub ntsuas pa, thiab cov zaub. Nco ntsoov tias qhov no yog cov duab tso tawm, i2c, uas yog qhov yooj yim siv vim tias nws muaj tus pin ntau dua.

Kauj ruam 5: Tsev qiv ntawv

Tsev qiv ntawv
Tsev qiv ntawv
Tsev qiv ntawv
Tsev qiv ntawv

Txij li thaum peb tab tom npaj cov phiaj xwm nrog Arduino C lus, peb xav tau DHT22 lub tsev qiv ntawv, ntxiv rau LCD.

Ua ntej, ntxiv cov ntawv hauv qab no "DHT sensor library" tsev qiv ntawv rau kev sib txuas lus nrog cov av noo thiab ntsuas kub.

Cias nkag mus rau "Sketch >> suav nrog Tsev Qiv Ntawv >> Tswj Tsev Qiv Ntawv …"

Tam sim no, ntxiv cov tsev qiv ntawv hauv qab no, "Adafruit-GFX-Library-master."

Cias nkag mus rau "Sketch >> suav nrog Tsev Qiv Ntawv >> Tswj Tsev Qiv Ntawv …"

Tsis tas li, ntxiv "TFT_ILI9163C" lub tsev qiv ntawv rau kev sib txuas lus nrog LCD nraaj duab.

Nkag mus rau qhov txuas (((((https://github.com/sumotoy/TFT_ILI9163C)))))) thiab rub lub tsev qiv ntawv.

Unzip cov ntawv thiab muab tso rau hauv cov ntawv qiv ntawm Arduino IDE.

C: / Program Files (x86) / Arduino / qiv

Kauj ruam 6: Code

Ua ntej peb ntxiv cov tsev qiv ntawv uas yuav siv rau hauv peb cov cai.

#include // utilizada para se comunicar com o módulo LCD#suav nrog // utilizada para se comunicar com o sensor de umidade e temperatura

Txhais

Peb yuav pom hauv qab qhov hloov pauv uas peb yuav siv thaum lub sijhawm ua haujlwm, thiab piv txwv ntawm cov khoom.

#define DHTPIN D6 // pino que conectaremos o sensor DHT22#txhais DHTTYPE DHT22 // DHT22 é o tipo do sensor que utilizaremos (importante para o construtor) DHT dht (DHTPIN, DHTTYPE); // construtor do objeto que utilizaremos para se comunicar com o sensor // Cov ntsiab lus xim #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF8FF #define 0xFFFF txhais _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

Teeb

Hauv kev teeb tsa () muaj nuj nqi, peb pib ua qhov sib txawv "dht," uas yog lub luag haujlwm rau kev sib txuas lus nrog cov ntsuas cua thiab qhov kub thiab txias.

Peb tseem yuav teeb tsa lub hom phiaj kom pib kos duab ntawm qhov screen.

teeb tsa tsis muaj dab tsi (tsis muaj dab tsi) {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, removendo todos os desenhos display.fillScreen (BLACK); // pinta a tela toda de preto display.setTextSize (2); // teeb tsa tamanho ua texto com lossis 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 cursor display.print ("UMIDADE"); // escreve em tela display.setTextColor (WHITE); // configura a cor do texto como branco (a partir de agora) ncua (1000); // espera de 1 segundo}

Loop

Hauv lub voj () ua haujlwm, peb yuav khaws cov av noo thiab qhov kub tau nyeem los ntawm lub ntsuas thiab sau rau ntawm lub vijtsam ntawm qhov chaw tshwj xeeb. Ntawm txhua ntu ntawm 5 vib nas this, tus nqi tau nyeem los ntawm lub ntsuas thiab sau rau ntawm lub vijtsam.

void loop () {int h = dht.readHumidity (); // faz a leitura thiab umidade ua 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, BLACK); // fillRect (x, y, dav, qhov siab, xim); display.fillRect (5, 92, 120, 20, BLACK); 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 umidade em tela display.print ("%"); // escreve o símbolo de “porcentagem” para indicar a umidade ncua (5000); }

Kauj Ruam 7: Qee Lwm Cov Haujlwm Zoo Tshaj Plaws

// Hloov cov ntsiab lus ntawm lub vijtsam (ntsuas 0, 1, 2 lossis 3)

display.setRotation (uint8_t);

// Rov qab tso saib cov xim (ua rau tsis zoo)

display.invertDisplay (boolean);

// Kos ib lub pixel ntawm qhov screen ntawm txoj haujlwm (x, y)

display.drawPixel (x, y, xim);

// Kos ib txoj kab ntsug hauv txoj hauj lwm

display.drawFastVLine (x, y, dav, xim);

// Kos ib txoj kab ntsug ntawm txoj haujlwm tshwj xeeb

display.drawFastHLine (x, y, dav, xim);

// Kos kab kab rov tav ntawm txoj haujlwm tshwj xeeb

display.drawRect (x, y, dav, siab, xim);

// Kos lub voj voog ntawm txoj haujlwm tshwj xeeb

display.drawCircle (x, y, vojvoog, xim);

Pom zoo: