Sensor Magnético Reed Switch
Já pensou em controlar motores, relés ou LEDs de forma barata e fácil ? Com o sensor magnético Reed Switch, isso é possível. Esse dispositivo, como o nome já sugere, é um sensor de campo magnético, ou seja, ele é capaz de detectar quando um ímã está se aproximando ou se afastando. Simples e eficiente, o reed switch apresenta grande aplicabilidade na indústria e em diversos projetos de robótica e automação, sendo amplamente usados em portões eletrônicos e em sistemas antifurto, por exemplo.
Como funciona o sensor magnético reed switch ?
Os sensores magnéticos reed switch são ampolas constituídas por um bulbo de vidro, que contém, em seu interior, duas hastes metálicas flexíveis que se movimentam conforme a ação de um campo magnético. Essa configuração possibilita que as hastes se mantenham em contato fechado ou aberto, o que implica se haverá ou não passagem de corrente elétrica.
Quando há um ímã próximo do sensor, ocorre a magnetização dos contatos metálicos do dispositivo, fazendo com que estes se fechem, o que permite a passagem de corrente elétrica. De forma análoga, com o ímã afastado, os contatos se mantêm abertos, impedindo a passagem da corrente. Nesse sentido, a passagem ou não de corrente elétrica indica ao Arduino se o ímã está longe ou perto do sensor.
Sistemas antifurto
A partir dessa informação, conseguiremos, através do Arduino, controlar os dispositivos que quisermos, como um buzzer em um sistema antifurto de um cofre, por exemplo. Em projetos como esse, geralmente se acopla o reed switch a uma das paredes do cofre, enquanto um ímã é anexado à sua porta. Dessa maneira, o Arduino irá interpretar quando a porta estiver aberta (sensor afastado do ímã) ou quando estiver fechada (sensor próximo ao ímã), de modo que o usuário consiga identificar arrombamentos.
Em sistemas como o da figura, quando ocorre um arrombamento, a porta do cofre permanece aberta, de maneira que o ímã e o sensor ficam separados. Desse modo, tal informação é lida pelo Arduino, que, por sua vez, coordenará o acionamento de um buzzer, que atua como um sinalizador.
Sendo assim, neste tutorial, você vai aprender a conectar o sensor reed switch ao Arduino. Além disso, vai aplicar seu conhecimento num projeto de alarme antifurto com o sensor magnético reed switch e um buzzer, seguindo o modelo do exemplo apresentado.
Mãos à obra – Alarme antifurto com sensor magnético reed switch
Componentes necessários
- Buzzer Passivo
- Ampola de Reed Switch NA – Sensor Magnético
- Placa Arduino
- Resistores de 470Ω ou similares
- 1 Ímã
Montando o projeto
Vamos conectar os componentes do projeto. Para isso, desligue o cabo USB do seu Arduino e monte o circuito conforme a figura a seguir:
Programando
Crie um sketch e salve-o com o nome “reed_switch_alarme”. Em seguida, com o sketch salvo, escreva o programa da seguinte forma:
#define buzzer 2 //buzzer na porta digital 2 #define sensor 9 //sensor reed switch na porta digital 9 #define led 12 //LED na porta digital 12 int leitura; void setup() { pinMode(buzzer,OUTPUT); //buzzer atuando como saída pinMode(sensor, INPUT); //sensor atuando como entrada pinMode(led,OUTPUT); //LED atuando como saída } void loop() { leitura = digitalRead(sensor); if(leitura==0){ //se nenhum campo magnético for detectado tone(buzzer,1500); // o buuzer toca digitalWrite(led,HIGH); //o led acende } if(leitura==1){ //se houver campo magnético noTone(buzzer); //buzzer não toca digitalWrite(led,LOW); // led apagado } }
Após digitar o código, clique em carregar, para que o programa seja transferido para a placa Arduino.
Colocando para funcionar
Terminado o passo-a-passo, você perceberá que, ao aproximar um ímã do circuito, tanto o buzzer quanto o LED permanecem desativados. Contudo, ao afastar o ímã, o buzzer irá apitar, e o LED acenderá, de maneira semelhante ao que ocorre no exemplo do cofre descrito acima.
Entendendo a fundo
Entendendo o software
O sensor magnético reed switch é do tipo NA (normalmente aberto), ou seja, quando a leitura do sensor tiver valor lógico 1 (HIGH), significa que há campo magnético sendo detectado. Do contrário, quando o valor lido for 0 (LOW), é sinal de que o ímã está afastado, pois não há campo magnético ao redor.
No código, a variável “leitura” recebe o valor digital lido pelo sensor através da função digitalRead()
leitura = digitalRead(sensor);
Após a leitura, o próximo passo é indicar ao Arduino o momento em que o buzzer e o LED devem ser acionados. Para isso, utiliza-se uma estrutura condicional.
if(leitura==0){ //se nenhum campo magnético for detectado tone(buzzer,1500); // o buuzer toca digitalWrite(led,HIGH); //o led acende } if(leitura==1){ //se houver campo magnético noTone(buzzer); //buzzer não toca digitalWrite(led,LOW); // led apagado }
Dessa forma, se o valor captado pelo sensor for 0 (LOW), o que significa ausência de campo magnético, o buzzer toca, e o LED acende (HIGH); Caso contrário, se o sensor indicar 1 (HIGH), é sinal de que existe um campo magnético ao redor, e portanto, o Arduino deverá acionar tanto o buzzer quanto o LED.
Funções tone() e noTone()
A função tone() serve para o acionamento do buzzer. Como parâmetros, ela recebe a variável (buzzer) que representa o dispositivo usado e a frequência com que o som deve ser emitido. No nosso caso, utilizamos o valor de 1500 HZ.
tone(buzzer,1500); // o buzzer toca
Já a função noTone(), como o nome indica, serve para desativar o buzzer e tem como parâmetro apenas a variável que representa o dispositivo utilizado.
Considerações Finais
Agora que você aprendeu a usar o sensor magnético reed switch, que tal aplicar seus conhecimentos em outro projeto semelhante ? Como desafio, tente usar esse sensor para controlar um motor, simulando o que acontece em portões eletrônicos, em que o reed switch atua como um sensor fim de curso, boa sorte !