Advertisement
Guest User

Keypad e Password 2

a guest
Oct 20th, 2015
511
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.29 KB | None | 0 0
  1. #include <Password.h> // Biblioteca utilizada para controle de senha.
  2. #include <Keypad.h> // Biblioteca para controle do teclado de matrizes.
  3.  
  4. // Senha utilizada para acionamento do rele.
  5. Password password = Password( "1234" );
  6. Password password2 = Password( "4321" );
  7. Password password3 = Password( "3412" );
  8.  
  9. const byte ROWS = 4;  // Quatro linhas por...
  10. const byte COLS = 4;  // Quatro colunas.
  11.  
  12. // Define o Keypad (mapa do circuito do teclado).
  13. char keys[ROWS][COLS] = {
  14.   {'1','2','3','A'  },
  15.   {'4','5','6','B'  },
  16.   {'7','8','9','C'  },
  17.   {'*','0','#','D'  }
  18. };
  19.  
  20. // Conecta o teclado matricial em linha 0, linha 1, linha 2, linha 3 e linha 4...
  21. //dos pinos do arduino.
  22. byte rowPins[ROWS] = {
  23.   9,8,7,6};
  24.  
  25. // Conecta o teclado matricial em coluna 0, coluna 1, coluna 2, coluna 3 e...
  26. //coluna 4 do arduino.
  27. byte colPins[COLS] = {
  28.   12,11,10,5};
  29.  
  30. // Cria um objeto Keypad.
  31. Keypad keypad=Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
  32.  
  33. void setup(){
  34.  
  35.   pinMode(3, OUTPUT);  // Define pino 3 como saída.
  36.   pinMode(4, OUTPUT);  // Define pino 4 como saída.
  37.   pinMode(5, OUTPUT);  // Define pino 5 como saída.
  38.  
  39.   Serial.begin(9600);  // Inicializa Serial Monitor.
  40.   keypad.addEventListener(keypadEvent);
  41.   keypad.setDebounceTime(250);
  42. }
  43.  
  44. void loop(){
  45.   keypad.getKey();
  46. }
  47.  
  48.  
  49.  
  50. void keypadEvent(KeypadEvent eKey){
  51.  
  52.   switch (keypad.getState()){  // Condição switch...
  53.   case PRESSED:  // Se precionado algum botão...
  54.     Serial.print("Digitado: ");  // Aparecera no Serial Monitor, Digitado: "X".
  55.     Serial.println(eKey);  // Armazena numero digitado na variável eKey.
  56.     switch (eKey){
  57.    
  58.       // Pressionando "C" confirma se a senha foi digitado corretamente.
  59.     case 'C':
  60.       guessPassword();
  61.       break;
  62.  
  63.     default:
  64.       password.append(eKey);
  65.       password2.append(eKey);
  66.       password3.append(eKey);
  67.     }
  68.   }
  69. }
  70.  
  71.  
  72.  
  73. void guessPassword(){
  74.  
  75.   // Informa no Serial Monitor "Verificando, aguarde...".
  76.   Serial.print("Verificando, aguarde... ");
  77.  
  78.   if (password.evaluate()){
  79.     // Informa no Serial Monitor "Acionando rele...".
  80.     Serial.println("Acionando rele 4... ");
  81.     digitalWrite(4, HIGH);   // Ativa o rele.
  82.     delay(2000);  // Rele fica acionado por 2 segundos e depois...
  83.     digitalWrite(4, LOW);   // Desativa o rele.
  84.     password.reset(); // Apaga a senha.
  85.   }
  86.   // ============================================================================
  87.   else if (password2.evaluate()){
  88.  
  89.     Serial.println("Acionando rele 3... ");
  90.     digitalWrite(3, HIGH);   // Ativa o rele.
  91.     delay(2000);  // Rele fica acionado por 2 segundos e depois...
  92.     digitalWrite(3, LOW);   // Desativa o rele.
  93.     password2.reset(); // Apaga a senha.
  94.   }
  95.  
  96.   else if (password3.evaluate()){
  97.  
  98.     Serial.println("Acionando rele 5... ");
  99.     digitalWrite(5, HIGH);   // Ativa o rele.
  100.     delay(2000);  // Rele fica acionado por 2 segundos e depois...
  101.     digitalWrite(5, LOW);   // Desativa o rele.
  102.     password3.reset(); // Apaga a senha.
  103.   }
  104.  
  105.   // ============================================================================
  106.   else{
  107.  
  108.     digitalWrite(4, LOW);
  109.     Serial.println("Senha Invalida !");
  110.     password.reset(); // Apaga a senha.
  111.     password2.reset(); // Apaga a senha.
  112.     password3.reset(); // Apaga a senha.
  113.   }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement