Você está na página 1de 7

Vai

Login

Voc est aqui: Incio Robtica, Eletrnica e Afins Eletrnica Arduino


Facebook

Projeto Arduino com display LCD, sensor de temperatura e


sensor de luminosidade.

Na Internet

Ol pessoal, nest post vou mostrar como desenvolver o projeto arduino com display LDC, que mede a
temperatura atravs de um sensor LM35 e mede a luminosidade atravs de um sensor LDR (do ingls
Light Dependent Resistor). Alm disso voc poder controlar o brilho e contraste do display LDC atravs
de dois potencimetros. 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 fcil de encontrar e com um preo acessvel, e te
mostrar tambm 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 ingls Light Dependent Resistor);
um sensor de temperatura LM35;
dois potencimetros de 10K omhs;
um resistor de 10k ohms;
fios jumper.
Vamos comear conectando os componentes na protoboard, o display ldc, os potencimetros, os
sensores de luz e temperatura, resistor e fios jumper.

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 conexes entre eles, que sero tratadas com detalhes
mais adiante.

Alm do esquema precisamos saber de mais alguns detalhes tcnicos sobre essas ligaes. Vamos
comear pelo datasheet do display LCD JHD 162A, que mostra a finalidade de cada um dos pinos do
display lcd. Caso o seu display no seja um JHD 162A voc poder procurar na internet pelo datasheet do
mesmo e assim adaptar para esse projeto.

