fbpx
Miniatura video padrão

Desenvolvido por 

Termômetro digital SR 3 – parte 1 – day 3

Aprenda a fazer um medidor de temperatura e umidade com arduino para a robótica, muito fácil e com poucos componentes, Termômetro de arduino uno com display retro.

Veja o vídeo, demostrando ele em funcionamento e ensinado a montar o projeto SR 3

O que você precisa para montar o Termômetro SR 3

  • Qtd - Descrição
  • 1 - Arduino UNO R3 com cabo usb
  • 1 - Protoboard 400 Pontos
  • 1 - Sensor de temperatura DHT 22
  • 1 - Módulo 74HC595 com Display 4 Digitos
  • 10 - Jumper (fios) 20cm Macho-Macho

Vamos ver o que alguns itens fazem

Componente

Explicação do funcionamento do componente

Esse é o Arduino UNO, nosso cérebro. 

Nele fica o programa que enviaremos para a memória e com esse programa que consegue fazer um monte de cálculos  e processamento de informação para mostrar a temperatura e umidade.

Esse é o Módulo 74HC595 com Display 4 Dígitos

Ele é o responsável por mostrar a temperatura e umidade. Ele tem em cada digito 8 led que se ligam no chip 74hc595 que ajuda a controlar tudo com menos fios possíveis.

Esse é o Sensor de Temperatura e Umidade DHT22

Ele é o responsável por medir a temperatura e a umidade com uma precisão muito boa!

Sobre os demais componentes não temos muito o que explicar, pois são bem simples suas funções, como você irá conferir no vídeo de montagem.

Vamos colocar a mão na massa

Montagem do robô

Clique na imagem ao lado. Veja e seguir cada fio e conecta-los ao componentes, caso tenha duvida, veja o vídeo tutorial.

Qualquer duvida, deixe um comentário ou entre em contato conosco.

Esquema de ligação SR 3

Agora vamos para o Código fonte GRATUITO do nosso robô

Enviar o código fonte para o arduino

Vamos fazer item por item, tudo bem?

Primeiro você tem que instalar o programa no computador/notebook, acesse esse tutorial de como instalar o arduino no computador clicando aqui.  Após instalar volte aqui e siga o restante das informações aqui.

Bibliotecas (librares) usadas no Código do robô

No código do programas usamos umas bibliotecas para reduzir o tamanho do código e facilitar o manuseio do código, com isso é necessário instalar umas bibliotecas no arduino, mas não se assuste pois isso e muito fácil veja como:

Bibliotecas usadas para baixar (download):

Adafruit_Unified_Sensor

DHT_sensor

TimerOne

TM74HC595-4dig-display

Como fazer a instalação da biblioteca:

Após baixar a biblioteca, abra o programa do arduino e Instale a biblioteca no menu:

“Sketch” 
“Incluir Biblioteca” (Include Library) 
“Adicionar Biblioteca .ZIP” (Add .ZIP Library…)

Selecione o arquivo que você baixou e salvou em uma pasta , e clique em “OK” 
Após isso aparecerá a mensagem “Biblioteca adicionada às suas bibliotecas.” , pronto, biblioteca instalada.

Código fonte do Termômetro digital com arduino SR 3

Selecione todo o código fonte abaixo e copie .

Abra o Programa Arduino, clique em no menu “Arquivo” e depois em “Novo” , apague o código exemplo e cole o código, clique no ícone da  “Seta” para enviar o programa para o arduino.

Não sabe como enviar um programa para o arduino? então veja nosso tutorial de como enviar o programa para o arduino clicando aqui

Parabéns! O projeto esta pronto, agora é monitorar a temperatura do ambiente.

Código fonte:

