Você está aqui: Início » Robótica, Eletrônica e Afins » Eletrônica » Arduino

Projeto Arduino com display LCD, sensor de temperatura e sensor de luminosidade.

 

Olá pessoal, nest post vou mostrar como desenvolver o projeto arduino com display LDC, que mede a temperatura através de um sensor LM35 e mede a luminosidade através de um sensor LDR (do inglês Light Dependent Resistor). Além disso você poderá controlar o brilho e contraste do display LDC através de dois potenciômetros. Este projeto arduino vai te mostrar como trabalhar com displays LDC do tipo JHD 162A, de 16 colunas e 2 linhas, que é um tipo comum e fácil de encontrar e com um preço acessível, e te mostrará também como realizar a leitura dos sensores de temperatura e luminosidade.

Para desenvolver este projeto você vai precisar de:

  • um arduino;
  • uma protoboard;
  • um display LDC do tipo JHD 162A de 16 colunas por duas linhas;
  • um sensor LDR (do inglês Light Dependent Resistor);
  • um sensor de temperatura LM35;
  • dois potenciômetros de 10K omhs;
  • um resistor de 10k ohms;
  • fios jumper.

Vamos começar conectando os componentes na protoboard, o display ldc, os potenciômetros, os sensores de luz e temperatura, resistor e fios jumper.

Arduino e display lcd

O esquema do projeto, logo abaixo, e que servirá de base durante todo o desenvolvimento do mesmo, te mostra com detalhes todos os componentes e as conexões entre eles, que serão tratadas com detalhes mais adiante.

Arduino display lcd

Além do esquema precisamos saber de mais alguns detalhes técnicos sobre essas ligações. Vamos começar pelo datasheet do display LCD JHD 162A, que mostra a finalidade de cada um dos pinos do display lcd. Caso o seu display não seja um JHD 162A você poderá procurar na internet pelo datasheet do mesmo e assim adaptar para esse projeto.

datasheet display LCD JHD 162A

Segue abaixo a descrição de como deverão ser feitas as ligações entre o display LDC, o arduino, e os potenciômetros que controlam o brilho e o contrate do LCD.

  • pino 1 do LCD ligado ao GND do arduino;
  • pino 2 do LCD ligado ao 5V do arduino;
  • pino 3 do LCD ligado ao pino central do primeiro potênciômetro (controle de contraste);
  • pino 4 do LCD ligado ao pino digital 9 do arduino;
  • pino 5 do LCD ligado ao GND do arduino;
  • pino 6 do LCD ligado ao pino digital 8 do arduino;
  • pino 11 do LCD ligado ao pino digital 5 do arduino;
  • pino 12 do LCD ligado ao pino digital 4 do arduino;
  • pino 13 do LCD ligado ao pino digital 3 do arduino;
  • pino 14 do LCD ligado ao pino digital 2 do arduino;
  • pino 15 do LCD ligado ao pino central do segundo potênciômetro (controle do brilho);
  • pino 16 do LCD ligado ao GND do arduino.

Arduino lcd sensor de temperatura e luz

A imagem abaixo mostra um pouco mais das ligações entre o display e os potenciômetro.

Arduino lcd sensor de temperatura e luz

Agora trataremos do sensor de temperatura LM35. Segue abaixo uma imagem que detalha a função de cada pino do sensor.

LM35

A conexão será feita da seguinte forma.

  • pino 5V do LM35 no 5V do arduino;
  • pino central do LM35 no pino analógico A1 do arduino;
  • pino GND do LM35 no GND do arduino.

Arduino e display lcd

O sensor de luz será ligado da seguinte forma.

  • uma perna do sensor de luz LDR no 5V do arduino;
  • a outra perna  do sensor de luz LDR no pino analógico A0 e também no GND do arduino, a ligação no GND será feita através do resistor. Para detalhes veja o esquema do projeto.

Após feitas todas as conexões entre arduino, protoboard e componentes, chegou a hora de programar o seu arduino para que ele assuma as funções propostas neste projeto. Então conecte o seu arduino ao computador através do cabo USB, execute a IDE de programação do arduino e introduza o código fonte abaixo.

Código fonte completo e comentado.

/*
Projeto Arduino com LCD, sensor de luz e de temperatura. 
Por Jota
----------------------------------------
--=<| www.ComoFazerAsCoisas.com.br |>=--
----------------------------------------
*/
#include "LiquidCrystal.h"
#include "Limits.h"
const int sensorLuz  = 0; //Pino analógico que o sensor de luz está conectado.
const int sensorTemp = 1; //Pino analógico que o sensor de temperatura está conectado.

//Variáveis
int valorSensorLuz  = 0;  //usada para ler o valor do sensor de luz.
int valorSensorTemp = 0;  //usada para ler o valor do sensor de temperatura.
int menorValorTemp  = INT_MAX; //usada para armazenar o menor valor da temperatura.

//Criando um objeto da classe LiquidCrystal e 
//inicializando com os pinos da interface.
LiquidCrystal lcd(9, 8, 5, 4, 3, 2);

void setup() {
  //Inicializando o LCD e informando o tamanho de 16 colunas e 2 linhas
  //que é o tamanho do LCD JHD 162A usado neste projeto.
  lcd.begin(16, 2);    
}

