Tutoriel: LED clignotante à l’aide de la sortie GPIO

Tutoriel: LED clignotante à l’aide de la sortie GPIO

Dans cet exemple, nous verrons comment construire un circuit très simple composé d’une LED et d’une résistance connectée au port GPIO de votre Raspberry Pi. Il s’agit d’un exercice simple qui démontrera la confirmation visuelle que le port GPIO fait ce que votre programme python lui demande de faire.

Cet exercice ne nécessite que quelques composants simples, disponibles auprès de ModMyPi:

  • Planche à pain moyenne
  • Fils de cavalier mâle à femelle
  • LED (diode électroluminescente) de la couleur de votre choix
  • 270? ou une résistance supérieure, trouvée dans le kit de résistance ridicule de ModMyPi

Étape 1 – Assemblage du circuit

Nous allons commencer par assembler le circuit sur la planche à pain. Un schéma du circuit est illustré ci-dessous:

blank
ATTENTION. Lors de la connexion à des points GPIO sur votre Raspberry Pi, des précautions doivent être prises, car la connexion des mauvais points pourrait faire frire votre Pi de manière permanente. Veuillez utiliser une feuille de triche GPIO et vérifiez tout avant de l’allumer. Chaque point GPIO sera désigné par son nom et son emplacement physique. Par exemple, GPIO P17 est en fait situé à Broche 11, noté: GPIO P17 [Pin 11]. Les irrégularités sont dues au fait que les noms des broches sont référencés par la puce intégrée plutôt que par leur emplacement physique.

1. Insérez la LED de sorte que l’anode (la jambe la plus longue) soit dans une rangée de la planche de sauvetage et la cathode (la jambe la plus courte) dans une autre.

2. Insérez une extrémité de la résistance dans la même rangée que la cathode de la LED et l’autre extrémité dans une autre rangée.

3. Branchez un cavalier de la même rangée que l’anode de la LED (la longue jambe) GPIO P17 [Pin 11] sur le port GPIO de la broche de votre Raspberry.

4. Connectez un autre fil volant de la rangée contenant une seule branche de la résistance GPIO GND [Pin 6] sur votre port GPIO.

Une fois terminé, votre circuit devrait ressembler à celui ci-dessous:

blank

