Arduino Nano ESP32 - Sensor de Temperatura

Este tutorial explica como usar o Arduino Nano ESP32 para ler a temperatura do sensor de temperatura DS18B20 e imprimi-la no Serial Monitor.

Hardware Necessário

1×Arduino Nano ESP32
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×Sensor de Temperatura DS18B20 (con Adaptador)
1×Sensor de Temperatura DS18B20 (sin Adaptador)
1×Protoboard
1×Fios Jumper
1×(Opcional) Conector de Alimentação DC
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano ESP32

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.

Sobre o Sensor de Temperatura One Wire - DS18B20

Pinagem do Sensor de Temperatura DS18B20

O sensor de temperatura DS18B20 tem três pinos:

  • Pino GND: conecte este pino ao GND (0V)
  • Pino VCC: conecte este pino ao VCC (5V ou 3.3V)
  • Pino DATA: é o barramento de dados 1-Wire. Ele deve ser conectado a um pino digital do Arduino Nano ESP32.

O sensor DS18B20 tem duas formas:

  • Encapsulamento TO-92 (parece um transistor)
  • Sonda à prova d'água. Usamos esta forma neste tutorial.
Pinagem do sensor de temperatura DS18B20

Conectar um sensor de temperatura DS18B20 a um Arduino muitas vezes exige um resistor de pull-up, o que pode dar trabalho. No entanto, alguns fabricantes deixaram o processo mais simples oferecendo um adaptador de ligação com resistor de pull-up embutido e um bloco de bornes de parafuso para facilitar a conexão.

Diagrama de Ligação entre o Sensor de Temperatura DS18B20 e o Arduino Nano ESP32

  • Com protoboard
Diagrama de Ligação do Sensor de Temperatura do Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

  • Diagrama de ligação com adaptador (recomendado)
Diagrama de Ligação do DS18B20 com Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Para facilitar a conexão, é aconselhável comprar um sensor DS18B20 que vem com adaptador de ligação equipado com um resistor embutido, eliminando a necessidade de um resistor adicional na ligação.

Código Arduino Nano ESP32

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN D2 // The Arduino Nano ESP32 pin D2 connected to DS18B20 sensor's DATA pin OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); float temperature_C; // temperature in Celsius float temperature_F; // temperature in Fahrenheit void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. DS18B20.begin(); // initialize the DS18B20 sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures temperature_C = DS18B20.getTempCByIndex(0); // read temperature in °C temperature_F = temperature_C * 9 / 5 + 32; // convert °C to °F Serial.print("Temperature: "); Serial.print(temperature_C); // print the temperature in °C Serial.print("°C"); Serial.print(" ~ "); // separator between °C and °F Serial.print(temperature_F); // print the temperature in °F Serial.println("°F"); delay(500); }

Passos Rápidos

Para começar com o Arduino Nano ESP32, siga estes passos:

  • Se você é novo no Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente do Arduino Nano ESP32 no Arduino IDE.
  • Ligue os componentes de acordo com o diagrama fornecido.
  • Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Selecione a placa Arduino Nano ESP32 e a porta COM correspondente.
  • Abra o Library Manager clicando no ícone Library Manager na barra de navegação esquerda do Arduino IDE
  • Digite “DallasTemperature” na caixa de busca e procure a biblioteca DallasTemperature de Miles Burton.
  • Clique no botão Install para instalar a biblioteca DallasTemperature.
Biblioteca Dallas Temperature do Arduino Nano ESP32
  • Será solicitado que você instale a dependência. Clique no botão Install All para instalar a biblioteca OneWire.
Biblioteca onewire do Arduino Nano ESP32
  • Copie o código acima e cole no Arduino IDE.
  • Compile e faça o upload do código para a placa Arduino Nano ESP32 clicando no botão Upload do Arduino IDE
  • Deixe o sensor mais quente ou mais frio segurando o sensor de temperatura DS18B20 na mão, ou mergulhando-o em água quente e fria.
  • Veja o resultado no Serial Monitor. Ele se parece com o abaixo:.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
Temperature: 26.31°C ~ 79.36°F Temperature: 26.44°C ~ 79.59°F Temperature: 26.50°C ~ 79.70°F Temperature: 26.56°C ~ 79.81°F Temperature: 27.06°C ~ 80.71°F Temperature: 27.75°C ~ 81.95°F Temperature: 28.37°C ~ 83.07°F Temperature: 29.00°C ~ 84.20°F Temperature: 29.56°C ~ 85.21°F Temperature: 30.00°C ~ 86.00°F Temperature: 30.31°C ~ 86.56°F Temperature: 30.62°C ~ 87.12°F Temperature: 30.87°C ~ 87.57°F
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2

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!