Segue abaixo a descrio de como devero ser feitas as ligaes entre o display LDC, o arduino, e os
potencimetros 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 potncimetro (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 potncimetro (controle do brilho);
pino 16 do LCD ligado ao GND do arduino.

A imagem abaixo mostra um pouco mais das ligaes entre o display e os potencimetro.

Agora trataremos do sensor de temperatura LM35. Segue abaixo uma imagem que detalha a funo de
cada pino do sensor.

A conexo ser feita da seguinte forma.

pino 5V do LM35 no 5V do arduino;


pino central do LM35 no pino analgico A1 do arduino;
pino GND do LM35 no GND do arduino.

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 analgico A0 e tambm no GND do arduino, a ligao no GND ser
feita atravs do resistor. Para detalhes veja o esquema do projeto.
Aps feitas todas as conexes entre arduino, protoboard e componentes, chegou a hora de programar o
seu arduino para que ele assuma as funes propostas neste projeto. Ento conecte o seu arduino ao
computador atravs do cabo USB, execute a IDE de programao do arduino e introduza o cdigo fonte
abaixo.
Cdigo 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 analgico em que o sensor de luz est conectado.
const int sensorTemp = 1; //Pino analgico em que o sensor de temperatura est conectado.
int valorSensorLuz = 0; //varivel usada para ler o valor do sensor de luz.
int valorSensorTemp = 0; //varivel usada para ler o valor do sensor de temperatura.
int menorValorTemp = INT_MAX; //Varivel 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 variaes de leitura do componente
//LM35 so feitas 8 leitura o menor valor lido prevalece.
menorValorTemp = INT_MAX; //Inicializando a varivel com o maior valor int possvel
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 cdigo fonte e faa o upload para o arduino. Aguarde alguns instantes, necessrios para
a transferncia do programa, e o seu projeto comear 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,
atravs dos potencimetros, para ficar bem ntido a exibio dos valores de temperatura e luz.

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

Se voc gostou deste post ento tambm vai gostar dos post abaixo!

Arduino com sensor de


obstculos ultrasnico HCSRO4

Arduino com servomotor


robtico e display LCD

Controlando um servomotor
com potencimetro no arduino.

Controlando 8 leds com o


Arduino usando o CI 74HC595,
fazendo uma contagem binria.

Motor CC/DC no Arduino e


ponte H dupla. Controle de
velocidade e sentido da
rotao

Detector de UFOs
extraterrestes feito com
Arduino.

Controlando a velocidade de
um motor CC no Arduino com
potencimetro.

Arduino, primeiros passos para


trabalhar com este fantstico
microcontrolador

Projeto Arduino pisca led

Faa o seu comentrio pelo Facebook.


Curtir

Com partilhar 2.266 pessoas curtiram isso.

20 comentrios

Com entar

Paulo Roquetti
parabns, qual o pino EN e o RS do seu display LCD?
Responder Curtir 31 de outubro de 2013 s 16:37
Romenio Nunes Universidade Anhembi Morumbi
Muito interessante, preciso saber agora como inplementar um sensor de Umidade
Valeu Abrao!
Responder Curtir

3 11 de junho de 2013 s 14:38

Como Fazer As Coisas

Quem mais comentou

Existe um sensor especfico para a umidade... Em breve usaremos um em um


novo projeto...
Responder Curtir 19 de junho de 2013 s 07:37
Wilson Machado E.E.Maria Auxiliadora
sou iniciante, mas gostei muito desse projeto
Responder Curtir 19 de agosto de 2013 s 14:12
Alexandre Jnior FITO - Fundao Instituto Tecnolgico de Osasco
Gostei muito do projeto, parabns...
S no consegui entender "menorValorTemp = INT_MAX;" se algum puder me explicar por
favor, agradeo!
Responder Curtir 11 de julho de 2013 s 10:25
David Renan Mendona So Jos dos Campos
Significa que vc est atribuindo um valor inteiro bem alto para a varivel
menorValorTemp
Responder Curtir 3 de janeiro s 05:16
Livio Venncio Propietario na empresa Villa Vogue
tenho apenas um potencimetro ligado na luminosidade, falta o do contraste. tem algum
problema? Meu LCD est acendendo e apagando no projeto... acho que nao carregou, nao
sem bem mas acho q est piscando o projeto anterior do semforo... o lcd acende e apaga

Binary sketch size: 3.708 bytes (of a 32.256 byte maximum)


Responder Curtir 2 de junho de 2013 s 22:23
Lamartine Lincoln INSPETOR DE CAMPO na empresa Elizabeth Cimentos Ltda
eu vi no NetGeo uma construo que tem um sensor de incndio: ele detecta o
fogo e lana um jato d'gua diretamente sobre o mesmo. :D
Responder Curtir 3 de junho de 2013 s 08:06
Lamartine Lincoln INSPETOR DE CAMPO na empresa Elizabeth Cimentos Ltda
Provavelmente ele mede a temperatura..
Responder Curtir 3 de junho de 2013 s 08:07
Lamartine Lincoln INSPETOR DE CAMPO na empresa Elizabeth Cimentos Ltda
ah, foi mal o erro: NatGeo kkkk =D
Responder Curtir 3 de junho de 2013 s 08:09
Ver mais 1
Lucas Fernandes Fernandes E.E Oswaldo de Oliveira Lima
ola meu amigo, por gentileza essa bibliotca limits.h onde vc conseguiu baixa-la ?muito
obrigado e sucsso seus projtos sao muito bom, isso que um iniciante precisa p/seguir
em frente valeu meu amigo.
Responder Curtir 3 de maio de 2013 s 11:18
Como Fazer As Coisas

Quem mais comentou

Nas verses mais recentes da IDE/Drives ela j vem por padro. Eu no baixei
ela separado.
Responder Curtir 19 de junho de 2013 s 07:39
Rben Almeida PagarImpostos na empresa Aposentado - INSS
Obrigado por disponibilizar seus projetos, com tanta qualidade e generosidade.
Responder Curtir 23 de abril de 2013 s 10:16
Como Fazer As Coisas

Quem mais comentou

De nada amigo, estamos a para isso. Sempre que tenho um tempo de sobra
corro para fazer um novo projeto.
Responder Curtir 19 de junho de 2013 s 07:40
Giuliano Pertone Faculdade Novo Milnio
Oi boa noite, estou fazendo um projeto mas com sensor de vazo, como faco pro Arduno
ler leitura de impulsos, em qual pino devo ligar, o sensor eh water flow sensor modelo
fs300a g3/4 polegadas, ele tem 3 fios de conexo, positivo e negativo, e o fio que transmite
os dados de impulso.
Responder Curtir 12 de abril de 2013 s 15:35
Teddy L. Bogs
what language it use? Please Reply... Thanks...
Responder Curtir 28 de julho de 2013 s 07:03
Stuart Crouch
Works great, thanks! Thank you for sharing your expertise! Stuart Crouch
Responder Curtir 5 de agosto de 2013 s 06:09
David Renan Mendona So Jos dos Campos
Posso utilizar apenas um Potencimetro de B10K?
Pois o LCD que comprei sem Back light.
Responder Curtir 3 de janeiro s 05:14
Plug-in social do Facebook