Fazendo termômetro LCD com Arduino e LM35 / 36
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Sobre este projeto
Olá pessoal! Vou mostrar como fazer um termômetro LCD com um Arduino UNO e um sensor de temperatura analógico LM35 / 36 com jumpers e uma placa de ensaio.
Este projeto é muito bom para quem está começando com o Arduino, não requer nenhuma habilidade especial de engenharia ou programação e levará menos de 10 minutos para construí-lo, uma vez que você tem todas as partes do curso.
Etapa 1:reunindo as peças
Estas são as peças de que você precisa para construir o termômetro:
- 1 placa Arduino UNO
- 1 breadboard
- 1x display LCD 16x2
- 1 sensor de temperatura analógico LM35 ou LM36
- 1 potenciômetro de 10k - para ajustar o brilho da tela *
- Jumpers 19x - para conectar tudo
Eles também são encontrados no Arduino Starter Kit oficial que você pode solicitar na página oficial do Arduino aqui. Além disso, você pode comprá-los separadamente nas seguintes lojas:Adafruit, SparkFun, Aliexpress, Banggood, etc.
* Se você não tem um pote de 10k você pode usar 50k como eu!
Etapa 2:construir o termômetro
Seguindo o esquema do Fritzing acima, conecte o LCD na placa de ensaio e, em seguida, conecte-o à placa Arduino com jumpers. Depois disso, conecte o potenciômetro e o sensor na placa de ensaio, conecte os pinos esquerdo e direito do potenciômetro ao terra e + 5V e o do meio ao display LCD.
A seguir conecte o sensor ao terra e ao + 5V e ao Arduino mas tenha muito cuidado, pois se conectar errado o sensor vai aquecer até 280+ C (540 F) e pode se danificar. Depois de conectar tudo, vá para a próxima etapa.
Etapa 3:Programação do Arduino
Para fazê-lo funcionar, você deve usar um dos dois códigos abaixo. Carregue-o em seu Arduino usando o ambiente de desenvolvimento integrado , para abreviar o IDE, que você pode baixar da página oficial do Arduino e pronto!
Se você não vir nada no LCD ou retângulos, gire o potenciômetro no sentido horário / anti-horário até ver a letra limpa. Agora você tem um termômetro e pode medir a temperatura do ar ao seu redor, dentro ou fora de casa.
O primeiro código é de Gaige Kerns e pode ser usado para ler LM36 ou LM35. Obrigado Gaige! Confira também meu novo projeto de termômetro aqui!
// inclui o código da biblioteca #include // inicializa a biblioteca com os números da interface pinsLiquidCrystal lcd (12, 11, 5, 4, 3, 2); // inicializa nossas variáveisint sensorPin =0; int tempC, tempF; void setup () {// configurar o número de colunas e linhas do LCD:lcd.begin (16, 2);} void loop () {tempC =get_temperature (sensorPin); tempF =celsius_to_fahrenheit (tempC); lcd.setCursor (0,0); lcd.print (tempF); lcd.print (""); lcd.print ((char) 223); lcd.print ("F"); delay (200);} int get_temperature (int pin) {// Precisamos informar a função a qual pino o sensor está conectado. Estamos usando // o pino variável para o que está acima // Leia o valor naquele pino de temperatura =analogRead (pino); // Calcule a temperatura com base na leitura e envie esse valor flutuando de volta voltagem =temperatura * 5,0; voltagem =voltagem / 1024.0; return ((voltagem - 0,5) * 100);} int celsius_to_fahrenheit (int temp) {return (temp * 9/5) + 32;}
#include LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Pinos digitais aos quais você conecta o LCDconst int inPin =0; // A0 é onde você conecta o sensorvoid setup () {lcd.begin (16,2);} void loop () {int value =analogRead (inPin); // lê o valor do sensor lcd.setCursor (0,1); float milivolts =(valor / 1024,0) * 5000; float celsius =milivolts / 10; lcd.clear (); lcd.setCursor (0,0); lcd.print (celsius); lcd.print ("C"); lcd.setCursor (0,1); lcd.print ((celsius * 9) / 5 + 32); // transformando o Celsius em fahrehait lcd.print ("F"); atraso (1000);}
FJXZ51IHQAX1RR7.txt Código
- Snippet de código # 1
- Snippet de código # 2
Snippet de código # 1 Texto simples
// inclui o código da biblioteca #include // inicializa a biblioteca com os números da interface pinsLiquidCrystal lcd (12, 11, 5, 4, 3, 2); // inicializa nossas variáveisint sensorPin =0; int tempC, tempF; void setup () {// configurar o número de colunas e linhas do LCD:lcd.begin (16, 2);} void loop () {tempC =get_temperature (sensorPin); tempF =celsius_to_fahrenheit (tempC); lcd.setCursor (0,0); lcd.print (tempF); lcd.print (""); lcd.print ((char) 223); lcd.print ("F"); delay (200);} int get_temperature (int pin) {// Precisamos informar a função a qual pino o sensor está conectado. Estamos usando // o pino variável para o que está acima // Leia o valor naquele pino de temperatura =analogRead (pino); // Calcule a temperatura com base na leitura e envie esse valor flutuando de volta voltagem =temperatura * 5,0; voltagem =voltagem / 1024.0; return ((voltagem - 0,5) * 100);} int celsius_to_fahrenheit (int temp) {return (temp * 9/5) + 32;}
Snippet de código # 2 Texto simples
#includeLiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Pinos digitais aos quais você conecta o LCDconst int inPin =0; // A0 é onde você conecta o sensorvoid setup () {lcd.begin (16,2);} void loop () {int value =analogRead (inPin); // lê o valor do sensor lcd.setCursor (0,1); float milivolts =(valor / 1024,0) * 5000; float celsius =milivolts / 10; lcd.clear (); lcd.setCursor (0,0); lcd.print (celsius); lcd.print ("C"); lcd.setCursor (0,1); lcd.print ((celsius * 9) / 5 + 32); // transformando o Celsius em fahrehait lcd.print ("F"); atraso (1000);}
Processo de manufatura
- Faça um detector de incêndio em minutos com Samsung SAMIIO, Arduino UNO e Raspberry Pi
- Painel LCD com Arduino para o simulador de vôo
- Relógio Arduino com horas de oração islâmica
- Animação de LCD e jogos
- Exibindo uma imagem em uma tela LCD TFT com o Arduino UNO!
- Controle do Servo Motor com Arduino e MPU6050
- u-blox LEA-6H 02 Módulo GPS com Arduino e Python
- Reconhecimento de fala e síntese com Arduino
- Despertador simples com DS1302 RTC
- Controle de ventilador PWM de 4 pinos de 25 kHz com Arduino Uno