Par défaut, les broches de sortie sur les ports GPIO sont désactivées afin que la LED ne s’allume pas. Cependant, vous pouvez vérifier que votre circuit fonctionne correctement en déplaçant le fil GPIO P17[Broche11[Pin11GPIO 3.3V [Pin 1]. Si le circuit est correctement câblé, la LED doit s’allumer! Si ce n’est pas le cas, la LED est dans le bon sens! N’oubliez pas de replacer le fil GPIO P17 [Pin 11] avant de continuer.

Étape 2 – Créer un programme en Python

Nous voulons que la LED fasse quelque chose de plus intéressant que de simplement s’allumer! Commencez par ouvrir un nouveau projet Python project. Pour cet exercice, nous devrons utiliser la bibliothèque GPIO Python qui vous permet de configurer facilement et de lire-écrire les broches d’entrée / sortie sur le port GPIO du Pi dans un script Python. Les instructions sur la façon d’installer la bibliothèque GPIO Python peuvent être trouvées ici.

Une fois la bibliothèque GPIO installée, nous sommes tous prêts à démarrer notre projet Python! Chargez l’interface graphique Raspian avec startx et chargez le programme IDLE 3 dans lequel nous allons taper notre code. Alors que nous commençons un nouveau projet, ouvrez une nouvelle fenêtre, Fichier >> Nouvelle fenêtre.

N’oubliez pas que Python est sensible à la casse et que l’indentation est fondamentale. L’indentation, qui est utilisée pour regrouper les instructions, se produira automatiquement lorsque vous tapez des commandes, assurez-vous donc de vous en tenir à la disposition suggérée.

La première ligne de notre code importe la bibliothèque Python que nous venons de télécharger dans notre projet.

importer RPi.GPIO en tant que GPIO

Puisque nous voulons que la LED clignote, nous devrons ajouter un module de temps pour permettre à Python de comprendre le concept de temps. Ajoutez ce qui suit:

temps d’importation

Ensuite, nous devons définir notre numérotation des broches GPIO, comme PLANCHE numérotation ou BCM numérotage. PLANCHE la numérotation fait référence à la numérotation des broches physiques des en-têtes. BCM la numérotation fait référence aux numéros de canal sur la puce Broadcom. L’un ou l’autre fera l’affaire, mais pour cet exercice, j’utiliserai la numérotation BOARD. Si vous êtes confus, utilisez une feuille de triche GPIO pour clarifier quelle broche est laquelle!

GPIO.setmode (GPIO.BOARD)

Vous devez maintenant définir les broches GPIO en tant qu’entrées ou sorties. Dans cet exercice GPIO P17 [Pin 11] est une sortie. Dites à la bibliothèque GPIO de définir GPIO P17 [Pin 11] pour sortir en ajoutant ce qui suit:

GPIO, configuration (11, GPIO.OUT)

Si vous deviez contrôler d’autres appareils, vous pourriez en ajouter d’autres GPIO, configuration lignes maintenant. Afin d’activer la broche pour fournir 3,3 V, connu sous le nom ‘haute’, utilisez la commande GPIO. Sortie (11, vrai). Pour désactiver la broche (0V), appelée ‘faible’, donner l’instruction GPIO.output (11, False). Puisque nous voulons que la LED clignote, nous devons utiliser le ‘tandis que‘afin que nous puissions boucler le programme pour allumer et éteindre la LED plusieurs fois. Ajoutez ce qui suit:

tandis que True:

Ensuite, nous devons utiliser le module de temps pour qu’après que le programme allume la LED, il attend 1 seconde avant de l’éteindre, et vice versa. Assurez-vous que les lignes sont en retrait afin qu’elles soient incluses dans la boucle while (l’indentation doit être automatique en Python):

GPIO.output (11, True)

time.sleep (1)

GPIO.output (11, False)

time.sleep (1)

Le programme terminé devrait ressembler à ce qui suit en Python:

blank

Enregistrez le fichier sous LED.py. Vous ne pourrez pas exécuter le programme à partir de Python car la plupart des distributions Linux restreignent l’utilisation du GPIO à l’utilisateur root. Afin d’exécuter le programme, ouvrez une nouvelle fenêtre de terminal sur le Pi et tapez la commande suivante:

sudo python LED.py

Si tout a été fait correctement, la LED doit s’allumer et s’éteindre!

blank

Si cela n’a pas fonctionné et que la LED ne clignote pas, ne vous inquiétez pas. Vérifiez d’abord que le circuit est correctement connecté sur la platine, puis que les fils de cavalier sont connectés aux bonnes broches sur le port GPIO. S’il ne fonctionne toujours pas, vérifiez que chaque ligne du programme est correcte, en vous rappelant que python est sensible à la casse et veillez à vérifier que les indentations sont correctes.

Pour quitter un script Python en cours d’exécution, appuyez simplement sur CTRL + C sur le clavier pour terminer.

Si tout fonctionne correctement, vous pouvez maintenant jouer avec la variable de temps pour changer la vitesse à laquelle la LED clignote. Pour ce faire, changez simplement le nombre entre parenthèses du le sommeil de temps() commander . Essayer time.sleep (0,1) pour allumer et éteindre la LED plus rapidement. N’oubliez pas d’enregistrer toutes les modifications que vous apportez au programme python avant de le réexécuter afin que ces modifications prennent effet.

Cet exemple est basique mais donne un bon aperçu des concepts fondamentaux de la programmation des ports GPIO sur votre Raspberry Pi.

Articles similaires

Bouton retour en haut de la page
Fermer