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.

kit robotica educacional com Arduino ESP ou Microbit

 

 

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

 

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 !