Como especificar funções definidas pelo usuário do teclado da entrada do projeto Arduino Sistema

A parte final do código para o seu projeto Arduino sistema de entrada de teclado contém quatro funções que lidam com a identificação da tecla pressionada, enviando comandos para o chip Max, que cancelam a exibição, e ativar o mecanismo da porta.

A parte inteligente deste código é como o pressionamento de tecla é determinada. Ele usa código por Michael Margolis, em seu livro de referência indispensável, Arduino Cookbook, publicado pela O'Reilly Media. Os pinos digitais para as linhas foram puxados para o alto durante configuração(). Isto significa que a leitura desses pinos será sempre avaliar a alta, a menos que algo mais está puxando-os para baixo - como uma tecla de conectá-los a um pino coluna LOW.

o getKey função passa por cada um dos pinos digitais conectados aos pinos de seu teclado coluna e define o pino de baixo. Em seguida, ele verifica se os pinos de linha são agora também LOW. Os resistores pull-up que você usou no configuração() manter os pinos de linha ALTA - a menos que uma tecla foi pressionada, conectando-o a um pino coluna LOW!

oenquanto declaração só funciona enquanto uma condição existir, neste caso, quando um dos pinos de linha tornou-se baixa devido a uma tecla. Neste momento, o kEYMAP é consultado para encontrar o número correspondente para essa linha e coluna, e este é armazenado na variável chave.

Em seguida, você fazer um pouco de limpeza, definindo todos os pinos de coluna de volta para ALTO, para a próxima vez. Finalmente, o valor de chave é devolvido para a parte do programa que a solicitou. Ufa!

A única coisa que resta é abrir a porta para a sua fortaleza / castelo / laboratório. Se você ainda não tiver feito isso, adicione a última parte do seu código no final. No desbloquear () função, a quatro sendCommand () instruções imprimir a mensagem # 147-HI # 148- para a exibição. É bom receber uma recepção calorosa - se apenas uma breve um. Em seguida, a ação acontece.

o strikePin é escrito elevado, o que irá fornecer energia para o transistor de controlo do relê. Quando se ativa, o poder é permitida a passagem para o seu mecanismo de destravamento para a duração especificada por doorOpenTime. Em seguida, você define strikePin para LOW para manter quaisquer nefastas intrusos, espiões e malfeitores.

Se você não tiver feito isso, fazer o upload do código e cruzar os dedos. Quando você pressiona uma tecla, você deve ver o seu número exibido no seu módulo de LED. Abra o monitor de série no Arduino IDE e observar o que acontece quando você pressiona uma tecla. Se tudo está conectado corretamente, você deve ver as teclas identificadas, eo codeBuffer [] gradualmente a ser preenchido com os valores digitados.

Se você não vê os dígitos iluminando no seu módulo de LED, verifique as conexões novamente. Se você não vê os valores corretos em seu monitor serial, a certeza de que não há um erro no seu código e que os valores para rowPins e colPins estão corretas. Depois de ter confirmado que isso é tudo o trabalho, você pode seguir em frente, para adicionar o módulo de abertura do relé e da porta.

Se ele não está funcionando, você não será capaz de testar o mecanismo de relé e porta.

Para preparar o Arduino para a sua vida trabalhando como um guarda de segurança, definir DEPURAR para falso e carregar o código de uma última vez. Remova a conexão USB do seu Arduino porque você não vai precisar mais dele. A energia elétrica será fornecida a partir de seu poder transformador.

menu