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 bouton-poussoir Arduino pour commander un relais et une ampoule en courant alternatif
Dans ce tutoriel, nous apprendrons comment contrôler une ampoule en courant alternatif (AC) ou une lampe LED à l'aide d'un bouton-poussoir et d'un relais. Le bouton-poussoir basculera la lumière entre allumée et éteinte, la laissant dans son dernier état même après le relâchement du bouton. Ce montage n'est pas seulement pratique, c'est aussi une excellente introduction à la manipulation des relais et des charges en courant alternatif.

Au fur et à mesure, nous aborderons les composants nécessaires, les instructions de câblage et le code Arduino qui rendent ce projet possible. Assurez-vous de regarder la vidéo associée pour un guide visuel et des explications détaillées (dans la vidéo à 00:00).

Le matériel expliqué
Pour ce projet, nous utiliserons un module relais, une carte Arduino et un bouton poussoir. Le module relais agit comme un interrupteur capable de commander des charges en courant alternatif à haute tension, comme une ampoule, tout en étant contrôlé par les signaux basse tension de l'Arduino. Le module relais possède trois bornes principales pour connecter la charge : commune (COM), normalement ouverte (NO) et normalement fermée (NC).
Le bouton poussoir sert d'interface utilisateur pour basculer l'état du relais. Il est connecté à l'une des broches numériques de l'Arduino. Lorsque le bouton est enfoncé, il envoie un signal à l'Arduino, qui active ou désactive alors le relais en conséquence. Cette interaction simple nous permet de contrôler facilement la lumière.
Détails de la fiche technique du relais
| Fabricant | Songle |
|---|---|
| Numéro de pièce | SRD-05VDC-SL-C |
| Tension de la bobine | 5 V CC |
| Tension de commutation | CA 250 V / CC 30 V |
| Courant de commutation | 10 A max. |
| Résistance de contact | ≤ 100 mΩ |
| Résistance d'isolement | ≥ 1000 MΩ |
| Température de fonctionnement | de -40 à +70 °C |
| Paquet | Module relais standard |
- Assurez-vous que le relais est adapté à la charge que vous commutez.
- Maintenez le module de relais alimenté en 5 VDC.
- Utilisez une isolation appropriée pour les connexions en courant alternatif.
- Soyez prudent lorsque vous travaillez avec le courant alternatif ; assurez-vous que le circuit est débranché avant d'apporter des modifications.
- Connectez le bouton-poussoir à la broche d'entrée désignée de l'Arduino.
- Utilisez le mode INPUT_PULLUP pour la broche du bouton-poussoir afin d'éviter d'avoir recours à des résistances externes.
- Testez le fonctionnement du relais avec une tension plus faible avant de connecter des charges en courant alternatif.
- Vérifiez les connexions pour éviter les courts-circuits.
Instructions de câblage

Pour câbler le module de relais, commencez par connecter la broche VCC du relais à la broche 5V de l'Arduino, et la broche GND du relais à la broche GND de l'Arduino. La broche IN du relais doit être connectée à la broche numérique 10 de l'Arduino. Cette broche enverra le signal pour activer le relais.
Pour le bouton-poussoir, connectez une borne à la broche numérique 2 de l'Arduino. L'autre borne doit être reliée à GND. Cette configuration utilise la résistance pull-up interne de l'Arduino, donc assurez-vous que la broche est configurée en INPUT_PULLUP dans le code. Lorsque le bouton est pressé, il mettra la broche à LOW, envoyant un signal à l'Arduino.
Pour la charge en courant alternatif, branchez un fil sur la borne COM du relais et l'autre sur la borne NO. Cette configuration permettra à la charge en courant alternatif de s'allumer lorsque le relais est activé. Veillez toujours à ce que les connexions en courant alternatif soient sécurisées et isolées.
Exemples de code et guide pas à pas
Le code suivant initialise les broches nécessaires et configure le relais pour qu'il reste éteint au départ. L'appui sur le bouton bascule l'état du relais et met à jour l'état de la lumière en conséquence.
int pbuttonPin = 2; // connect output to push button
int relayPin = 10; // Connected to relay (LED)
void setup() {
Serial.begin(9600);
pinMode(pbuttonPin, INPUT_PULLUP);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH); // keep the load OFF at the beginning
}
Dans le code, la variablepbuttonPinest réglé sur la broche 2, qui est utilisée pour le bouton-poussoir. LerelayPinest assigné à la broche 10, contrôlant le relais. LedigitalWriteLa fonction est utilisée pour garantir que le relais démarre à l'état OFF.
void loop() {
val = digitalRead(pbuttonPin); // read the push button value
if(val == HIGH && lightON == LOW) {
pushed = 1 - pushed; // toggle the push status
delay(100);
}
if(pushed == HIGH) {
digitalWrite(relayPin, LOW); // turn the relay ON
} else {
digitalWrite(relayPin, HIGH); // turn the relay OFF
}
}
Cette section du code vérifie en continu l'état du bouton-poussoir. Lorsque le bouton est appuyé, cela bascule lepushedvariable. En fonction de la valeur depushed, le relais est activé ou désactivé, contrôlant ainsi la lumière. Cette boucle s'exécute en continu, garantissant que l'état de la lumière est mis à jour en temps réel.
Pour obtenir tous les détails du code, veuillez consulter le code chargé sous l'article.
Démonstration / À quoi s'attendre
Lorsque vous appuyez sur le bouton-poussoir, le relais s'activera, allumant l'ampoule AC connectée. Appuyer à nouveau sur le bouton éteindra l'ampoule. Le moniteur série affichera des messages d'état, indiquant si la lumière est ON ou OFF. Si vous rencontrez des problèmes, assurez-vous que le câblage est correct et vérifiez l'absence d'entrées flottantes qui pourraient provoquer un comportement inattendu (dans la vidéo à 10:00).
Horodatages vidéo
- 00:00- Introduction
- 01:30- Aperçu du matériel
- 03:15- Instructions de câblage
- 05:45- Présentation du code
- 08:00- Démonstration
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
- Utiliser un interrupteur Reed pour commander un relais et des charges AC/DC avec un Arduino
- Utilisation d'un module tactile TTP223B et d'un relais pour contrôler des charges AC/DC avec un Arduino
/*
* This is the Arduino code for a push button to turn ON and OFF a relay and AC bulb.
It toggles the bulb ON and OFF.
* The output pin 10 is connected to the relay.
* Watch video instructions on YouTube: https://youtu.be/7CCSRs5bvH0
* Be careful working with AC; it is dangerous. Disconnect from AC power when working and wear protective gloves when touching AC components.
* Full explanation of this code and wiring diagram is available in
* my Arduino Course at Udemy.com here: http://robojax.com/L/?id=62
* Written by Ahmad Shamshiri on December 14, 2017 in Ajax, Ontario, Canada
* in Ajax, Ontario, Canada. www.robojax.com
*
* Get this code and other Arduino codes from Robojax.com.
Learn Arduino step by step in a structured course with all materials, wiring diagrams, and libraries
all in one place. Purchase my course on Udemy.com: http://robojax.com/L/?id=62
If you found this tutorial helpful, please support me so I can continue creating
content like this. You can support me on Patreon: http://robojax.com/L/?id=63
or make a donation using PayPal: http://robojax.com/L/?id=64
* * 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 pbuttonPin = 2;// connect output to push button
int relayPin = 10;// Connected to relay (LED)
int val = 0; // push value from pin 2
int lightON = 0;//light status
int pushed = 0;//push status
void setup() {
// Robojax.com code and video tutorial for push button ON and OFF
Serial.begin(9600);
pinMode(pbuttonPin, INPUT_PULLUP);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH);// keep the load OFF at the begining. If you wanted to be ON, change the HIGH to LOW
}
void loop() {
// Robojax.com code and video tutorial for push button ON and OFF
val = digitalRead(pbuttonPin);// read the push button value
if(val == HIGH && lightON == LOW){
pushed = 1-pushed;
delay(100);
}
lightON = val;
if(pushed == HIGH){
Serial.println("Light ON");
digitalWrite(relayPin, LOW);
}else{
Serial.println("Light OFF");
digitalWrite(relayPin, HIGH);
}
// Robojax.com code and video tutorial for push button ON and OFF
delay(100);
}
Ressources et références
Fichiers📁
Aucun fichier disponible.