No cenário atual em que vivemos, sempre estamos expostos a perigos, logo a busca por sistemas de segurança sempre irá existir. Nesse post iremos abordar a base de um sistema de segurança simples, mas com a possibilidade de diversos upgrades.
A base do projeto consiste em acionar o sistema de segurança por meio de um botão “secreto”, possibilitando a identificação de algo fora do padrão definido por meio de um sensor magnético. Após o sensor identificar essa anomalia no padrão de funcionamento definido, o sistema enviará um sinal que permite o acionamento de diversas cargas. Nesse projeto utilizaremos um buzzer e uma lâmpada de emergência, mas nada impede o acionamento de uma tranca elétrica ou outros dispositivos eletromecânicos. Para estar realizando o desligamento do sistema em qualquer caso, deve-se pressionar novamente o botão escondido e, além das funções citadas, o projeto também contará com um LCD para nos informar se o alarme foi ativado ou desativado.
O funcionamento do sensor magnético MC-38, como já descrito em seu próprio nome, usa os conceitos do magnetismo para comutar seu circuito interno, permitindo o envio de um sinal para o microcontrolador. Podemos dizer que seu funcionamento se assemelha com um botão comum: de um lado existe um contado aberto (um reed switch, como já apresentamos aqui), e do outro lado do sensor existe um ímã. O reed switch possui contatos metálicos que, ao se aproximarem do imã, são atraídos por seu campo magnético e, consequentemente comutando seus contatos. Você pode conferir esse processo na ilustração abaixo:
Para esse projeto, você precisará de:
Na imagem a seguir você pode conferir o diagrama com todas as ligações necessárias para a montagem do circuito:
Primeiramente, vamos conectar o display LCD ao Arduino. Utilize como base a tabela abaixo:
Pinagem do Display LCD
Após fazer todas conexões necessárias, iremos fazer as demais conexões de acordo com as seguintes tabelas.
Após analisar o circuito acima juntamente com as tabelas, podemos começar a montagem do circuito. É importante lembrar que todo circuito deve primeiro montado para depois ser energizado.
O código completo para esse projeto se encontra abaixo, basta carregá-lo em seu Arduino.
#include <LiquidCrystal.h> // biblioteca do lcd LiquidCrystal lcd(8, 9, 10, 11, 12, 13); // pinos do lcd // nomeando os pinos do arduino int lampada = 3; int buzzer =4 ; int sensor = 2; int chave = 7; int ledativo = 5; int ledesativado = 6; //variáveis int adiciona = 0; int Vsensor = 0; int Vchave = 0; void setup(){ Serial.begin(9600);// iniciando o serial lcd.begin(16,2);// iniciando o lcd lcd.setCursor(1, 0);//iniciando o cursor na coluna 1 e linha 0 lcd.print("inicializando");// escrevendo no lcd lcd.setCursor(5, 1); lcd.print("sistema"); delay(3000); lcd.clear();// limpado o lcd pinMode(lampada, OUTPUT);// definindo lâmpada como saída pinMode(buzzer, OUTPUT);// definindo buzzer como saída pinMode(sensor, INPUT);// definindo sensor como entrada pinMode(chave, INPUT);// definindo chave como entrada digitalWrite(lampada, LOW);// iniciando lâmpada e buzzer desligados digitalWrite(buzzer, LOW); } void loop(){ Vchave = digitalRead(chave); // fazendo a leitura da chave e armazenado na variável. Vsensor = digitalRead(sensor); // fazendo a leitura do sensor e armazenado na variável. if(adiciona == 2){ // se variável adiciona for igual a dois, muda ela para zero delay(100); adiciona = 0; } if(Vchave == 1){ //se a chave for igual a 1 adiciona 1 na variável adiciona delay(350); adiciona++; } if(adiciona == 1){ //se a variável adiciona for igual a 1 lcd.setCursor(5, 0); lcd.print("alarme"); // mostra no lcd alarme ativado lcd.setCursor(0, 1); lcd.print(" ativado "); digitalWrite(ledativo,HIGH); // liga o ledativado digitalWrite(ledesativado,LOW); //desliga o ledesativado delay(50); if(Vsensor == 1){ //se a variável do sensor for igual a 1 digitalWrite(lampada, HIGH); // liga lâmpada digitalWrite(buzzer, HIGH); //liga buzzer delay(100); } } if(adiciona == 2){ //se a variável adiciona for igual a 2 digitalWrite(lampada, LOW); //desliga lâmpada digitalWrite(buzzer, LOW); //desliga lâmpada lcd.clear(); //limpa lcd lcd.setCursor(5, 0); lcd.print("alarme"); //escreve alarme ativado lcd.setCursor(3, 1); lcd.print("desativado"); digitalWrite(ledesativado,HIGH); //liga ledesativado digitalWrite(ledativo,LOW); // desliga ledativado delay(100); } Serial.println(adiciona);//mostra o valor da variável no monitor serial }
A biblioteca do LCD é encontrada na própria IDE do Arduino. Basta procurar por LiquidCrystal.
Concluímos aqui mais um projeto que serve de base para diversos outros projetos, como cofres ou até mesmo compor sistemas mais avançados, como uma central de alarme capaz de enviar um SMS sempre que for disparado, através da implementação de um módulo GSM. Você pode utilizar a base apresentada aqui e implementar novas funcionalidades conforme sua necessidade, basta utilizar sua imaginação!
Se ficou alguma dúvida, deixe nos comentários e se você fez algum projeto com base nesse tutorial, tire uma foto e marque a gente no Instagram. Estamos curiosos para ver os projetos que nossos leitores desenvolvem!
Um forte abraço e até a próxima!
Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!