Ce tutoriel fait partie de: Contrôle d'un relais à l'aide d'Arduino
Ce groupe regroupe toutes les vidéos relatives au relais. Vous trouverez des liens vers d'autres vidéos ci-dessous.
Utiliser un interrupteur Reed pour commander un relais et des charges AC/DC avec un Arduino
Dans ce tutoriel, nous allons voir comment utiliser un interrupteur reed (contact à lames) en conjonction avec un Arduino pour commander un relais capable de gérer des charges en courant alternatif (AC) et en courant continu (DC). L'interrupteur reed fait office de capteur magnétique, ce qui nous permet de déclencher le relais en fonction de la proximité d'un aimant. Cette configuration est idéale pour des applications telles que les alarmes, l'éclairage automatisé ou tout scénario où l'on souhaite contrôler des appareils selon la présence ou l'absence d'un champ magnétique. Le résultat sera un circuit pleinement opérationnel pouvant allumer ou éteindre une lumière ou une alarme selon l'état de l'interrupteur reed.


Au fur et à mesure de la réalisation de ce projet, nous aborderons les composants clés impliqués, notamment l'interrupteur reed, le relais et l'Arduino. L'interrupteur reed comporte trois broches : VCC (alimentation), GND (masse) et OUTPUT (signal). Quand un aimant s'approche, l'interrupteur se ferme, permettant à la broche de signal de passer à l'état HAUT, ce qui peut alors déclencher le relais. Le relais agit comme un interrupteur pour des charges à tension plus élevée, ce qui le rend adapté au contrôle d'appareils tels que des lampes ou des alarmes.
Pour une démonstration visuelle et des précisions supplémentaires, assurez-vous de consulter la vidéo associée (dans la vidéo à 00:00).

Le matériel expliqué
Les principaux composants de ce projet sont un interrupteur à lames (reed), un module relais et une carte Arduino. L'interrupteur à lames est un capteur magnétique qui ferme ses contacts lorsqu'un aimant est à proximité, permettant au courant de circuler par la broche de sortie. Cette broche envoie un signal au relais, qui peut commander des appareils haute tension en toute sécurité.
Le module de relais est conçu pour commander des charges plus importantes. Il comporte trois connexions principales : Commun (COM), Normalement ouvert (NO) et Normalement fermé (NC). Lorsque le relais est activé par l'Arduino, il relie la broche COM à la broche NO, permettant au courant de circuler vers l'appareil connecté. Cette configuration permet un contrôle polyvalent de divers appareils électriques sans interfacer directement l'Arduino avec des tensions élevées. L'amplificateur principal utilisé pour amplifier le signal lu provenant de l'interrupteur est l'amplificateur opérationnel LM393.
Fiche technique du module
| Fabricant | Inconnu |
|---|---|
| Tension logique/E/S | 3,3 V à 5 V |
| Tension d'alimentation | 5 V |
| Courant de sortie (par canal) | 10 A max |
| Courant de crête (par canal) | 16 A max |
| Recommandations de fréquence PWM | Non applicable |
| Seuils logiques d'entrée | 2.5 V min (HAUT) |
| Chute de tension / RDS (en conduction) / saturation | 0,1 V typique |
| Limites thermiques | 85 °C maximum |
| Paquet | Montage sur circuit imprimé |
Instructions de câblage

Pour câbler le système, commencez par connecter l'interrupteur Reed. Connectez la broche VCC de l'interrupteur Reed à la sortie 5V de l'Arduino, et connectez la broche GND à l'une des broches de masse de l'Arduino. La broche OUTPUT de l'interrupteur Reed doit être connectée à la broche numérique2Sur l'Arduino. Cela permettra à l'Arduino de lire l'état de l'interrupteur Reed.
Ensuite, câblez le module de relais. Connectez la broche VCC du relais à la sortie 5V de l'Arduino, et la broche GND à la masse. La broche d'entrée du relais, qui commande son fonctionnement, doit être connectée à la broche numérique10sur l'Arduino. Enfin, connectez la charge (par exemple une ampoule) à la borne commune et à la borne normalement ouverte du relais, en vous assurant que la charge est compatible avec les spécifications du relais.
Exemples de code et guide pas à pas
L'extrait de code suivant initialise les broches et configure la communication série pour le débogage. L'interrupteur Reed est connecté à la broche2, tandis que le relais est contrôlé par la broche10.
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");
}
Dans la fonction loop(), l'état de l'interrupteur Reed est constamment vérifié. Si l'interrupteur est fermé (indiquant la présence d'un aimant), le relais est activé. Si l'interrupteur est ouvert, le relais est désactivé après un délai de 5 secondes, ce qui laisse une période de grâce avant la désactivation.
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
}
}
Ce code permet une certaine flexibilité dans le contrôle du relais en fonction de l'état de l'interrupteur Reed. Vous pouvez modifier la temporisation et le comportement en changeant les valeurs de délai ou la manière dont le relais est commandé en fonction du signal provenant de l'interrupteur.
Démonstration / À quoi s'attendre
Une fois l'installation terminée, approcher un aimant du contact à lamelle devrait activer le relais, allumant la lampe ou l'alarme raccordée. Si l'aimant est retiré, la lampe restera allumée pendant une durée de temporisation spécifiée avant de s'éteindre, offrant un délai tampon pour l'utilisateur. Veillez à tester le système pour confirmer que le relais se comporte comme prévu et répond correctement au contact à lamelle.
Horodatages vidéo
- 00:00- Introduction au projet
- 02:15- Explication du matériel
- 05:30- Démonstration du câblage
- 08:45- Revue de code
- 12:00- Résultats attendus et conseils de dépannage
Ce tutoriel fait partie de: Contrôle d'un relais à l'aide d'Arduino
- Code Arduino et vidéo pour un relais 5V à double canal
- Contrôler un relais 5V avec un Arduino pour piloter une charge en CA ou en CC, comme une ampoule ou un moteur
- TTP224 Capteur tactile 4 canaux pour commander des charges AC/DC avec relais
- Utilisation d'un module relais 5V (déclenchement bas) avec Arduino
- Utilisation d'un MAX6675 pour thermocouple de type K avec relais et afficheur
- Utilisation d'un module tactile TTP223B et d'un relais pour contrôler des charges AC/DC avec un Arduino
- Utiliser un bouton-poussoir Arduino pour commander un relais et une ampoule en courant alternatif
++
//*
* 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
Ressources et références
Aucune ressource pour le moment.
Fichiers📁
Aucun fichier disponible.