Talaan ng mga Nilalaman:

ESP8266 Digital Thermometer Na May LCD Display: 7 Mga Hakbang
ESP8266 Digital Thermometer Na May LCD Display: 7 Mga Hakbang

Video: ESP8266 Digital Thermometer Na May LCD Display: 7 Mga Hakbang

Video: ESP8266 Digital Thermometer Na May LCD Display: 7 Mga Hakbang
Video: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, Hulyo
Anonim
Image
Image
LCD Graphic Module 128x128 RGB TFT ILI 9163C
LCD Graphic Module 128x128 RGB TFT ILI 9163C

Ngayon, ipapakita ko sa iyo kung paano gumamit ng isang TFT LCD display sa ESP8266 NodeMCU upang ipakita ang data ng temperatura at halumigmig para sa isang naibigay na real-time na kapaligiran. Gumagawa ako ng isang halimbawa ng paggamit ng display sa DHT22, na kung saan ay ang sukat ng temperatura at halumigmig. Sa video na ito, partikular, gumagamit ako ng isang compact display para sa aming digital thermometer, na graphic at pinapayagan ang pagsubaybay sa mismong system. Ang layunin ng ngayon, samakatuwid, ay upang malaman ang tungkol sa paghawak ng likidong kristal na display gamit ang ESP8266.

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

Ang display na ginagamit namin sa proyektong ito ay 128x128 pixel. Ang 0, 0 ay nasa kaliwang sulok sa itaas, at ang modelong ito ay pareho ang pag-print ng teksto at pag-print ng graphic, na haharapin natin sa paglaon.

Hakbang 2: Humidity at Temperature Sensor AM2302 DHT22

Humority at Temperature Sensor AM2302 DHT22
Humority at Temperature Sensor AM2302 DHT22

Gagamitin namin ang AM2302 DHT22 sa aming pagpupulong, na isang sensor na talagang gusto ko, dahil napaka-tumpak nito.

Hakbang 3: Circuit

Circuit
Circuit

Sa proyekto, mayroon kaming isang ESP8266 na naka-program na at ginagamit ang USB power. Ang DHT22 ay konektado sa Data at ang pull-up risistor sa ESP8266, na kumokontrol sa LCD display.

Hakbang 4: Assembly

Assembly
Assembly

Narito, mayroon kaming diagram ng elektrikal ng aming pagpupulong, na nagpapakita ng NodeMCU, ang sensor, at ang display. Tandaan na ito ay isang serial display, i2c, na kung saan ay mas madaling gamitin dahil mayroon itong mas maraming mga pin.

Hakbang 5: Library

Library
Library
Library
Library

Dahil ipaprogram namin ang display sa wikang Arduino C, kailangan namin ang library ng DHT22, pati na rin ang LCD.

Una, idagdag ang sumusunod na library ng "DHT sensor library" para sa komunikasyon sa halumigmig at temperatura sensor.

I-access lamang ang "Sketch >> Isama ang Mga Aklatan >> Pamahalaan ang Mga Aklatan …"

Ngayon, idagdag ang sumusunod na library, "Adafruit-GFX-Library-master."

I-access lamang ang "Sketch >> Isama ang Mga Aklatan >> Pamahalaan ang Mga Aklatan …"

Gayundin, idagdag ang "TFT_ILI9163C" library para sa komunikasyon sa LCD graphic module.

I-access ang link (((((((https://github.com/sumotoy/TFT_ILI9163C)))) at i-download ang library.

I-zip ang file at i-paste ito sa folder ng mga aklatan ng Arduino IDE.

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

Hakbang 6: Code

Idagdag muna natin ang mga aklatan na gagamitin sa aming code.

#include // utilizada para sa comunicar com o módulo LCD # isama // utilizada para sa comunicar com o sensor de umidade e temperatura

Mga kahulugan

Makikita natin sa ibaba ang mga variable na gagamitin namin sa panahon ng programa, at ang halimbawa ng mga object.

#define DHTPIN D6 // pino que conectaremos o sensor DHT22 # tukuyin ang DHTTYPE DHT22 // DHT22 é o tipo do sensor que utilizaremos (mahalaga para sa construtor) DHT dht (DHTPIN, DHTTYPE); // construtor 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 0xFELLF 0Fef 0Fef tukuyin ang _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 sa comunicar com o módulo LCD

Pag-set up

Sa pag-andar ng pag-setup (), pinasimulan namin ang variable na "dht," na responsable para sa komunikasyon sa sensor ng kahalumigmigan at temperatura. Sisimulan din namin ang variable na "display" na ginagamit upang makipag-usap sa LCD module.

Ise-configure din namin ang bagay upang simulan ang pagguhit sa screen.

walang bisa ang pag-setup (walang bisa) {dht.begin (); // inicialização para se comunicar com o sensor display.begin (); // inicialização para sa 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); // 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 cursor display.print ("UMIDADE"); // escreve em tela display.setTextColor (WHITE); // configura a cor do texto como branco (isang partir de agora) pagkaantala (1000); // espera de 1 segundo}

Loop

Sa pag-andar ng loop (), kukunin namin ang halumigmig at temperatura na binasa ng sensor at nakasulat sa screen sa tukoy na lokasyon. Sa bawat agwat ng 5 segundo, ang halaga ay nabasa mula sa sensor at nakasulat sa screen.

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”, para sa 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, lapad, taas, kulay); 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 nagpapahiwatig 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 nagpapahiwatig ng pagkaantala ng umidade (5000); }

Hakbang 7: Ilang Ibang Mga Kagiliw-giliw na Pag-andar

// Paikutin ang mga nilalaman ng screen (mga parameter 0, 1, 2 o 3)

display.setRotation (uint8_t);

// Reverses display color (ginagawang negatibo)

display.invertDisplay (boolean);

// Gumuhit ng isang solong pixel sa screen sa posisyon (x, y)

display.drawPixel (x, y, kulay);

// Gumuhit ng isang patayong linya sa posisyon

display.drawFastVLine (x, y, lapad, kulay);

// Gumuhit ng isang patayong linya sa tinukoy na posisyon

display.drawFastHLine (x, y, lapad, kulay);

// Gumuhit ng isang pahalang na linya sa tinukoy na posisyon

display.drawRect (x, y, lapad, taas, kulay);

// Gumuhit ng isang bilog sa tinukoy na posisyon

display.drawCircle (x, y, radius, kulay);

Inirerekumendang: