oi tudo bem, realizei a montagem do circuito rfid do link a seguir http://picsource.com.br/archives/12274, funcionou conforme o descrito sem problemas, parabéns pela postagem, mas eu estou querendo realizar uma mudança no projeto mas não estou conseguindo, gostaria do seguinte, quando eu aproximar a tag do leitor o led ascende e permanece assim enquanto a tag estiver próxima a ele , e se apaga quando afastar a tag, mesma logica do circuito com botão aonde ele ascende ao ser pressionado e apaga ao ser solto utilizando a logica if e else, pois para meu projeto eu irei usar essa estrutura, se alguém puder me ajudar fico imensamente grato. obrigado.
Na porção de código abaixo do programa citado temos:
do {
LeituraOk = getID(); // Tenta ler alguma tag, sendo 0=não tem tag e 1=encontrado tag
digitalWrite(LedAzul, LedLigado); // Pisca led azul enquanto procura uma tag
delay(200);
digitalWrite(LedAzul, LedDesligado);
delay(200);
}
while (!LeituraOk); // Fica em loop até aproximarmos uma tag no módulo rc522
Nota-se que o programa fica em loop até encontrar uma tag.
Portanto, poderá usar um outro pino do atmega8 para ligar um led a mais (chamaremos de 'ledCartãoProximo':
do {
ledCartãoProximo = 0;<======//enquanto não tem cartão próximo fica desligado
LeituraOk = getID(); // Tenta ler alguma tag, sendo 0=não tem tag e 1=encontrado tag
digitalWrite(LedAzul, LedLigado); // Pisca led azul enquanto procura uma tag
delay(200);
digitalWrite(LedAzul, LedDesligado);
delay(200);
}
while (!LeituraOk); // Fica em loop até aproximarmos uma tag no módulo rc522
ledCartãoProximo = 1;//<=============saiu do loop, então tem um cartão, ligando o led.
Caso precisa usar a informação para outra coisa no programa, basta testar o estado deste led e tomar a decisão usando os 'ifs' da vida.
Suponho que deva funcionar, porém não tenho como testar.