Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Password.h> // Biblioteca utilizada para controle de senha.
- #include <Keypad.h> // Biblioteca para controle do teclado de matrizes.
- // Senha utilizada para acionamento do rele.
- Password password = Password( "1234" );
- Password password2 = Password( "4321" );
- Password password3 = Password( "3412" );
- 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(3, OUTPUT); // Define pino 3 como saída.
- pinMode(4, OUTPUT); // Define pino 4 como saída.
- pinMode(5, OUTPUT); // Define pino 5 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){
- // Pressionando "C" confirma se a senha foi digitado corretamente.
- case 'C':
- guessPassword();
- break;
- default:
- password.append(eKey);
- password2.append(eKey);
- password3.append(eKey);
- }
- }
- }
- void guessPassword(){
- // Informa no Serial Monitor "Verificando, aguarde...".
- Serial.print("Verificando, aguarde... ");
- if (password.evaluate()){
- // Informa no Serial Monitor "Acionando rele...".
- Serial.println("Acionando rele 4... ");
- 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 if (password2.evaluate()){
- Serial.println("Acionando rele 3... ");
- digitalWrite(3, HIGH); // Ativa o rele.
- delay(2000); // Rele fica acionado por 2 segundos e depois...
- digitalWrite(3, LOW); // Desativa o rele.
- password2.reset(); // Apaga a senha.
- }
- else if (password3.evaluate()){
- Serial.println("Acionando rele 5... ");
- digitalWrite(5, HIGH); // Ativa o rele.
- delay(2000); // Rele fica acionado por 2 segundos e depois...
- digitalWrite(5, LOW); // Desativa o rele.
- password3.reset(); // Apaga a senha.
- }
- // ============================================================================
- else{
- digitalWrite(4, LOW);
- Serial.println("Senha Invalida !");
- password.reset(); // Apaga a senha.
- password2.reset(); // Apaga a senha.
- password3.reset(); // Apaga a senha.
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement