ESP8266 - Sensor de Temperatura - LCD

Este tutorial ensina você a usar o ESP8266 para obter a temperatura de um sensor DS18B20 e exibi-la em um LCD I2C.

Hardware Necessário

1×ESP8266 NodeMCU ESP-12F
1×Alternatively, ESP8266 D1 Mini NodeMCU ESP-12F
1×Alternatively, ESP8266 NodeMCU ESP-12E (Uno-form)
1×Micro USB Cable
1×Alternatively, ESP8266 NodeMCU ESP-12F (SMD-form)
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×LCD I2C Display 3.3V
1×(Alternativa) LCD I2C 20x4
1×Sensor de Temperatura DS18B20 (con Adaptador)
1×Sensor de Temperatura DS18B20 (sin Adaptador)
1×Protoboard
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para ESP8266

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Buy Note: Many DS18B20 sensors available in the market are unreliable. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.

Nota de compra: A maioria dos displays LCD I2C no mercado é de 5V. Eles podem funcionar com esta placa, mas não é seguro e pode danificar a placa. Recomendamos fortemente usar o display LCD I2C de 3.3V recomendado acima.

Sobre o Sensor de Temperatura e o LCD

Se você não conhece o sensor de temperatura e o LCD (pinagem, como funcionam, como programar ...), os tutoriais a seguir podem fornecer mais informações:

Diagrama de Ligação

Diagrama de ligação do sensor de temperatura e LCD com ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.

Recomendamos comprar um sensor DS18B20 junto com o adaptador de ligação para uma montagem sem complicações. Este adaptador inclui um resistor integrado, eliminando a necessidade de um resistor adicional na ligação.

Código ESP8266

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-temperature-sensor-lcd */ #include <OneWire.h> #include <DallasTemperature.h> #include <DIYables_LCD_I2C.h> #define SENSOR_PIN D7 // The ESP8266 pin connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); DIYables_LCD_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows float temperature_C; // temperature in Celsius float temperature_F; // temperature in Fahrenheit void setup() { DS18B20.begin(); // initialize the sensor lcd.init(); // Initialize the LCD I2C display lcd.backlight(); // open the backlight } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures temperature_C = DS18B20.getTempCByIndex(0); // read temperature in Celsius temperature_F = temperature_C * 9 / 5 + 32; // convert Celsius to Fahrenheit lcd.clear(); lcd.setCursor(0, 0); // display position lcd.print(temperature_C); // display the temperature in Celsius lcd.print((char)223); // display ° character lcd.print("C"); lcd.setCursor(0, 1); // display position lcd.print(temperature_F); // display the temperature in Fahrenheit lcd.print((char)223); // display ° character lcd.print("F"); delay(500); }

※ Nota:

O endereço do LCD pode variar dependendo do fabricante. No nosso código, usamos 0x27, conforme especificado pela DIYables.

Passos Rápidos

Para começar com o ESP8266 no Arduino IDE, siga estes passos:

  • Confira o tutorial como configurar o ambiente para o ESP8266 no Arduino IDE se esta for a sua primeira vez usando o ESP8266.
  • Ligue os componentes como mostrado no diagrama.
  • Conecte a placa ESP8266 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
  • Conecte o cabo USB ao ESP8266 e ao PC.
  • Abra o Arduino IDE e escolha a placa e a porta corretas.
  • Clique no ícone Libraries na barra lateral esquerda do Arduino IDE.
  • Pesquise por “Dallas” e localize a biblioteca DallasTemperature criada por Miles Burton.
  • Pressione o botão Install para adicionar a biblioteca.
Biblioteca Dallas Temperature para ESP8266 NodeMCU
  • Você será solicitado a instalar a dependência. Clique no botão Install All para instalar a biblioteca OneWire.
Biblioteca OneWire para ESP8266 NodeMCU
  • Pesquise por “DIYables LCD I2C” e localize a biblioteca DIYables_LCD_I2C da DIYables.
  • Pressione o botão Install para instalar a biblioteca DIYables_LCD_I2C.
Biblioteca DIYables LCD I2C para ESP8266 NodeMCU
  • Copie o código e abra-o com o Arduino IDE.
  • Em seguida, pressione o botão Upload no Arduino IDE para compilar e fazer upload do código para o ESP8266.
Upload de código no Arduino IDE
  • Coloque o sensor em água quente e em água fria, ou segure-o na mão.
  • Confira o display LCD.

Se o display LCD não estiver mostrando nada, confira Solução de Problemas do LCD I2C para obter ajuda.

Explicação do Código

Confira a explicação linha por linha contida nos comentários do código-fonte!

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!