.. 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 [|link_sf_facebook|] et rejoignez-nous aujourd'hui ! .. _2.1.4_py: 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. .. image:: ../img/list_2.1.2_slide_switch.png Il est certainement pratique d'acheter un kit complet, voici le lien : .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nom - ARTICLES DANS CE KIT - LIEN * - Kit Raphael - 337 - |link_Raphael_kit| Vous pouvez également les acheter séparément à partir des liens ci-dessous. .. list-table:: :widths: 30 20 :header-rows: 1 * - INTRODUCTION DES COMPOSANTS - LIEN D'ACHAT * - :ref:`cpn_gpio_extension_board` - |link_gpio_board_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_led` - |link_led_buy| * - :ref:`cpn_slide_switch` - |link_slide_switch_buy| * - :ref:`cpn_capacitor` - |link_capacitor_buy| 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. .. image:: ../img/image305.png .. image:: ../img/image306.png Procédures Expérimentales ---------------------------- **Étape 1 :** Construisez le circuit. .. image:: ../img/image161.png **Étape 2 :** Accédez au dossier du code. .. raw:: html .. code-block:: cd ~/raphael-kit/python **Étape 3 :** Exécutez. .. raw:: html .. code-block:: 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. .. raw:: html .. code-block:: python 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** .. code-block:: python 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. .. code-block:: python 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 --------------------- .. image:: ../img/image162.jpeg