Projeto
27 – Acionando rele via teclado matricial 4X4
Olá pessoal, já vimos como utilizar o teclado matricial da forma mais simples controlando um LED, agora vamos utilizar este mesmo teclado para acionar um rele. Para este projeto será incluído uma nova biblioteca a "Password.h" que tem como função o controle de strings, validando-as. Por default o senha deste projeto será 1234, mas pode ser modificada (fica a seu critério). Aqui foi utilizado para acionar um rele, mas pode ser para acionar uma solenoide por exemplo, ou para outros fins.
Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!!
Componentes
necessários
1 Arduino Uno R3
1 Shield rele
1 Teclado matricial 4X4
Fios jumpers
Conectando
os componentes
Primeiro,
certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB.
Agora, conecte o shield rele e o teclado matricial como mostra a figura abaixo:
Fazendo
o download e importando a biblioteca do Password e Keypad:
1) Acesse o link https://onedrive.live.com/?cid=f877fded1de63faa#cid=F877FDED1DE63FAA&id=F877FDED1DE63FAA%21122 ;
2) Faça
o download dos arquivos Password e Keypad;
3) Descompacte
os arquivos;
4) Agora
entre no diretório (C:) e na pasta Arquivos de Programas, Arduino, libraries,
copie os arquivos descompactados nesta pasta;
5)
Pronto para utilizar;
Agora vamos ao código
// Projeto 27 – Acionando rele via teclado matricial 4X4
#include "Password.h" // Biblioteca utilizada para controle de
senha.
#include "Keypad.h" // Biblioteca para controle do teclado de
matrizes.
Password password = Password(
"1234" ); // Senha utilizada
para acionamento do rele.
const byte ROWS = 4; // Quatro linhas por...
const byte COLS = 4; // Quatro colunas.
// Define o Keypad (mapa do circuito
do teclado).
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
// Conecta o teclado matricial em
linha 0, linha 1, linha 2, linha 3 e linha 4 dos pinos do arduino.
byte rowPins[ROWS] = {9,8,7,6};
// Conecta o teclado matricial em
coluna 0, coluna 1, coluna 2, coluna 3 e coluna 4 do arduino.
byte colPins[COLS] = {12,11,10,5};
// Cria um objeto Keypad.
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS
);
void setup(){
pinMode(4, OUTPUT); // Define
pino 4 como saída.
Serial.begin(9600); // Inicializa
Serial Monitor.
keypad.addEventListener(keypadEvent);
keypad.setDebounceTime(250);
}
void loop(){
keypad.getKey();
}
void keypadEvent(KeypadEvent eKey){
switch (keypad.getState()){ // Condição switch...
case PRESSED: // Se precionado algum botão...
Serial.print("Digitado: ");
// Aparecera no Serial Monitor, Digitado: "X".
Serial.println(eKey); // Armazena
numero digitado na variável eKey.
switch (eKey){
case 'C': guessPassword(); // Pressionando
"C" confirma se a senha foi digitado corretamente.
break;
default:
password.append(eKey);
}
}
}
void guessPassword(){
Serial.print("Verificando, aguarde... "); // Informa no Serial Monitor
"Verificando, aguarde...".
if (password.evaluate()){
Serial.println("Acionando rele... "); // Informa no Serial
Monitor "Acionando rele...".
digitalWrite(4, HIGH); // Ativa
o rele.
delay(2000); // Rele fica
acionado por 2 segundos e depois...
digitalWrite(4, LOW); // Desativa o rele.
password.reset(); // Apaga a senha.
}else{
digitalWrite(4, LOW);
Serial.println("Senha
Invalida !");
password.reset(); // Apaga a
senha.
}
}
Para confirmar se
está tudo certo aperto o botão Verify/Upload. Se estiver correto você pode
abrir o Serial Monitor em Tools, Serial Monitor ou selecionando simultaneamente
os botões Ctrl+Shift+M, digite a senha 1234 e aperte o botão C, pronto seu rele
irá acionar por 2 segundos e depois será desativado.
Vídeo do projeto pronto
- Se você gostou do post,
por favor comente! Nos dê um
feedback, isto nos incentiva a continuar! :)
-
Inscreva-se na fan page !
- Curta nossa fan page !
- Baixe o APP Faça Com Arduino e carregue para onde você for os projetos. É simples. É fácil !!