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 Clignotante

Introduction

Dans ce projet, nous apprendrons comment créer une LED clignotante par programmation. Grâce à vos réglages, votre LED peut produire une série de phénomènes intéressants. Maintenant, allons-y.

Composants Nécessaires

Dans ce projet, nous avons besoin des composants suivants.

../_images/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 aux 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 Circuit

Dans cette expérience, connectez une résistance de 220Ω à l’anode (la patte longue de la LED), puis la résistance à 3,3 V, et connectez la cathode (la patte courte) de la LED à GPIO17 du Raspberry Pi. Par conséquent, pour allumer une LED, nous devons mettre GPIO17 au niveau bas (0V). Nous pouvons obtenir ce phénomène par programmation.

Note

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

Dans le contenu lié au langage C, nous faisons en sorte que GPIO0 soit équivalent à 0 dans wiringPi. Dans le contenu lié 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.

Nom T-Board

physique

wiringPi

BCM

GPIO17

Pin 11

0

17

../_images/image48.png

Procédures Expérimentales

Étape 1 : Construisez le circuit.

../_images/image49.png

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

  1. Si vous utilisez un écran, il est recommandé de suivre les étapes suivantes.

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

Cliquez sur Run ->Run Module dans la fenêtre et les contenus suivants apparaîtront.

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 pouvez voir les résultats.

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

cd ~/raphael-kit/python

Note

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

Étape 3 : Exécutez le code

sudo python3 1.1.1_BlinkingLed.py

Note

Ici sudo - 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.py, appuyez sur Ctrl + C pour arrêter l’exécution du code. Puis tapez la commande suivante pour ouvrir 1.1.1_BlinkingLed.py :

nano 1.1.1_BlinkingLed.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.py avec cet outil.

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

Puis appuyez sur Enter pour quitter. Tapez à nouveau nano 1.1.1_BlinkingLed.py pour voir l’effet après la modification. Code

Le programme suivant est le code :

Note

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

#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
LedPin = 17
def setup():
   # Set the GPIO modes to BCM Numbering
   GPIO.setmode(GPIO.BCM)
   # Set LedPin's mode to output,and initial level to High(3.3v)
   GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH)
# Define a main function for main process
def main():
   while True:
      print ('...LED ON')
      # Turn on LED
      GPIO.output(LedPin, GPIO.LOW)
      time.sleep(0.5)
      print ('LED OFF...')
      # Turn off LED
      GPIO.output(LedPin, 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(LedPin, 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

#!/usr/bin/env python3

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

import RPi.GPIO as GPIO

De cette façon, importez la bibliothèque RPi.GPIO, puis définissez une variable, GPIO, pour remplacer RPI.GPIO dans le code suivant.

import time

Importez le package time, pour la fonction de délai temporel dans le programme suivant.

LedPin = 17

La LED est connectée au GPIO17 de la carte d’extension en forme de T, c’est-à-dire, BCM 17.

def setup():
   GPIO.setmode(GPIO.BCM)
   GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.HIGH)

Définir le mode de LedPin en sortie, et le niveau initial à High (3,3v).

Il existe deux façons de numéroter les broches IO sur un Raspberry Pi avec RPi.GPIO : les numéros BOARD et les numéros BCM. Dans nos projets, nous utilisons les numéros BCM. Vous devez configurer chaque canal que vous utilisez comme entrée ou sortie.

GPIO.output(LedPin, GPIO.LOW)

Définir GPIO17 (BCM17) à 0V (niveau bas). Puisque la cathode de la LED est connectée à GPIO17, la LED s’allumera.

time.sleep(0.5)

Délai de 0,5 seconde. Ici, l’instruction est une fonction de délai en langage C, l’unité est la seconde.

def destroy():
   GPIO.cleanup()

Définir une fonction destroy pour nettoyer tout après la fin du script.

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

C’est la structure générale de l’exécution du code. Lorsque le programme commence à s’exécuter, il initialise la broche en exécutant setup(), puis exécute le code dans la fonction main() pour définir la broche en niveaux haut et bas. Lorsque Ctrl+C est pressé, la fonction destroy() sera exécutée.

Image du phénomène

../_images/image54.jpeg