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.
Il est certainement pratique d’acheter un kit complet, voici le lien :
Nom |
ARTICLES DANS CE KIT |
LIEN |
|---|---|---|
Kit Raphael |
337 |
Vous pouvez également les acheter séparément via les liens ci-dessous.
INTRODUCTION DES COMPOSANTS |
LIEN D’ACHAT |
|---|---|
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 |
Procédures Expérimentales
Étape 1 : Montez le circuit.
Étape 2 : Allez dans le dossier du code et exécutez-le.
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.
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
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 python3Ces lignes importent les classes et fonctions nécessaires.
LEDdegpiozeropour le contrôle des LED etsleepdetimepour les délais.from gpiozero import LED from time import sleep
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)
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)
Le bloc
exceptintercepte unKeyboardInterrupt(comme appuyer sur Ctrl+C) et quitte la boucle en toute sécurité. L’instructionpassest 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