Ajuda com Indicador de nível de água com sensor reed switch eletromagnético

Olá pessoal! Sou novo aqui no L.G. e também da ramo de programação(eletrônica), estou ajudando um colega à montar um pequeno projeto de um indicador de nível de água de um aquário, sendo 3 níveis, mínimo, médio e máximo. fiz um boia com um ima que passa por um cano de pvc onde estão os sensores. Quero simplesmente que, quando ativar um dos sensores mostre a palavra  no display lcd keypad shield conforme a programação. Porém não esta dando certo. Se alguém puder ajudar, agradeço! Essa é a programação;


#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

int Reed1 = 0;
int Reed2 = 1;
int Reed3 = 2;

void setup()
{

lcd.begin(16, 2);
lcd.setCursor( 4, 0);
lcd.print("NIVEL");
lcd.setCursor( 4, 1);
lcd.print("AQUARIO");
pinMode(Reed1,INPUT);
pinMode(Reed2,INPUT);
pinMode(Reed3,INPUT);

}

void loop()
{

if (digitalRead(Reed1) == 1)

{
lcd.setCursor( 0, 0);
lcd.print("nivel do aquario");
lcd.setCursor(4,1);
lcd.print("MINIMO");
}

if (digitalRead(Reed2) == 1)

{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Nivel do Aquario");
lcd.setCursor( 4, 1);
lcd.print("MEDIO");
}

if (digitalRead(Reed3) == 1)

{
lcd.clear();
lcd.setCursor( 0, 0);
lcd.print("nivel do aquario");
lcd.setCursor( 4, 1);
lcd.print("MAXIMO");
delay(1000);
}


}

Exibições: 463

Responder esta

Respostas a este tópico

 o que não está dando certo?

O switch nível mínimo já aparece no lcd como se estivesse com contato fechado, e do nível médio quando fecha embaralha com as letras do mínimo. E apos afastar o ima dos contatos switchs medio e máximo volta para a mensagem do nível mínimo. Já verifiquei os switchs e estam bons. Fiz o esquema separado para um de cada vez e funcionou. Porém ao juntar acontecer isso.

Oi JP, boa noite.

Testei o seu code,e o que ocorre é que as duas linhas 

que colocou pra limpar o LCD, estão provocando este "embaralhamento" que você refere.

outra coisa, deve evitar usar os pinos 0 e 1 para switchs, pois eles são os pinos que o arduino

usa para se comunicar com a USB.

Para testes eu mudei os reeds para os pinos 10  11 e 12.

Retirei tb as linhas redundantes de "nível do aquário"

Liguei também os resistores de PULLUP, o que torna desnecessários resistores externos.

Testa aí o code

Anexos
Boa noite Rui. Vou testar sim. obrigado!
Tem algum programa que posso fazer simulações com arduino e projetos sem que necessite montar a parte física pra testar? Assim facilita a correção de erros.

Tem o Proteus,

mas eu não tenho ele não

Rui

Bom dia Rui. testei seu código, mas infelizmente não esta dando certo. Quando o ima fecha contato do switch, é como se desse curto e o display apaga e volta novamente, se eu manter o ima proximo, o display fica apagado.

JP, bom dia,

para que eu possa identificar seu problema, post um desenho do seu circuito e

como ligou os reeds.

Eu liguei os reeds, com uma ponta no pino e a outra em Gnd, e mais nada nos pinos de

entrada do arduino.  

Veja também que eu troquei os pinos para não usar os 0 e 1.

Rui

Como dito pelo Colega Rui, o Proteus é uma das melhores opçoes.

Veja este vídeo no meu canal: https://www.youtube.com/watch?v=5zE-3Ttx1wc

Abs.

Obrigado a todos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço