Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h> // BIBLIOTECA PARA O FUNCIONAMENTO DO SERVO
- Servo servo_Motor; //OBJETO DO TIPO SERVO
- char password = 123; //SENHA CORRETA PARA DESTRANCAR A FECHADURA
- #define ledVermelho 12 //PINO EM QUE ESTÁ CONECTADO O LED VERMELHO
- #define ledVerde 13 //PINO EM QUE ESTÁ CONECTADO O LED VERDE
- unsigned long g_valor = 0; // Guarda valor digitado no serial monitor
- bool digitada = false; // Informa condicao de digitacao
- //------------Rui-------------------
- void setup()
- {
- Serial.begin(115200);
- pinMode(ledVermelho, OUTPUT); //DECLARA O PINO COMO SAÍDA
- pinMode(ledVerde, OUTPUT); //DECLARA O PINO COMO SAÍDA
- servo_Motor.attach(11); //PINO DE CONTROLE DO SERVO MOTOR
- setLocked(true); //ESTADO INICIAL DA FECHADURA (TRANCADA)
- }
- //------------Rui-------------------
- void loop()
- {
- Serial.println("Digite a senha"); // Imprime pedido da senah
- digitada = false; // Considere que nada foi digitado
- while (digitada == false) // Se nada foi digitado faca
- {
- if (Serial.available() > 0) // Se nao tem nada na serial nao faca
- {
- g_valor = Serial.parseInt(); // le o valor digitado como um inteiro longo
- Serial.print("Senha : "); // Imprime
- Serial.println(g_valor); // Imprime valor
- digitada = true; // Informe que foi digitado
- if (g_valor == password) // Se for igual a password
- {
- setLocked(false); // Libera portao
- g_valor = 0; // Zera valor digitado
- }
- else // Se for diferente
- {
- setLocked(true); // Trava porta
- g_valor = 0; // Zera valor digitado
- }
- }
- }
- }
- //------------Rui-------------------
- void setLocked(int locked) //TRATANDO O ESTADO DA FECHADURA
- {
- if (locked) //SE FECHADURA TRANCADA, FAZ
- {
- digitalWrite(ledVermelho, HIGH); // LED VERMELHO ACENDE
- digitalWrite(ledVerde, LOW); // LED VERDE APAGA
- servo_Motor.write(0); //POSIÇÃO DO SERVO FICA EM 0º (FECHADURA TRANCADA)
- Serial.println("Travado");
- }
- else //SENÃO, FAZ
- {
- digitalWrite(ledVerde, HIGH); // LED VERDE ACENDE
- digitalWrite(ledVermelho, LOW); // LED VERMELHO APAGA
- servo_Motor.write(82); // SERVO GIRA A 82º (FECHADURA DESTRANCADA)
- Serial.println("Liberado");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement