Advertisement
RuiViana

LR_Senha

Oct 12th, 2017
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.66 KB | None | 0 0
  1. #include <Servo.h>                      // BIBLIOTECA PARA O FUNCIONAMENTO DO SERVO
  2. Servo servo_Motor;                      //OBJETO DO TIPO SERVO
  3. char password = 123;                    //SENHA CORRETA PARA DESTRANCAR A FECHADURA
  4. #define ledVermelho  12                 //PINO EM QUE ESTÁ CONECTADO O LED VERMELHO
  5. #define ledVerde  13                    //PINO EM QUE ESTÁ CONECTADO O LED VERDE
  6. unsigned long g_valor = 0;              // Guarda valor digitado no serial monitor
  7. bool digitada = false;                  // Informa condicao de digitacao
  8. //------------Rui-------------------
  9. void setup()
  10. {
  11.   Serial.begin(115200);
  12.   pinMode(ledVermelho, OUTPUT);         //DECLARA O PINO COMO SAÍDA
  13.   pinMode(ledVerde, OUTPUT);            //DECLARA O PINO COMO SAÍDA
  14.   servo_Motor.attach(11);               //PINO DE CONTROLE DO SERVO MOTOR
  15.   setLocked(true);                      //ESTADO INICIAL DA FECHADURA (TRANCADA)
  16. }
  17. //------------Rui-------------------
  18. void loop()
  19. {
  20.   Serial.println("Digite a senha");     // Imprime pedido da senah
  21.   digitada = false;                     // Considere que nada foi digitado
  22.   while (digitada == false)             // Se nada foi digitado faca
  23.   {
  24.     if (Serial.available() > 0)         // Se nao tem nada na serial nao faca
  25.     {
  26.       g_valor = Serial.parseInt();      // le o valor digitado como um inteiro longo
  27.       Serial.print("Senha : ");         // Imprime
  28.       Serial.println(g_valor);          // Imprime valor
  29.       digitada = true;                  // Informe que foi digitado
  30.       if (g_valor == password)          // Se for igual a password
  31.       {
  32.         setLocked(false);               // Libera portao
  33.         g_valor = 0;                    // Zera valor digitado
  34.       }
  35.       else                              // Se for diferente
  36.       {
  37.         setLocked(true);                // Trava porta
  38.         g_valor = 0;                    // Zera valor digitado
  39.       }
  40.     }
  41.   }
  42. }
  43. //------------Rui-------------------
  44. void setLocked(int locked)            //TRATANDO O ESTADO DA FECHADURA
  45. {
  46.   if (locked)                         //SE FECHADURA TRANCADA, FAZ
  47.   {
  48.     digitalWrite(ledVermelho, HIGH);  // LED VERMELHO ACENDE
  49.     digitalWrite(ledVerde, LOW);      // LED VERDE APAGA
  50.     servo_Motor.write(0);             //POSIÇÃO DO SERVO FICA EM 0º (FECHADURA TRANCADA)
  51.     Serial.println("Travado");
  52.   }
  53.   else                                //SENÃO, FAZ
  54.   {
  55.     digitalWrite(ledVerde, HIGH);     // LED VERDE ACENDE
  56.     digitalWrite(ledVermelho, LOW);   // LED VERMELHO APAGA
  57.     servo_Motor.write(82);            // SERVO GIRA A 82º (FECHADURA DESTRANCADA)
  58.     Serial.println("Liberado");
  59.   }
  60.  
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement