Note
Bonjour, bienvenue dans la communauté des passionnés de SunFounder Raspberry Pi & Arduino & ESP32 sur Facebook ! Plongez plus profondément dans Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprenez & Partagez : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus.
Réductions spéciales : Profitez de réductions exclusives sur nos produits les plus récents.
Promotions festives et cadeaux : Participez à des promotions et à des tirages au sort lors des fêtes.
👉 Prêt à explorer et créer avec nous ? Cliquez sur [Ici] et rejoignez-nous dès aujourd’hui !
2.1.2 Interrupteur à glissière
Introduction
Dans cette leçon, nous allons apprendre à utiliser un interrupteur à glissière. Habituellement, l’interrupteur à glissière est soudé sur une carte PCB comme interrupteur d’alimentation, mais ici, nous devons l’insérer dans la breadboard, donc il pourrait ne pas être bien fixé. Nous l’utilisons sur la breadboard pour montrer son fonctionnement.
Composants

Principe
Interrupteur à glissière

Un interrupteur à glissière, comme son nom l’indique, permet de glisser la barre de l’interrupteur pour connecter ou rompre le circuit et ainsi basculer entre les circuits. Les types les plus couramment utilisés sont SPDT, SPTT, DPDT, DPTT, etc. L’interrupteur à glissière est couramment utilisé dans les circuits basse tension. Il est caractérisé par sa flexibilité et sa stabilité et est largement utilisé dans les instruments électriques et les jouets électriques.
Fonctionnement : La broche du milieu est fixe. Lorsque vous tirez la glissière vers la gauche, les deux broches de gauche sont connectées ; lorsque vous la tirez vers la droite, les deux broches de droite sont connectées. Ainsi, il fonctionne comme un interrupteur reliant ou déconnectant les circuits. Voir l’illustration ci-dessous :

Le symbole du circuit pour l’interrupteur à glissière est montré ci-dessous. La broche 2 dans le schéma fait référence à la broche du milieu.

Condensateur
Le condensateur est un composant capable de stocker de l’énergie sous forme de charge électrique ou de produire une différence de potentiel (tension statique) entre ses plaques, à l’instar d’une petite batterie rechargeable.
Unités standard de capacité
Microfarad (μF) 1μF = 1/1 000 000 = 0,000001 = \(10^{- 6}\) F
Nanofarad (nF) 1nF = 1/1 000 000 000 = 0,000000001 = \(10^{- 9}\)F
Picofarad (pF) 1pF = 1/1 000 000 000 000 = 0,000000000001 = \(10^{- 12}\)F
Note
Ici, nous utilisons un condensateur 104 (10 x 104pF). Comme les anneaux des résistances, les numéros sur les condensateurs permettent de lire leurs valeurs une fois assemblés sur la carte. Les deux premiers chiffres représentent la valeur et le dernier chiffre signifie le multiplicateur. Ainsi, 104 représente une puissance de 10 x 10 à la 4 (en pF), soit 100 nF.
Schéma de câblage
Connectez la broche du milieu de l’interrupteur à glissière à GPIO17 et deux LEDs aux roches GPIO22 et GPIO27 respectivement. Lorsque vous faites glisser l’interrupteur, vous verrez les deux LEDs s’allumer alternativement.


Procédures expérimentales
Étape 1 : Construire le circuit.

Pour les utilisateurs de C
Étape 2 : Accédez au dossier du code.
cd ~/davinci-kit-for-raspberry-pi/c/2.1.2
Étape 3 : Compilez.
gcc 2.1.2_Slider.c -lwiringPi
Étape 4 : Exécutez le fichier exécutable.
sudo ./a.out
Lorsque le code est en cours d’exécution, si l’interrupteur est déplacé vers la gauche, la LED jaune s’allume ; vers la droite, la lumière rouge s’allume.
Note
Si cela ne fonctionne pas après l’exécution ou si un message d’erreur apparaît : "wiringPi.h: No such file or directory", veuillez vous référer à C code is not working?.
Code
#include <wiringPi.h>
#include <stdio.h>
#define slidePin 0
#define led1 3
#define led2 2
int main(void)
{
// Si l'initialisation de wiringPi échoue, afficher un message à l'écran
if(wiringPiSetup() == -1){
printf("setup wiringPi failed !");
return 1;
}
pinMode(slidePin, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
while(1){
// interrupteur à glissière en haut, led1 allumée
if(digitalRead(slidePin) == 1){
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
printf("LED1 on\n");
delay(100);
}
// interrupteur à glissière en bas, led2 allumée
if(digitalRead(slidePin) == 0){
digitalWrite(led2, LOW);
digitalWrite(led1, HIGH);
printf(".....LED2 on\n");
delay(100);
}
}
return 0;
}
Explication du code
if(digitalRead(slidePin) == 1){
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
printf("LED1 on\n");
}
Lorsque l’interrupteur à glissière est tiré vers la droite, la broche du milieu et celle de droite sont connectées ; le Raspberry Pi lit un niveau haut sur la 、broche du milieu, donc la LED1 s’allume et la LED2 s’éteint.
if(digitalRead(slidePin) == 0){
digitalWrite(led2, LOW);
digitalWrite(led1, HIGH);
printf(".....LED2 on\n");
}
Lorsque l’interrupteur à glissière est tiré vers la gauche, la broche du milieu et celle de gauche sont connectées ; le Raspberry Pi lit un niveau bas, donc la LED2 s’allume et la LED1 s’éteint.
Pour les utilisateurs de Python
Étape 2 : Accédez au dossier du code.
cd ~/davinci-kit-for-raspberry-pi/python
Étape 3 : Exécutez.
sudo python3 2.1.2_Slider.py
Lorsque le code est en cours d’exécution, si l’interrupteur est déplacé vers la gauche, la LED jaune s’allume ; vers la droite, la lumière rouge s’allume. Code
Note
Vous pouvez Modifier/Réinitialiser/Copier/Exécuter/Arrêter le code ci-dessous.
Mais avant cela, vous devez accéder au chemin du code source comme davinci-kit-for-raspberry-pi/python
.
import RPi.GPIO as GPIO
import time
# Définir la broche #17 comme broche de l'interrupteur à glissière, #22 comme broche led1, #27 comme broche led2
slidePin = 17
led1Pin = 22
led2Pin = 27
# Définir une fonction setup pour quelques configurations
def setup():
# Définir les modes GPIO sur le numérotage BCM
GPIO.setmode(GPIO.BCM)
# Configurer slidePin en entrée
# Configurer ledPin en sortie,
# et niveau initial à High(3,3v)
GPIO.setup(slidePin, GPIO.IN)
GPIO.setup(led1Pin, GPIO.OUT, initial=GPIO.HIGH)
GPIO.setup(led2Pin, GPIO.OUT, initial=GPIO.HIGH)
# Définir une fonction principale pour le processus principal
def main():
while True:
# interrupteur à glissière haut, led1 allumée
if GPIO.input(slidePin) == 1:
print ('LED1 ON')
GPIO.output(led1Pin, GPIO.LOW)
GPIO.output(led2Pin, GPIO.HIGH)
# interrupteur à glissière bas, led2 allumée
if GPIO.input(slidePin) == 0:
print (' LED2 ON')
GPIO.output(led2Pin, GPIO.LOW)
GPIO.output(led1Pin, GPIO.HIGH)
time.sleep(0.5)
# Définir une fonction destroy pour tout nettoyer après
# la fin du script
def destroy():
# Éteindre les LED
GPIO.output(led1Pin, GPIO.HIGH)
GPIO.output(led2Pin, GPIO.HIGH)
# Libérer les ressources
GPIO.cleanup()
# Si vous exécutez directement ce script, faites :
if __name__ == '__main__':
setup()
try:
main()
# Quand 'Ctrl+C' est appuyé, le programme
# destroy() sera exécuté.
except KeyboardInterrupt:
destroy()
Explication du code
if GPIO.input(slidePin) == 1:
GPIO.output(led1Pin, GPIO.LOW)
GPIO.output(led2Pin, GPIO.HIGH)
Lorsque l’interrupteur à glissière est tiré vers la droite, la broche du milieu et celle de droite sont connectées ; le Raspberry Pi lit un niveau haut sur la broche du milieu, donc la LED1 s’allume et la LED2 s’éteint.
if GPIO.input(slidePin) == 0:
GPIO.output(led2Pin, GPIO.LOW)
GPIO.output(led1Pin, GPIO.HIGH)
Lorsque l’interrupteur à glissière est tiré vers la gauche, la broche du milieu et celle de gauche sont connectées ; le Raspberry Pi lit un niveau bas, donc la LED2 s’allume et la LED1 s’éteint.
Image du phénomène
