Olá.
Estou concluindo um projeto de uma fechadura eletrônica.
Mexo a pouco tempo com arduino, e tenho muita pouca noção de programação.
Levando em conta minhas limitações optei por fazer o projeto em pedaços separados e no final unir tudo.
Sobre o projeto:
O projeto sera composto por um RFID, um display LCD com I2C e um teclado matricial.
Oque quero que faça:
Quero que se aproximar um cartão RFID que ja esta cadastrado, libera o acesso.
Se digitar a senha em um teclado matricial, libera acesso.
Ao digitar o números(protocolos) predefinidos, troca a senha.
Ao digitar números(protocolos) predefinidos, cadastra ou exclui RFID.
Ha muito custo consegui fazer todas as partes funcionarem (com alguns bugs). Porém ao juntas o programa tem atitudes inesperadas, sei mais o menos oque esta acontecendo...
Bugs:
1º -Texto piscando no LCD, quero que ele exiba no começo, e fique estático.
2º -Ao apertar alguma tecla do teclado matricial o programa se perde nas funções. E imprime o texto que digitado anteriormente junto com o atual, sempre somando blocos de 4. Fica mais facil de entender se executar no Arduíno.
*TUDO ESTA FUNCIONANDO SEPARADAMENTE. O PROBLEMA É QUANDO JUNTA.
Segue o sketchs componentes em anexo. Vou anexar a versão que estou trabalhando no comentário.
Tags:
As respostas para este tópico estão encerradas.
Bom dia JPM,
analisando o seu code " Vers_o_final_fechadura_eletronica.ino " , encontrei 4 erros em compilação.
o mesmo erro em 4 linhas
Está: tecla_pressionada = "" e deveria ser : tecla_pressionada = ' '; .
Linhas 277, 307, 340, 363.
Continuando a testar.
RV
Então não sei oque acontece...mais se utiliza tecla_pressionada = ' ' da erro. Se utiliza o tecla_pressionada = "" da *erro permissivo.
Eu passei e nem liguei, estava tudo funcionando. Fora que não sabia a linha onde estava o problema.
Agora com o Sr. me chamando a atenção substitui o tecla_pressionada = "" por tecla_pressionada = ' \0' (Caracter nulo).
Tem que ter um espaço entre ' ' .
RV
Tipo se colocar o espaço oque vai ficar na variavel tecla_pressionada é o metacaracter branco, mais pra frente no sketch tem um trecho onde pega oque tem no char e mais somando em uma string(Variavel_conversao).
Se deixar o espaço (/s) ele vai somar e ficaria "/sblabla" quando o programa espera somente o texto "blabla". Ai teria que customizar tudo dnv.
JPM,
Discordo de vc,
Em seu code : " Vers_o_final_fechadura_eletronica.ino " , todas vez que vc usou
a variável "tecla_pressionada" em alguma operação, antes vc carregou algum valor nela,
com o método teclado1.getKey(), ou seja ela nunca foi usada com o valor "espaço".
Alias, acho desnecessária a instrução : tecla_pressionada = ' ';, pela mesma razão anterior.
Esta variável foi definida como char, então o tamanho dela é de somente 1 byte.
RV
Desculpa a dmr. Esses dias estão corridos, vou ver se termino e faço os testes. Assim que tiver resultados dou retorno.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por