Este tutorial faz parte de: Controlando um relé usando Arduino
Esta é uma coletânea de vídeos relacionados a revezamento. Os links para outros vídeos estão abaixo deste artigo.
Usando um interruptor de palheta para controlar um relé e cargas AC/DC com um Arduino
Neste tutorial, vamos explorar como usar um interruptor de palheta em conjunto com um Arduino para controlar um relé que pode gerenciar cargas AC e DC. O interruptor de palheta atua como um sensor magnético, permitindo acionar o relé com base na proximidade de um ímã. Esta configuração é perfeita para aplicações como alarmes, luzes automatizadas ou qualquer cenário em que você queira controlar dispositivos com base na presença ou ausência de um campo magnético. O resultado será um circuito totalmente operacional que pode ligar ou desligar uma luz ou alarme dependendo do estado do interruptor de palheta.


Ao construirmos este projeto, discutiremos os componentes principais envolvidos, incluindo o interruptor de palheta, o relé e o Arduino. O interruptor de palheta tem três pinos: VCC (alimentação), GND (terra) e OUTPUT (sinal). Quando um ímã se aproxima, o interruptor fecha, permitindo que o pino de sinal vá para nível alto, o que pode então acionar o relé. O relé atua como um interruptor para cargas de tensão mais alta, tornando-o adequado para controlar dispositivos como lâmpadas ou alarmes.
Para uma demonstração visual e esclarecimento adicional, não deixe de conferir o vídeo associado (aos 00:00).

Hardware explicado
Os principais componentes deste projeto incluem um interruptor reed, um módulo de relé e uma placa Arduino. O interruptor reed é um sensor magnético que fecha seus contatos quando um ímã está próximo, permitindo que a corrente flua através do pino OUTPUT. Esse pino envia um sinal para o relé, que pode controlar dispositivos de alta tensão com segurança.
O módulo de relé é projetado para controlar cargas maiores. Ele possui três conexões principais: Comum (COM), Normalmente Aberto (NO) e Normalmente Fechado (NC). Quando o relé é ativado pelo Arduino, ele conecta o pino COM ao pino NO, permitindo que a corrente flua para o dispositivo conectado. Essa configuração permite um controle versátil sobre vários dispositivos elétricos sem conectar o Arduino diretamente a altas tensões. O principal amplificador utilizado para amplificar o sinal do interruptor lido é o amplificador operacional LM393.
Ficha técnica do módulo
| Fabricante | Desconhecido |
|---|---|
| Tensão lógica/IO | 3,3 V - 5 V |
| Tensão de alimentação | 5 V |
| Corrente de saída (por canal) | 10 A máx. |
| Corrente de pico (por canal) | 16 A máx. |
| Orientação sobre a frequência PWM | Não aplicável |
| limiares lógicos de entrada | 2,5 V mín. (ALTO) |
| Queda de tensão / RDS(on)/ saturação | 0.1 V típico |
| Limites térmicos | 85 °C máx. |
| Pacote | montagem em PCB |
Instruções de fiação

Para ligar o sistema, comece conectando o interruptor de palheta (reed switch). Conecte o pino VCC do interruptor de palheta à saída de 5V do Arduino e conecte o pino GND a um dos pinos de terra do Arduino. O pino OUTPUT do interruptor de palheta deve ser conectado ao pino digital2no Arduino. Isso permitirá que o Arduino leia o estado do interruptor de palheta.
Em seguida, ligue o módulo de relé. Conecte o pino VCC do relé à saída de 5V do Arduino, e o pino GND ao terra. O pino de entrada do relé, que controla a operação do relé, deve ser conectado ao pino digital10no Arduino. Por fim, conecte a carga (como uma lâmpada) aos terminais Comum e Normalmente Aberto do relé, certificando-se de que a carga seja adequada às especificações do relé.
Exemplos de Código e Guia Passo a Passo
O seguinte trecho de código inicializa os pinos e configura a comunicação serial para depuração. O interruptor de palheta está conectado ao pino2, enquanto o relé é controlado via pino10.
int LD = 200; // time in milliseconds to wait before making another reading.
void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT); // connected to relay
pinMode(2, INPUT); // reed switch input pin 2
Serial.println("Robojax Test: Reed switch");
}
Na função loop, o estado da chave de palheta é verificado continuamente. Se a chave estiver fechada (indicando a presença de um ímã), o relé é ligado. Se a chave estiver aberta, o relé é desligado após um atraso de 5 segundos, permitindo um período de tolerância antes da desativação.
void loop() {
if(digitalRead(2)){
Serial.println("Switch ON ");
digitalWrite(10, LOW); // Turn the relay ON
delay(LD);
}else{
delay(5000); // wait 5 seconds before turning the alarm off
digitalWrite(10, HIGH); // Turn the relay OFF
}
}
Este código permite flexibilidade no controle do relé com base no estado da chave de palheta. Você pode modificar a temporização e o comportamento alterando os valores de atraso ou a forma como o relé é controlado com base na entrada da chave.
Demonstração / O que esperar
Quando a configuração estiver completa, aproximar um ímã do interruptor de palheta deve ativar o relé, ligando a luz ou o alarme conectados. Se o ímã for removido, a luz permanecerá acesa durante um período de atraso especificado antes de desligar, proporcionando um tempo de espera para o usuário. Certifique-se de testar o sistema para confirmar que o relé se comporta conforme esperado e responde corretamente ao interruptor de palheta.
Marcas de tempo do vídeo
- 00:00- Introdução ao projeto
- 02:15- Explicação do hardware
- 05:30- Demonstração de fiação
- 08:45- Apresentação do código
- 12:00- Resultados esperados e dicas de solução de problemas
Este tutorial é parte de: Controlando um relé usando Arduino
- Código Arduino e vídeo para um relé de 5V de dois canais
- Controlando um relé de 5V com Arduino para acionar uma carga AC ou DC, como lâmpada ou motor
- Sensor de Toque TTP224 de 4 Canais para Acionar Cargas AC/DC com Relé
- Usando um Módulo de Relé de 5V (Baixo-Gatilho) com Arduino
- Usando um MAX6675 (termopar tipo K) com relé e display
- Usando um módulo de toque TTP223B e um relé para controlar cargas CA/CC com um Arduino
- Usando um botão do Arduino para acionar um relé e uma lâmpada em corrente alternada
++
//*
* This is the Arduino code for a reed switch to
* turn a relay ON, which the relay
* can turn a light or alarm ON.
* The reed switch is connected to pin 2.
* The relay is connected to pin 10.
* Watch the video for this code: https://www.youtube.com/watch?v=2RBFKqoauaI
*
* Written by Ahmad Shamshiri for Robojax.com Video
* Date: December 5, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Please keep this note with the code.
* This code is available on Robojax.com
*
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
* This code has been downloaded from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
int LD = 200; // time in milliseconds to wait before making another reading.
void setup() {
Serial.begin(9600);
// output pins
pinMode(10, OUTPUT);// connected to relay
// input pins
pinMode(2, INPUT);// reed switch input pin 2
Serial.println("Robojax Test: Reed switch");
}
void loop() {
// read the REED switch
if(digitalRead(2)){
Serial.println("Switch ON ");
digitalWrite(10, LOW); // Turn the relay ON
delay(LD);
}else{
delay(5000);// wait 5 seconds before turning the alarm off
// remove this line if you don't want any delay
digitalWrite(10, HIGH);// Turn the relay OFF
}
}// loop
Recursos e referências
Ainda não há recursos.
Arquivos📁
Nenhum arquivo disponível.