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 !

1.1.1 LED Clignotant

Introduction

Dans ce projet, nous allons apprendre à faire clignoter une LED en programmant. Grâce à vos réglages, votre LED peut produire une série de phénomènes intéressants. Maintenant, allez-y.

Composants Nécessaires

Dans ce projet, nous avons besoin des composants suivants.

../_images/1.1.1_blinking_led_list.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 via les 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

Schéma de Montage

Dans cette expérience, nous connectons la broche GPIO 17 du Raspberry Pi à l’anode (broche longue) de la LED, puis la cathode (broche courte) de la LED à une résistance, et enfin l’autre extrémité de la résistance à la broche GND du Raspberry Pi. Pour allumer la LED, nous devons définir GPIO17 sur haut (3,3V). Nous pouvons obtenir ce phénomène en programmant.

Note

Pin11 se réfère à la 11e broche du Raspberry Pi de gauche à droite, et ses numéros de broche BCM correspondants sont indiqués dans le tableau suivant.

Parmi les contenus liés au langage Python, BCM 17 est 17 dans la colonne BCM du tableau suivant. En même temps, ils sont les mêmes que la 11e broche sur le Raspberry Pi, Pin 11.

T-Board Name

physical

BCM

GPIO17

Pin 11

17

../_images/1.1.1_blinking_led_schematic.png

Procédures Expérimentales

Étape 1 : Montez le circuit.

../_images/1.1.1_blinking_led_circuit.png

Étape 2 : Allez dans le dossier du code et exécutez-le.

  1. Si vous utilisez un écran, nous vous recommandons de suivre les étapes suivantes.

Trouvez 1.1.1_BlinkingLed_zero.py et double-cliquez dessus pour l’ouvrir. Vous êtes maintenant dans le fichier.

Cliquez sur Run ->Run Module dans la fenêtre et le contenu suivant apparaîtra.

Pour arrêter l’exécution, cliquez simplement sur le bouton X en haut à droite pour le fermer et vous reviendrez au code. Si vous modifiez le code, avant de cliquer sur Run Module (F5), vous devez d’abord le sauvegarder. Ensuite, vous pourrez voir les résultats.

  1. Si vous vous connectez à distance au Raspberry Pi, tapez la commande suivante :

cd ~/raphael-kit/python-pi5

Note

Changez le répertoire vers le chemin du code de cette expérience via cd.

Étape 3 : Exécutez le code

sudo python3 1.1.1_BlinkingLed_zero.py

Note

Ici, sudo signifie superuser do, et python signifie exécuter le fichier avec Python.

Après l’exécution du code, vous verrez la LED clignoter.

Étape 4 : Si vous souhaitez modifier le fichier de code 1.1.1_BlinkingLed_zero.py, appuyez sur Ctrl + C pour arrêter l’exécution du code. Tapez ensuite la commande suivante pour ouvrir 1.1.1_BlinkingLed_zero.py :

nano 1.1.1_BlinkingLed_zero.py

Note

nano est un outil d’édition de texte. La commande est utilisée pour ouvrir le fichier de code 1.1.1_BlinkingLed_zero.py avec cet outil.

Appuyez sur Ctrl+X pour quitter. Si vous avez modifié le code, il y aura une invite demandant si vous souhaitez enregistrer les modifications ou non. Tapez Y (enregistrer) ou N (ne pas enregistrer).

Appuyez ensuite sur Entrée pour quitter. Tapez à nouveau nano 1.1.1_BlinkingLed_zero.py pour voir l’effet après la modification.

Avertissement

Si vous recevez le message d’erreur RuntimeError: Cannot determine SOC peripheral base address, veuillez consulter Si « gpiozero » ne fonctionne pas.

Code

Le code du programme est le suivant :

Note

Vous pouvez Modifier/Réinitialiser/Copier/Exécuter/Arrêter le code ci-dessous. Mais avant cela, vous devez aller dans le chemin source du code comme raphael-kit/python-pi5. Après avoir modifié le code, vous pouvez l’exécuter directement pour voir l’effet.

#!/usr/bin/env python3
from gpiozero import LED
from time import sleep

# Initialize an LED connected to GPIO pin 17 using the GPIO Zero library.
led = LED(17)

try:
   # Start an infinite loop to toggle the LED state.
   while True:
      # Turn on the LED and print a message to the console.
      led.on()
      print('...LED ON')

      # Wait for 0.5 seconds with the LED on.
      sleep(0.5)

      # Turn off the LED and print a message to the console.
      led.off()
      print('LED OFF...')

      # Wait for 0.5 seconds with the LED off.
      sleep(0.5)

except KeyboardInterrupt:
   # Gracefully handle a keyboard interrupt (Ctrl+C) by breaking the loop.
   # GPIO Zero handles cleanup of GPIO settings automatically on exit.
   pass

Explication du code

  1. Lorsque le système détecte cela, il recherchera le chemin d’installation de Python dans le paramètre d’environnement, puis appellera l’interpréteur correspondant pour effectuer l’opération. Cela permet d’éviter que l’utilisateur n’installe Python dans le chemin par défaut /usr/bin.

    #!/usr/bin/env python3
    
  2. Ces lignes importent les classes et fonctions nécessaires. LED de gpiozero pour le contrôle des LED et sleep de time pour les délais.

    from gpiozero import LED
    from time import sleep
    
  3. Cette ligne crée un objet LED connecté à la broche GPIO 17.

    # Initialize an LED connected to GPIO pin 17 using the GPIO Zero library.
    led = LED(17)
    
  4. Une boucle infinie est démarrée en utilisant while True:. À l’intérieur de la boucle, la LED est allumée (led.on()) et un message est imprimé. Le programme fait ensuite une pause de 0,5 seconde (sleep(0.5)). Ensuite, la LED est éteinte (led.off()), un autre message est imprimé et le programme fait à nouveau une pause de 0,5 seconde.

    try:
        # Start an infinite loop to toggle the LED state.
        while True:
            # Turn on the LED and print a message to the console.
            led.on()
            print('...LED ON')
    
            # Wait for 0.5 seconds with the LED on.
            sleep(0.5)
    
            # Turn off the LED and print a message to the console.
            led.off()
            print('LED OFF...')
    
            # Wait for 0.5 seconds with the LED off.
            sleep(0.5)
    
  5. Le bloc except intercepte un KeyboardInterrupt (comme appuyer sur Ctrl+C) et quitte la boucle en toute sécurité. L’instruction pass est utilisée ici comme un espace réservé pour indiquer qu’aucune action spécifique n’est effectuée en cas d’interruption.

    except KeyboardInterrupt:
        # Gracefully handle a keyboard interrupt (Ctrl+C) by breaking the loop.
        # GPIO Zero handles cleanup of GPIO settings automatically on exit.
        pass