Note

Bonjour et bienvenue dans la Communauté Facebook des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder ! Plongez plus profondément dans l’univers des 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.

  • Apprendre et partager : É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 cadeaux et des promotions de vacances.

👉 Prêt à explorer et à créer avec nous ? Cliquez [Ici] et rejoignez-nous aujourd’hui !

2.1.4 Interrupteur à Glissière

Introduction

Dans ce projet, nous allons apprendre à utiliser un interrupteur à glissière. Habituellement, l’interrupteur à glissière est soudé sur un circuit imprimé en tant qu’interrupteur d’alimentation, mais ici nous devons l’insérer dans la plaque de prototypage, ce qui peut ne pas le fixer solidement. Nous l’utilisons sur la plaque de prototypage pour démontrer sa fonction.

Composants Requis

Dans ce projet, nous avons besoin des composants suivants.

../_images/list_2.1.2_slide_switch.png

Il est certainement pratique d’acheter un kit complet, voici le lien :

Nom

ARTICLES DANS CE KIT

LIEN

Kit Raphael

337

Raphael Kit

Vous pouvez également les acheter séparément à partir des liens ci-dessous.

INTRODUCTION DES COMPOSANTS

LIEN D’ACHAT

Carte d’extension GPIO

ACHETER

Plaque d’expérimentation (Breadboard)

ACHETER

Fils de Liaison

ACHETER

Résistance

ACHETER

LED

ACHETER

Interrupteur à glissière

ACHETER

Condensateur

ACHETER

Schéma de Connexion

Connectez la broche centrale de l’interrupteur à glissière au GPIO17, et deux LEDs aux broches GPIO22 et GPIO27 respectivement. Ensuite, lorsque vous actionnez l’interrupteur, vous pouvez voir les deux LEDs s’allumer alternativement.

../_images/image305.png ../_images/image306.png

Procédures Expérimentales

Étape 1 : Construisez le circuit.

../_images/image161.png

Étape 2 : Accédez au dossier du code.

cd ~/raphael-kit/python

Étape 3 : Exécutez.

sudo python3 2.1.4_Slider.py

Pendant que le code s’exécute, connectez l’interrupteur à gauche, alors la LED jaune s’allume ; à 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 aller au chemin du code source comme raphael-kit/python. Après avoir modifié le code, vous pouvez l’exécuter directement pour voir l’effet.

import RPi.GPIO as GPIO
import time

# Set GPIO17 as slide switch pin, GPIO22 as led1 pin, GPIO27 as led2 pin
slidePin = 17
led1Pin = 22
led2Pin = 27

# Define a setup function for some setup
def setup():
    # Set the GPIO modes to BCM Numbering
    GPIO.setmode(GPIO.BCM)
    # Set slidePin input
    # Set ledPin output,
    # and initial level to High(3.3v)
    GPIO.setup(slidePin, GPIO.IN)
    GPIO.setup(led1Pin, GPIO.OUT, initial=GPIO.HIGH)
    GPIO.setup(led2Pin, GPIO.OUT, initial=GPIO.HIGH)

# Define a main function for main process
def main():
    while True:
        # slide switch high, led1 on
        if GPIO.input(slidePin) == 1:
            print ('    LED1 ON    ')
            GPIO.output(led1Pin, GPIO.LOW)
            GPIO.output(led2Pin, GPIO.HIGH)

        # slide switch low, led2 on
        if GPIO.input(slidePin) == 0:
            print ('    LED2 ON    ')
            GPIO.output(led2Pin, GPIO.LOW)
            GPIO.output(led1Pin, GPIO.HIGH)

        time.sleep(0.5)
# Define a destroy function for clean up everything after
# the script finished
def destroy():
    # Turn off LED
    GPIO.output(led1Pin, GPIO.HIGH)
    GPIO.output(led2Pin, GPIO.HIGH)
    # Release resource
    GPIO.cleanup()

# If run this script directly, do:
if __name__ == '__main__':
    setup()
    try:
        main()
    # When 'Ctrl+C' is pressed, the program
    # destroy() will be  executed.
    except KeyboardInterrupt:
        destroy()

Explication du Code

if GPIO.input(slidePin) == 1:
            GPIO.output(led1Pin, GPIO.LOW)
            GPIO.output(led2Pin, GPIO.HIGH)

Lorsque l’interrupteur est tiré vers la droite, la broche centrale et la broche droite sont connectées ; le Raspberry Pi lit un niveau haut sur la broche centrale, 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 est tiré vers la gauche, la broche centrale et la broche 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

../_images/image162.jpeg