segunda-feira, 29 de dezembro de 2014

Central de alarme com Arduino UNO ( SECURITY SYSTEM V1.0 )

   A partir de uma necessidade pessoal, desenvolvi uma central de alarme residencial com um Arduino UNO. Um sistema básico com dois setores e sem nenhum led indicador ou display, porque necessitava de algo rápido e prático.
   Analisando os componentes que eu tinha em mãos, constatei que seria possível dar inicio ao projeto.

Abaixo os componentes utilizados:

Fonte AC/DC 12V 1A:



Sirene 12V (genérica):




Controle remoto RF 4 canais + receptor <<<(clique para ver tutorial)





Shield Xbee com dois relés



Arduino UNO R3 <<<(clique para ler sobre Arduino UNO R3)



2 Interruptores para simular os sensores na prototipagem, que neste caso eu utilizei dois módulos da iriel.



A respeito do Shield Xbee, ele pode ser dissubstituído por um simples modulo relé de 1 canal, utilizei este por ser o que eu tinha disponível no momento.

Código:
---------------------------------------------------------------------------------------------------------------------

//CENTRAL DE ALARME 1.0
//POR: MICHEL BACK
//INICIO DA PROTOTIPAGEM 29/12/2014

boolean sirene = 4; // define saida do relé que irá acionar a sirene (padrão da shield é o pino 4 para relé 1)
boolean armaset1 = A0; // define entrada que recebe comando do controle remoto (setor1)
boolean armaset2 = A1; // define entrada que recebe comando do controle remoto (setor1)
boolean setor1 = 8; // define entrada do setor 1
boolean setor2 = 7; // define entrada do setor 2
boolean x1; // variavel de entretravamento
boolean x2; // variável de entretravamento

void setup(){
  
  pinMode(sirene, OUTPUT);
  pinMode(armaset1, INPUT);
  pinMode(armaset2, INPUT);
  pinMode(setor1, INPUT);
  pinMode(setor2, INPUT);
  
  x1 = 0 ; // iguala a zero para iniciar setor desarmado
  x2 = 0 ; // iguala a zero para iniciar setor desarmado
}
void loop() {
  
  if(digitalRead(armaset1) == HIGH & x1 == 0){ // se setor 1 estiver desarmado e pressionar botao A
    digitalWrite(sirene, HIGH); // sinal sonoro 1 beep
    delay(150);
    digitalWrite(sirene, LOW);
    x1 = 1; // arma setor 1
    
    }
    
   if(digitalRead(armaset1) == HIGH & x1 == 1){ // se setor 1 estiver armado e pressionar botao A
    digitalWrite(sirene, HIGH); // sinal sonoro 2 beep
    delay(150);
    digitalWrite(sirene, LOW);
    delay(150);
    digitalWrite(sirene, HIGH);
    delay(150);
    digitalWrite(sirene, LOW);
    x1 = 0; // desarma setor 1
    }
    
  if(digitalRead(armaset2) == HIGH & x2 == 0){ // se setor 2 estiver desarmado e pressionar botao B
    digitalWrite(sirene, HIGH); // sinal sonoro 1 beep
    delay(150);
    digitalWrite(sirene, LOW);
    x2 = 1; // arma setor 2
   }
     if(digitalRead(armaset2) == HIGH & x2 == 1){ // se setor 2 estiver armado e pressionar botao B
    digitalWrite(sirene, HIGH);// sinal sonoro 2 beep
    delay(150);
    digitalWrite(sirene, LOW);
    delay(150);
    digitalWrite(sirene, HIGH);
    delay(150);
    digitalWrite(sirene, LOW);
    x2 = 0; // desarma setor 2
   }
if( x1 == 1 & digitalRead(setor1 ) == LOW){ // se setor 1 estiver armado e setor 1 estiver aberto
 digitalWrite(sirene, HIGH); //dispara alarme. Para silenciar basta desarmar setor
}

if( x2 == 1& digitalRead(setor2 ) == LOW ){ // se setor 1 estiver armado e setor 1 estiver aberto
   digitalWrite(sirene, HIGH); //dispara alarme. Para silenciar basta desarmar setor
}

}
--------------------------------------------------------------------------------------------------------------------------
Ligação do receptor RF


Como utilizei apenas 2 setores, será necessário ligar apenas os pinos D0 e D1 do receptor nas entradas A0 e A1 respectivamente.


Ligação de sensores de presença



Ligação de sensores magnéticos ( reed switch )



Setor 1 = Pino 8
Setor 2 = Pino 7


CONTINUA....

Nenhum comentário:

Postar um comentário