Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int numero;
- int ledPin = 13;
- unsigned long ultimo_tempo = 0;
- int aciona = false;
- #define RELE1 2
- #define PASSWORD 1234 // Define a senha
- int RELE1_STATE = LOW;
- //=======================================================
- // ENTRADAS DTMF DIGITAIS
- //=======================================================
- int pinBit01 = 7;
- int pinBit02 = 6;
- int pinBit03 = 5;
- int pinBit04 = 4;
- int pinBitSts= 3;
- int bit01 = 0;
- int bit02 = 0;
- int bit03 = 0;
- int bit04 = 0;
- int bitSts= 0;
- boolean proceed = false; //Flag que habilita o funcionamento dos comandos mediante senha digitada corretamente - inicializa falso!
- String tmpPass =" "; //Armazenamento da senha digitada no celular!
- String password = "1234"; // Defina sua senha aqui - pode ser de quaisquer números de digitos!
- void setup() {
- // Serial.begin(9600);
- pinMode(RELE1, OUTPUT);
- pinMode(9,INPUT);
- pinMode(8,INPUT);
- digitalWrite(RELE1, LOW);
- // Serial.println("Aguardando comando...");
- }
- void loop() {
- bitSts= digitalRead(pinBitSts);
- bit01 = digitalRead(pinBit01);
- bit02 = digitalRead(pinBit02);
- bit03 = digitalRead(pinBit03);
- bit04 = digitalRead(pinBit04);
- numero = (bit01 * 1) + (bit02 * 2) + (bit03 * 4) + (bit04 * 8);
- if (bitSts == HIGH && numero < 13) {
- //Serial.print("Recebido: ");
- switch (numero){
- case 1:
- // Serial.println("1");
- tmpPass += '1'; //Adiciona o número digitado em tmpPass
- /* COMANDO PARA RELE1 */
- if (proceed == true) // Se proceed é verdadeiro (a senha foi digitada corretamente) comando é executado!
- {
- RELE1_STATE = !RELE1_STATE; // Troca de estado (HIGH/LOW) cada vez que pressionar o botão.
- digitalWrite(RELE1, RELE1_STATE); //Liga-desliga Relé.
- }
- break;
- case 2:
- // Serial.println("2");
- tmpPass += '2'; //Adiciona o número digitado em tmpPass
- break;
- case 3:
- // Serial.println("3");
- tmpPass += '3'; //Adiciona o número digitado em tmpPass
- break;
- case 4:
- // Serial.println("4");
- tmpPass += '4'; //Adiciona o número digitado em tmpPass
- break;
- case 5:
- // Serial.println("5");
- tmpPass += '5'; //Adiciona o número digitado em tmpPass
- break;
- case 6:
- // Serial.println("6");
- tmpPass += '6'; //Adiciona o número digitado em tmpPass
- break;
- case 7:
- // Serial.println("7");
- tmpPass += '7'; //Adiciona o número digitado em tmpPass
- break;
- case 8:
- // Serial.println("8");
- tmpPass += '8'; //Adiciona o número digitado em tmpPass
- break;
- case 9:
- // Serial.println("9");
- tmpPass += '9'; //Adiciona o número digitado em tmpPass
- break;
- case 10:
- //Serial.println("0");
- tmpPass += '0'; //Adiciona o número digitado em tmpPass
- break;
- case 11: // Caractere '*'
- // Serial.println("*");
- tmpPass =" "; //Limpa para armazenar a senha novamente!
- proceed = false; //Desabilita todos os comandos até que a senha seja digitada novamente!
- break;
- case 12: // Caractere '#'
- // Serial.println("#");
- tmpPass.trim();//Retira os espaços em branco - ver caractere '*'!
- if (tmpPass == password) { // Se a senha digitada for igual a senha armazenada...
- //Serial.println("Senha correta!");
- proceed = true; //Habilita todos os comandos via telemóvel
- }else{
- // Serial.println("Senha ERRADA!");
- proceed = false; //Desabilita todos os comandos via telemóvel
- }
- /*
- //Caso queira ver a saida da senha é só descomentar
- Serial.print("tmpPass= ");
- Serial.println(tmpPass);
- Serial.print("password= ");
- Serial.println(password);
- */
- break;
- }
- // Zeram todas as variáveis
- numero = 0;
- bit01 = 0;
- bit02 = 0;
- bit03 = 0;
- bit04 = 0;
- bitSts= 0;
- delay (500);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement