Taula de continguts:
- Pas 1: mòdul gràfic LCD 128x128 RGB TFT ILI 9163C
- Pas 2: sensor d'humitat i temperatura AM2302 DHT22
- Pas 3: Circuit
- Pas 4: Muntatge
- Pas 5: Biblioteca
- Pas 6: Codi
- Pas 7: algunes altres funcions interessants
Vídeo: Termòmetre digital ESP8266 amb pantalla LCD: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Avui us mostraré com utilitzar una pantalla LCD TFT a l’ESP8266 NodeMCU per mostrar dades de temperatura i humitat d’un entorn determinat en temps real. Faig un exemple d’utilitzar la pantalla amb DHT22, que és l’indicador de temperatura i humitat. En aquest vídeo, concretament, faig servir una pantalla compacta per al termòmetre digital, que és gràfica i permet monitoritzar el propi sistema. L’objectiu d’avui, per tant, és conèixer el maneig de la pantalla de cristalls líquids mitjançant l’ESP8266.
Pas 1: mòdul gràfic LCD 128x128 RGB TFT ILI 9163C
La pantalla que fem servir en aquest projecte és de 128x128 píxels. El 0, 0 es troba a l'extrem superior esquerre i aquest model té funcions d'impressió de text i d'impressió gràfica, que tractarem més endavant.
Pas 2: sensor d'humitat i temperatura AM2302 DHT22
Utilitzarem l’AM2302 DHT22 al nostre muntatge, que és un sensor que m’agrada molt, ja que és molt precís.
Pas 3: Circuit
Al projecte, tenim un ESP8266 que ja està programat i que utilitza l'alimentació USB. El DHT22 està connectat a les dades i la resistència d'explotació a l'ESP8266, que controla la pantalla LCD.
Pas 4: Muntatge
Aquí tenim l’esquema elèctric del nostre muntatge, que mostra el NodeMCU, el sensor i la pantalla. Recordeu que es tracta d’una pantalla sèrie, i2c, que és més fàcil d’utilitzar perquè té més pins.
Pas 5: Biblioteca
Com que programarem la pantalla amb llenguatge Arduino C, necessitem la biblioteca DHT22, així com la pantalla LCD.
En primer lloc, afegiu la següent biblioteca "Biblioteca de sensors DHT" per a la comunicació amb el sensor d'humitat i temperatura.
Simplement accediu a "Sketch >> Inclou biblioteques >> Gestiona biblioteques …"
Ara, afegiu la biblioteca següent, "Adafruit-GFX-Library-master".
Simplement accediu a "Sketch >> Inclou biblioteques >> Gestiona biblioteques …"
A més, afegiu la biblioteca "TFT_ILI9163C" per a la comunicació amb el mòdul gràfic LCD.
Accediu a l'enllaç (((((((https://github.com/sumotoy/TFT_ILI9163C))))) i descarregueu la biblioteca.
Descomprimiu el fitxer i enganxeu-lo a la carpeta de biblioteques de l'IDE Arduino.
C: / Program Files (x86) / Arduino / libraries
Pas 6: Codi
Primer afegim les biblioteques que s’utilitzaran al nostre codi.
#include // utilizada para comunicar con módulo LCD # include // utilizada para comunicar con o sensor de humidade y temperatura
Definicions
A continuació veurem les variables que utilitzarem durant el programa i la instància dels objectes.
. // construtor do objectio that useem for comunicar com o sensor // Definicions de color #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #FF # WHITE 0x define _CS D1 // pino que connectaremos o CS do módulo LCD #define _DC D4 // pino que connectaremos o RS do módulo LCD TFT_ILI9163C display = TFT_ILI9163C (_ CS, _DC); // construtor do objectio that useem for se comunicar com o módulo LCD
Configuració
A la funció setup (), inicialitzem la variable "dht", que s'encarrega de la comunicació amb el sensor d'humitat i la temperatura. També inicialitzarem la variable "pantalla" que s'utilitza per comunicar-se amb el mòdul LCD.
També configurarem l’objecte per començar a dibuixar a la pantalla.
void setup (void) {dht.begin (); // inicialització per a comunicar-se amb sensor display.begin (); // inicialització per a comunicar-se amb el mòdul LCD display.clearScreen (); // limpa a tela, eliminant tots els dissenys display.fillScreen (BLACK); // pinta a tela tota de preto display.setTextSize (2); // configura o tamanho do text com o tamanho 2 display.setTextColor (GREEN); // configura a cor do text com a 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 (BLANC); // configura a cor do text com a branco (a partir de agora) delay (1000); // espera de 1 segon}
Bucle
A la funció loop (), recuperarem la humitat i les temperatures llegides pel sensor i escrites a la pantalla al lloc específic. A cada interval de 5 segons, el valor es llegeix des del sensor i s’escriu a la pantalla.
bucle buit () {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 following using o method “fillRect”, são para fazer a limpeza do local on escreveremos a umidade e a temperatura, apagaremos o valor atual para escrever novamente atualizado. display.fillRect (5, 32, 120, 20, NEGRE); // fillRect (x, y, amplada, alçada, color); display.fillRect (5, 92, 120, 20, NEGRE); 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” per indicar que és més gran 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 indicar a umidade delay (5000); }
Pas 7: algunes altres funcions interessants
// Gira el contingut de la pantalla (paràmetres 0, 1, 2 o 3)
display.setRotation (uint8_t);
// Inverteix els colors de la pantalla (fa que sigui negatiu)
display.invertDisplay (booleà);
// Dibuixa un sol píxel a la pantalla en posició (x, y)
display.drawPixel (x, y, color);
// Dibuixa una línia vertical en posició
display.drawFastVLine (x, y, amplada, color);
// Dibuixa una línia vertical a la posició especificada
display.drawFastHLine (x, y, amplada, color);
// Dibuixa una línia horitzontal a la posició especificada
display.drawRect (x, y, amplada, alçada, color);
// Dibuixa un cercle a la posició especificada
display.drawCircle (x, y, radi, color);
Recomanat:
Utilitzeu el telèfon intel·ligent com a termòmetre sense contacte / termòmetre portàtil: 8 passos (amb imatges)
Utilitzeu el telèfon intel·ligent com a termòmetre sense contacte / termòmetre portàtil: mesurant la temperatura corporal sense contacte / sense contacte com una termopistola. Vaig crear aquest projecte perquè Thermo Gun ara és molt car, de manera que he de tenir una alternativa per fer bricolatge. I el propòsit és fer amb una versió de baix pressupost.SuppliesMLX90614Ardu
Termòmetre infraroig sense contacte basat en Arduino - Termòmetre basat en IR mitjançant Arduino: 4 passos
Termòmetre infraroig sense contacte basat en Arduino | Termòmetre basat en IR que utilitza Arduino: Hola nois, en aquest instructable farem un termòmetre sense contacte amb arduino, ja que de vegades la temperatura del líquid / sòlid és massa alta o baixa a la temperatura i és difícil fer-hi contacte i llegir-ne temperatura llavors en aquell escenari
Pantalla LCD I2C / IIC - Utilitzeu un LCD SPI a la pantalla LCD I2C mitjançant el mòdul SPI a IIC amb Arduino: 5 passos
Pantalla LCD I2C / IIC | Utilitzeu un LCD SPI a la pantalla LCD I2C Utilitzant el mòdul SPI a IIC amb Arduino: Hola, ja que un SPI LCD 1602 normal té massa cables per connectar-se, de manera que és molt difícil connectar-lo amb arduino, però hi ha un mòdul disponible al mercat. converteix la pantalla SPI en pantalla IIC, de manera que només heu de connectar 4 cables
Pantalla LCD I2C / IIC - Convertiu un LCD SPI a pantalla LCD I2C: 5 passos
Pantalla LCD I2C / IIC | Converteix una pantalla LCD SPI a la pantalla LCD I2C: fer servir una pantalla LCD SPI necessita massa connexions, cosa que és molt difícil de fer, així que he trobat un mòdul que pot convertir el LCD i2c al LCD SPI, així que comencem
Termòmetre digital Acme amb sonda de temperatura DS18B20 i pantalla LCD I2C: 5 passos
Termòmetre digital Acme W / DS18B20 Temp Probe i I2C LCD: es tracta d’un projecte molt senzill que no costa molt i que no trigarà gaire. El vaig posar en una caixa d'Amazon perquè hi era, però es podia muntar en gairebé qualsevol cosa