void loop() { 
  //Lendo o valor do sensor de luz
  valorSensorLuz  = analogRead(sensorLuz);
  
  //Para evitar as grandes variações de leitura do componente 
  //LM35 são feitas 8 leitura é o menor valor lido prevalece.  
  menorValorTemp  = INT_MAX; //Inicializando com o maior valor int possível
  for (int i = 1; i <= 8; i++) {
    //Lendo o valor do sensor de temperatura.
    valorSensorTemp = analogRead(sensorTemp);   
 
    //Transformando valor lido no sensor de temperatura em graus celsius aproximados.
    valorSensorTemp *= 0.54 ; 
    
    //Mantendo sempre a menor temperatura lida
    if (valorSensorTemp < menorValorTemp) {
      menorValorTemp = valorSensorTemp;
    }
   
   delay(150); 
  }   
    
  //Exibindo valor da leitura do sensor de temperatura no display LCD.
  lcd.clear();  //limpa o display do LCD.     
  lcd.print("Temp: ");  //imprime a string no display do LCD.                 
  lcd.print(menorValorTemp);
  lcd.write(B11011111); //Simbolo de graus celsius
  lcd.print("C");
  
  //Exibindo valor da leitura do sensor de luz no display LCD.
  lcd.setCursor(0,1);  //posiciona o cursor na coluna 0 linha 1 do LCD.
  lcd.print("Luz: ");  //imprime a string no display do LCD.       
  lcd.print(valorSensorLuz);  
   
  delay(2000); //aguarda 2 segundos
}

Agora compile o código fonte e faça o upload para o arduino. Aguarde alguns instantes, necessários para a transferência do programa, e o seu projeto começará a funcionar, mostrando a temperatura do ambiente e a intensidade de luz, que vai de 0 até 1023. Regule o brilho e o contraste do display lcd, através dos potenciômetros, para ficar bem nítido a exibição dos valores de temperatura e luz.

Arduino lcd sensor de temperatura e luz

E para concluir mais este projeto em arduino, segue abaixo o vídeo mostrando ele em funcionamento. Veja!

Veja Mais

Como ligar um joystick no Arduino e ler as posições X, Y e Z
Como ligar um joystick no Arduino e ler as posições X, Y e Z
Fotoresistor, o que é, para que serve, e como funciona.
Fotoresistor, o que é, para que serve, e como funciona.
Arduino com sensor de obstáculos ultrasônico HC-SRO4
Arduino com sensor de obstáculos ultrasônico HC-SRO4
Arduino com servomotor robótico e display LCD
Arduino com servomotor robótico e display LCD
Controlando um servomotor com potenciômetro no arduino.
Controlando um servomotor com potenciômetro no arduino.
Controlando 8 leds com o Arduino usando o CI 74HC595, fazendo uma contagem binária.
Controlando 8 leds com o Arduino usando o CI 74HC595, fazendo uma contagem binária.
Motor CC/DC no Arduino e ponte H dupla. Controle de velocidade e sentido da rotação
Motor CC/DC no Arduino e ponte H dupla. Controle de velocidade e sentido da rotação
Detector de UFOs extraterrestes feito com Arduino.
Detector de UFOs extraterrestes feito com Arduino.
Controlando a velocidade de um motor CC no Arduino com potenciômetro.
Controlando a velocidade de um motor CC no Arduino com potenciômetro.
 

Tops do momento

Como calcular o resistor adequado para um LED.Como calcular o resistor adequado para um LED.
Como fazer uma mini bomba de água caseiraComo fazer uma mini bomba de água caseira
Como fazer um mini gerador de energia eólica - versão 2.0Como fazer um mini gerador de energia eólica - versão 2.0
Projeto Arduino com display LCD.Projeto Arduino com display LCD.
Projeto Arduino, led com botão liga desliga.Projeto Arduino, led com botão liga desliga.
Como fazer um mini gerador de energia eólica - versão 1.0Como fazer um mini gerador de energia eólica - versão 1.0
Como Fazer um Circuito Pisca LEDComo Fazer um Circuito Pisca LED
Mini gerador de energia manual movido a manivelaMini gerador de energia manual movido a manivela

Destaques

Joystick controlando 3 servomotores no ArduinoJoystick controlando 3 servomotores no Arduino
Como fazer uma mini balestra pistola de palitos de picoléComo fazer uma mini balestra pistola de palitos de picolé
Como fazer uma lanterna de LEDs no palitoComo fazer uma lanterna de LEDs no palito
Como fazer um avião bimotor de palitos de picoléComo fazer um avião bimotor de palitos de picolé
Como fazer uma mini bomba de água caseiraComo fazer uma mini bomba de água caseira
Circuito simples que controla a velocidade de um motorzinho. Como fazer!Circuito simples que controla a velocidade de um motorzinho. Como fazer!
Como ligar um joystick no Arduino e ler as posições X, Y e ZComo ligar um joystick no Arduino e ler as posições X, Y e Z
Circuito simples que controla o sentido de rotação de um motorzinho.Circuito simples que controla o sentido de rotação de um motorzinho.
 
Como Fazer as Coisas no Facebook Como Fazer as Coisas no G+ Como Fazer as Coisas no Twitter Como Fazer as Coisas no YouTube Como Fazer as Coisas no Pinterest Feed Como Fazer as Coisas