ola galera, estou com 2 problemas na minha programação. o meu projeto é de um alarme que utiliza o ldr como sensor . quando a luz no ldr é interrompida, ele dispara o buzzer e aparece uma mensagem no display lcd 16x2(na teoria ele teria que fazer isso). porem, quando o alarme dispara ele nao aparece a mensagem no display. o segundo problema é que quero colocar mais 3 ldrs no projeto, para fazerem a mesma função e quando cada um disparar, aparecer a mensagem no display. alguem pode me ajudar?

aqui vai o que eu ja fiz(colei quase tudo da internet):

#include <LiquidCrystal.h> //Inclui a biblioteca do LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Configura os pinos do Arduino para se comunicar com o LCDint LDR; //declara variavel

int ledPin=10;//escrevi led, mas e o buzzer
int LDR;
int VLDR;
int temp; //Inicia uma variável inteira(temp), para escrever no LCD a contagem do tempofloat VLDR;
void setup()
{
lcd.begin(16, 2); //Inicia o LCD com dimensões 16x2(Colunas x Linhas)
lcd.setCursor(0, 0); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD
lcd.print("LDR 1"); //Escreve no LCD 
lcd.setCursor(0, 1); //Posiciona o cursor na primeira coluna(0) e na segunda linha(1) do LCD
lcd.print("cozinha"); //Escreve no LCD 
Serial.begin(9600);
pinMode(A0, INPUT);// entrada A0
pinMode(10,OUTPUT); // define o pino 10 como saida
}
void loop(){
lcd.setCursor(13, 1); //Posiciona o cursor na décima quarta coluna(13) e na segunda linha(1) do LCD
lcd.print(temp); //Escreve o valor atual da variável de contagem no LCD
delay(1000); //Aguarda 1 segundo
temp++; //Incrementa variável de contagem
if(temp == 600) //Se a variável temp chegar em 600(10 Minutos),...
{
temp = 0; //...zera a variável de contagem

LDR = analogRead(A0);
VLDR=LDR*5.00000/1024;
Serial.print(LDR);
Serial.print(" ");
Serial.print(VLDR);
Serial.println ( "\t");
delay(100);
if (LDR > 1000) { 
tone(10,200);
delay(50); 
tone(10,100);
delay(50); 
}
else {
noTone(10); }
}

Exibições: 315

Responder esta

Respostas a este tópico

Veja se esse vídeo te ajuda: https://www.youtube.com/watch?v=OaXj06bhEFk

É sobre orientação a objetos.

Thiago, 

aqui comigo funcionou o LCD.

confere as ligações.

Rui

Como o Rui disse o problema esta no erro de pinagem do LCD, o resto funciona.

Segue simulação no Proteus depois de corrigir pinos no LCD.

https://www.youtube.com/watch?v=AFfDpRODm-Q

Abs.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço