.. note::
Bonjour et bienvenue dans la communauté des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder sur Facebook ! Plongez plus profondément dans l'univers de Raspberry Pi, Arduino et ESP32 avec d'autres passionnés.
**Pourquoi nous rejoindre ?**
- **Support d'experts** : Résolvez les problèmes après-vente et les défis techniques grâce à l'aide de notre communauté et de notre équipe.
- **Apprendre et partager** : Échangez des astuces et des tutoriels pour perfectionner vos compétences.
- **Aperçus exclusifs** : Accédez en avant-première aux annonces de nouveaux produits.
- **Remises spéciales** : Bénéficiez de réductions exclusives sur nos derniers produits.
- **Promotions festives et tirages au sort** : Participez à des concours et à des promotions lors des fêtes.
👉 Prêt à explorer et à créer avec nous ? Cliquez sur [|link_sf_facebook|] pour nous rejoindre dès aujourd'hui !
1.3.4 Relais
============
Introduction
----------------
Dans cette leçon, nous allons apprendre à utiliser un relais. C'est l'un des
composants couramment utilisés dans les systèmes de contrôle automatique.
Lorsque la tension, le courant, la température ou la pression atteignent,
dépassent ou sont inférieurs à une valeur prédéterminée, le relais connecte ou
interrompt le circuit pour contrôler et protéger les équipements.
Composants
-----------
.. image:: img/list_1.3.4.png
Principe
----------
**Diode**
Une diode est un composant électronique à deux bornes qui permet un flux de courant
unidirectionnel. Elle offre une faible résistance dans le sens du courant et une haute
résistance dans le sens opposé. Les diodes sont principalement utilisées pour éviter
les dommages aux composants, notamment en raison de la force électromotrice dans les
circuits polarisés.
.. image:: img/image344.png
Les deux bornes d'une diode sont polarisées : l'anode (pôle positif) et la cathode
(pôle négatif). La cathode est généralement en argent ou comporte une bande colorée.
Le courant dans une diode circule de l'anode à la cathode. Ce comportement est similaire
à celui d'une soupape de non-retour. Si une tension plus élevée est appliquée à l'anode,
le courant circule, c'est le biais direct. Si la tension plus élevée est appliquée à la
cathode, le courant ne passe pas, c'est le biais inverse.
**Relais**
Un relais est un dispositif utilisé pour établir une connexion entre deux ou plusieurs
points en réponse à un signal d'entrée. En d'autres termes, il assure une isolation entre
le contrôleur et l'appareil, notamment lorsque des dispositifs fonctionnent en courant
alternatif (AC) ou continu (DC). Les relais sont très utiles pour contrôler de grandes
quantités de courant ou de tension à l'aide de faibles signaux électriques.
Il y a 5 parties dans chaque relais :
**Électroaimant** - Il est constitué d'un noyau en fer enroulé de fils. Lorsque
l'électricité passe à travers, il devient magnétique.
**Armature** - Une bande magnétique mobile appelée armature. Lorsque du courant
circule, le champ magnétique attire l'armature, activant les contacts normalement
ouverts (N/O) ou fermés (N/C).
**Ressort** - Lorsque le courant ne passe pas dans l'électroaimant, le ressort
tire l'armature pour que le circuit soit interrompu.
**Jeu de contacts électriques** :
- Normalement ouvert - connecté lorsque le relais est activé, déconnecté lorsqu'il
est inactif.
- Normalement fermé - non connecté lorsque le relais est activé, connecté lorsqu'il
est inactif.
**Cadre moulé** - Protégé par un boîtier en plastique.
**Fonctionnement du relais**
Le principe de fonctionnement est simple. Lorsque le relais est alimenté, le courant
circule dans la bobine de commande, ce qui active l'électroaimant. L'armature est alors
attirée et connecte les contacts normalement ouverts, fermant ainsi le circuit. Lors de
la rupture du circuit, le ressort ramène l'armature vers les contacts normalement fermés,
interrompant le circuit. Ce processus permet de contrôler l'état d'un circuit de charge.
.. image:: img/image142.jpeg
Schéma
---------
.. image:: img/image345.png
Procédures expérimentales
---------------------------
**Étape 1 :** Construisez le circuit.
.. image:: img/image144.png
:width: 800
Pour les utilisateurs du langage C
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**Étape 2 :** Ouvrez le fichier de code.
.. raw:: html
.. code-block::
cd ~/davinci-kit-for-raspberry-pi/c/1.3.4
**Étape 3 :** Compilez le code.
.. raw:: html
.. code-block::
gcc 1.3.4_Relay.c -lwiringPi
**Étape 4 :** Exécutez le fichier exécutable.
.. raw:: html
.. code-block::
sudo ./a.out
Après l'exécution du code, la LED s'allumera. De plus, vous entendrez un « tic-tac
» dû à l'ouverture du contact normalement fermé et à la fermeture du contact
normalement ouvert.
.. note::
Si cela ne fonctionne pas après l'exécution ou si un message d'erreur apparaît : \"wiringPi.h : Aucun fichier ou répertoire de ce type\", veuillez vous référer à :ref:`faq_c_nowork`.
**Code**
.. code-block:: c
#include
#include
#define RelayPin 0
int main(void){
if(wiringPiSetup() == -1){ //si l'initialisation de wiringPi échoue, affichez un message à l'écran
printf("setup wiringPi failed !");
return 1;
}
pinMode(RelayPin, OUTPUT); //définir la sortie GPIO17(GPIO0)
while(1){
// Tick
printf("Relay Open......\n");
delay(100);
digitalWrite(RelayPin, LOW);
delay(1000);
// Tock
printf("......Relay Close\n");
delay(100);
digitalWrite(RelayPin, HIGH);
delay(1000);
}
return 0;
}
**Explication du Code**
.. code-block:: c
digitalWrite(RelayPin, LOW);
Configurez le port I/O à un niveau bas (0V), ce qui désactive le transistor et
la bobine n'est pas alimentée. Il n'y a donc pas de force électromagnétique, le
relais s'ouvre et la LED ne s'allume pas.
.. code-block:: c
digitalWrite(RelayPin, HIGH);
Configurez le port I/O à un niveau haut (5V) pour alimenter le transistor. La bobine
du relais est alimentée, générant une force électromagnétique, et le relais se ferme,
allumant la LED.
Pour les utilisateurs de Python
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**Étape 2 :** Ouvrez le fichier de code.
.. raw:: html
.. code-block::
cd ~/davinci-kit-for-raspberry-pi/python
**Étape 3 :** Exécutez le code.
.. raw:: html
.. code-block::
sudo python3 1.3.4_Relay.py
Pendant l'exécution du code, la LED s'allume. De plus, vous entendrez
un « tic-tac » dû à l'ouverture et à la fermeture du relais.
**Code**
.. note::
Vous pouvez **Modifier/Réinitialiser/Copier/Exécuter/Arrêter** le code
ci-dessous. Mais avant cela, vous devez vous rendre au chemin du code
source tel que ``davinci-kit-for-raspberry-pi/python``.
.. raw:: html
.. code-block:: python
import RPi.GPIO as GPIO
import time
# Définir GPIO17 comme broche de contrôle
relayPin = 17
# Définir une fonction de configuration
def setup():
# Configurer le mode GPIO en numérotation BCM
GPIO.setmode(GPIO.BCM)
# Configurer le mode de relayPin en sortie,
# avec un niveau initial à High (3,3V)
GPIO.setup(relayPin, GPIO.OUT, initial=GPIO.HIGH)
# Définir une fonction principale pour le processus principal
def main():
while True:
print ('Relay open...')
# Tic
GPIO.output(relayPin, GPIO.LOW)
time.sleep(1)
print ('...Relay close')
# Tac
GPIO.output(relayPin, GPIO.HIGH)
time.sleep(1)
# Définir une fonction destroy pour nettoyer après la fin du script
def destroy():
# Éteindre la LED
GPIO.output(relayPin, GPIO.HIGH)
# Libérer les ressources
GPIO.cleanup()
# Si ce script est exécuté directement, exécuter :
if __name__ == '__main__':
setup()
try:
main()
# Lorsque 'Ctrl+C' est pressé, le programme enfant
# destroy() sera exécuté.
except KeyboardInterrupt:
destroy()
**Explication du Code**
.. code-block:: python
GPIO.output(relayPin, GPIO.LOW)
Configurez les broches du transistor en niveau bas pour ouvrir le relais, et la LED ne s'allume pas.
.. code-block:: python
time.sleep(1)
Attendre 1 seconde.
.. code-block:: python
GPIO.output(relayPin, GPIO.HIGH)
Configurez les broches du transistor en niveau haut pour activer le relais, et la LED s'allume.
Image du Phénomène
-----------------------
.. image:: img/image145.jpeg