Arduino Nano - Sensor de Temperatura

Este tutorial ensina você a usar o Arduino Nano e o sensor de temperatura 1-wire DS18B20 à prova d'água para medir a temperatura. Este sensor tem bom custo-benefício, é simples de usar e tem uma aparência organizada em comparação com outras alternativas.

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×Sensor de Temperatura DS18B20 (con Adaptador)
1×Sensor de Temperatura DS18B20 (sin Adaptador)
1×4.7 kΩ Resistor
1×Protoboard
1×Fios Jumper
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

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 1-Wire DS18B20

Pinagem do Sensor de Temperatura

O sensor de temperatura DS18B20 tem três pinos que precisam ser conectados:

  • Pino GND: precisa ser ligado ao GND (0V)
  • Pino VCC: precisa ser ligado ao VCC (5V ou 3.3V)
  • Pino DATA: é o barramento de dados 1-wire e deve ser conectado a um pino digital do Arduino Nano.

O sensor normalmente vem em duas versões: encapsulamento TO-92 (que se parece com um transistor) e sonda à prova d'água. Neste tutorial vamos usar a sonda à prova d'água.

DS18B20 temperature sensor pinout

Conectar o sensor de temperatura DS18B20 ao Arduino exige um resistor de pull-up, o que dá um pouco de trabalho. No entanto, alguns fabricantes facilitam isso oferecendo um adaptador de ligação que já vem equipado com um resistor de pull-up embutido e um bloco de bornes de parafuso, reduzindo o trabalho e tornando tudo mais conveniente.

Diagrama de Ligação

  • Diagrama de ligação usando uma protoboard.
The wiring diagram between Arduino Nano and temperature sensor

This image is created using Fritzing. Click to enlarge image

  • Diagrama de ligação usando o adaptador de ligação (recomendado).
The wiring diagram between Arduino Nano and DS18B20

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Nano e outros componentes.

Recomendamos comprar um sensor DS18B20 junto com o adaptador de ligação que o acompanha para uma montagem sem complicações. Esse adaptador inclui um resistor integrado, eliminando a necessidade de um resistor adicional na ligação. Nós também o testamos e funcionou bem.

Como Programar o Sensor de Temperatura DS18B20

  • Inclua a seguinte biblioteca:
#include <OneWire.h> #include <DallasTemperature.h>
  • Declare um objeto OneWire, correspondente ao pino conectado ao pino DATA do sensor. Declare também um objeto DallasTemperature.
OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library
  • Inicialize o sensor.
DS18B20.begin(); // initialize the sensor
  • Envie o comando para obter as temperaturas.
DS18B20.requestTemperatures();
  • Leia a temperatura em Celsius.
temperature_C = DS18B20.getTempCByIndex(0);
  • Calcule Fahrenheit a partir de Celsius:
temperature_F = temperature_C * 9 / 5 + 32;

Código Arduino Nano

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN 2 // The Arduino Nano pin connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library 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 sensor } 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 Serial.print("Temperature: "); Serial.print(temperature_C); // print the temperature in Celsius Serial.print("°C"); Serial.print(" ~ "); // separator between Celsius and Fahrenheit Serial.print(temperature_F); // print the temperature in Fahrenheit Serial.println("°F"); delay(500); }

Passos Rápidos

  • Conecte um cabo USB ao Arduino Nano e ao PC.
  • Abra a Arduino IDE e selecione a placa e a porta apropriadas.
  • Clique no ícone Libraries na barra à esquerda da Arduino IDE.
  • Pesquise por “Dallas” e localize a biblioteca DallasTemperature criada por Miles Burton.
  • Pressione o botão Install para instalar a biblioteca DallasTemperature.
Arduino Nano Dallas Temperature library
  • Você será solicitado a instalar a dependência. Clique no botão Install All para instalar a biblioteca OneWire.
Arduino Nano onewire library
  • Copie o código e abra-o na Arduino IDE.
  • Clique no botão Upload na Arduino IDE para enviar o código ao Arduino Nano.
  • Coloque o sensor em água quente e fria, ou segure-o na mão.
  • Confira o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' 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 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!