/*
------------------------------------------Termômetro digital SR 3 ------------------------------------------------
Versão do Software: 1.0 SR 3 //não apague essa linha, para futuras consultas
Software open source, favor citar o autor: Seu Robô https://SeuRobo.com.br/
Criado por: Leonardo Campbell - Seu Robô 
*/
#include <TM74HC595Display.h> //Biblioteca do Display LED
#include <TimerOne.h>         //Biblioteca de tempo do arduino
#include <DHT.h>;             //Biblioteca de tempo do DHT 22
/*Atenção
* Para o sketch/programa funcionar tem que instalar as bibliotecas:
* Adafruit_Unified_Sensor
* DHT_sensor
* TimerOne
* TM74HC595-4dig-display
* Todas se encontram para baixar gratuitamente em: https:https://seurobo.com.br/sr3
*/
//Cofogurações de pinos do displaye Do leitor de temperatura
#define  SCLK  4 //Ligar o SCLK do displayno pino 4
#define  RCLK  3 //Ligar o RCLK do displayno pino 3
#define  DIO   2 //Ligar o DIO do displayno pino 2
#define DHTPIN 5 //LIgar o pino digital do DHT22 (que é o do lado do VCC)
#define DHTTYPE DHT22 //define o modelo do sensor (dht22 / am2302)
TM74HC595Display visor(SCLK, RCLK, DIO); //Configurar as portas na função da biblioteca
unsigned char LED_0F[13]; //Separa 13 posições na memoria do arduino para guardar os caracteres
int Temperatura; //variavel para a leitura te temperatura
int Umidade; //variavel para a leitura te Umidade
int dig1Temp = 0; //variavel do primeiro numero da temperatura
int dig2Temp = 0;//variavel do segundo numero da temperatura
int dig1Humi = 0;//variavel do primeiro numero da humidade
int dig2Humi = 0; //variavel do segundo numero da humidade
DHT dht(DHTPIN, DHTTYPE); //passa os parâmetros para a função
void setup() { //Função de configuração
Serial.begin(9600); //inicializa a serial monitor
dht.begin(); //inicializa a função do sensor
//Cada varivael guardar um caracter especifico na memoria do arduino
LED_0F[0] = 0xC0; //0
LED_0F[1] = 0xF9; //1
LED_0F[2] = 0xA4; //2
LED_0F[3] = 0xB0; //3
LED_0F[4] = 0x99; //4
LED_0F[5] = 0x92; //5
LED_0F[6] = 0x82; //6
LED_0F[7] = 0xF8; //7
LED_0F[8] = 0x80; //8
LED_0F[9] = 0x90; //9
LED_0F[10] = 0xC6; //C
LED_0F[11] = 0xC1; //U
LED_0F[12] = 0xBF; //-
Timer1.initialize(1500); // definir um temporizador de comprimento de 1500 (função da biblioca LCD)
Timer1.attachInterrupt(timerIsr); // Anexe a rotina de serviço aqui (função da biblioca  LCD)
}
void loop() {  //Função principal do arduino
Temperatura = dht.readTemperature(); //leitura  da temperatura
dig1Temp = Temperatura / 10; //Pega o primeiro digito e guarda na variavel
dig2Temp = Temperatura - (dig1Temp * 10); //Pega o segundo digito e guarda na variavel
Umidade = dht.readHumidity(); //leitura da humidade
dig1Humi = Umidade / 10; //Pega o primeiro digito e guarda na variavel
dig2Humi = Umidade - (dig1Humi * 10); //Pega o segundo digito e guarda na variavel
//Não pode der uma nova leitura do sensor em menos de 2 segundos
Serial.print("Umidade: "); //imprime o texto na serial
Serial.print(Temperatura); //imprime na serial o valor de umidade medido
Serial.print("%"); 
Serial.print(" / Temperatura: "); //imprime o texto na serial na mesma linha ainda
Serial.print(Umidade, 0); //imprime na serial o valor de umidade medido e remove a parte decimal
Serial.println("*C");
//Exibir no DISPLAY a Umidade 
visor.set(LED_0F[dig1Humi], 3); //Coloca o primeiro digito no display
visor.set(LED_0F[dig2Humi], 2); //Coloca o segundo digito no display
visor.set(LED_0F[12], 1);       //Coloca o terceiro digito no display
visor.set(LED_0F[11], 0);       //Coloca o quarto digito no display
delay(5000);                    //Aguarda 5 segundos
visor.clear();                  //Apaga tudo do display
//Faz uma separação por traços durante um segundo
visor.set(LED_0F[12], 3);       //Coloca o primeiro digito no display
visor.set(LED_0F[12], 2);       //Coloca o segundo digito no display
visor.set(LED_0F[12], 1);       //Coloca o terceiro digito no display
visor.set(LED_0F[12], 0);       //Coloca o quarto digito no display
delay(1000);                    //Aguarda 1 segundos
visor.clear();                  //Apaga tudo do display
//Exibir no DISPLAY a temperatura 
visor.set(LED_0F[dig1Temp], 3); //Coloca o primeiro digito no display
visor.set(LED_0F[dig2Temp], 2); //Coloca o segundo digito no display
visor.set(LED_0F[12], 1);       //Coloca o terceiro digito no display
visor.set(LED_0F[10], 0);       //Coloca o quarto digito no display
delay(5000);                    //Aguarda 5 segundos
visor.clear();                  //Apaga tudo do display
}
//Função da biblioteca do Display
void timerIsr()
{
visor.timerIsr();
}

Chegamos ao final, Muito Obrigado, amante de robótica!

Qualquer dúvida, deixe um comentário ou entre em contato!

Grande abraço!

Gostaria de um projeto ou robô que não temos no site?

Então é só clicar no botão abaixo e nos enviar a sua ideia, analisaremos ela e talvez postemos ela com o credito seu caso queira.

Compartilhe com outro amante de robótica!

Compartilhar no facebook
Compartilhar no twitter
Compartilhar no whatsapp
Compartilhar no email

Comentários

Deixe um comentário

Veja os Tutoriais de ROBÔS mais recentes

Veja os TUTORIAIS mais recentes

Veja os Tutoriais de PROJETOS mais recentes