Table des matières:

Contrôler plusieurs LED avec Python et les broches GPIO de votre Raspberry Pi : 4 étapes (avec photos)
Contrôler plusieurs LED avec Python et les broches GPIO de votre Raspberry Pi : 4 étapes (avec photos)

Vidéo: Contrôler plusieurs LED avec Python et les broches GPIO de votre Raspberry Pi : 4 étapes (avec photos)

Vidéo: Contrôler plusieurs LED avec Python et les broches GPIO de votre Raspberry Pi : 4 étapes (avec photos)
Vidéo: Master GPIO with Raspberry Pi Pico & MicroPython - Part 2 2024, Novembre
Anonim
Contrôler plusieurs LED avec Python et les broches GPIO de votre Raspberry Pi
Contrôler plusieurs LED avec Python et les broches GPIO de votre Raspberry Pi

Ce Instructable montre comment contrôler plusieurs broches GPIO sur votre RaspberryPi pour alimenter 4 LED. Il vous présentera également les paramètres et les instructions conditionnelles en Python.

Notre précédent Instructable Utilisation des broches GPIO de votre Raspberry Pi pour contrôler une LED montre comment allumer et éteindre une seule LED à l'aide de la commande GPIO.output. Ce Instructable s'appuie sur ces connaissances pour vous apprendre à obtenir plus de contrôle sur votre circuit.

Étape 1: ce dont vous aurez besoin

Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin

- Un RaspberryPi avec Raspbian déjà installé. Vous devrez également pouvoir accéder au Pi à l'aide d'un moniteur, d'une souris et d'un clavier ou via le bureau à distance. Vous pouvez utiliser n'importe quel modèle de Raspberry Pi. Si vous possédez l'un des modèles Pi Zero, vous souhaiterez peut-être souder des broches d'en-tête au port GPIO.

- LED rouges, bleues, jaunes et vertes

- Une planche à pain de prototypage sans soudure

- 4 résistances de 330 ohms

-Certains cavaliers mâles à femelles

Étape 2: Construisez votre circuit

Construisez votre circuit
Construisez votre circuit
Construisez votre circuit
Construisez votre circuit

Construisez le circuit ci-dessus sur votre maquette en vous assurant qu'aucun des fils des composants ne se touche et que les LED sont connectées dans le bon sens.

Comment identifiez-vous les fils positifs et négatifs (la polarité) sur vos LED ? Si vous regardez attentivement une LED, vous verrez qu'elle a deux petits morceaux de métal à l'intérieur du boîtier coloré. Ceux-ci sont appelés l'anode et la cathode. La cathode est la plus grande des deux et est également connectée au fil négatif de la LED.

Une fois que vous avez vérifié votre circuit, connectez les cavaliers aux broches GPIO de votre Raspberry Pi en suivant le schéma ci-dessus.

Étape 3: Créez un script pour contrôler et tester les LED

Créer un script pour contrôler et tester les LED
Créer un script pour contrôler et tester les LED

Sur votre Raspberry Pi, ouvrez IDLE (Menu > Programmation > Python 2 (IDLE)).

Ouvrez un nouveau projet, allez dans Fichier > Nouveau fichier. Tapez ensuite (ou copiez et collez) le code suivant:

importer RPi. GPIO en tant que GPIO

heure d'importation GPIO.setmode(GPIO. BCM) GPIO.setup(17, GPIO. OUT) GPIO.setup(18, GPIO. OUT) GPIO.setup(22, GPIO. OUT) GPIO.setup(23, GPIO. OUT) GPIO.output(17, True) time.sleep(3) GPIO.output(17, False) time.sleep(1) GPIO.output(18, True) time.sleep(3) GPIO.output(18, False) time.sleep(1) GPIO.output(22, True) time.sleep(3) GPIO.output(22, False) time.sleep(1) GPIO.output(23, True) time.sleep(3) GPIO. sortie (23, Faux)

Enregistrez votre projet sous le nom multilights.py (Fichier > Enregistrer sous) dans votre dossier Documents Raspberry Pis.

Sur votre Raspberry Pi, ouvrez Terminal (Menu > Accessoires > Terminal) et accédez à votre dossier Documents en tapant ce qui suit:

cd /accueil/pi/Documents

Vous pouvez maintenant exécuter votre nouveau script en tapant ce qui suit:

python multilights.py

Les lumières s'allumeront et s'éteindront à tour de rôle. Le script ci-dessus utilise la commande time.sleep pour créer une pause entre chaque étape, ce qui fait que chaque lumière reste allumée pendant 3 secondes et attend 1 seconde avant d'allumer la lumière suivante.

Étape 4: Ajout de flexibilité à l'aide de paramètres et d'instructions conditionnelles

En utilisant des paramètres et des instructions conditionnelles, nous pouvons rendre le script ci-dessus beaucoup plus flexible.

Un paramètre vous permet de stocker une valeur que vous pourrez utiliser plus tard dans le script. Les types de valeurs les plus courants sont les chaînes (texte), les entiers (nombres entiers) ou les flottants (nombres décimaux).

Une instruction conditionnelle déterminera si un segment de code doit être exécuté ou non en vérifiant si une certaine condition est remplie. La condition peut également impliquer des paramètres.

Ouvrez IDLE sur votre Raspberry Pi et ouvrez un nouveau projet (Fichier > Nouveau fichier). Tapez ensuite ce qui suit. Veillez à ce que tous les retraits (tabulations) soient inclus en utilisant la touche de tabulation:

importer RPi. GPIO en tant que GPIO

temps d'importation depuis sys import argv whichled=argv[1] ledaction = argv[2] LEDa=17 LEDb=18 LEDc=22 LEDd=23 GPIO.setmode(GPIO. BCM) GPIO.setup(LEDa, GPIO. OUT) GPIO. setmode(GPIO. BCM) GPIO.setup(LEDb, GPIO. OUT) GPIO.setmode(GPIO. BCM) GPIO.setup(LEDc, GPIO. OUT) GPIO.setmode(GPIO. BCM) GPIO.setup(LEDd, GPIO. OUT) if ledaction=="off": if whichled=="a": GPIO.output(LEDa, False) if whichled=="b": GPIO.output(LEDb, False) if whichled=="c": GPIO.output(LEDc, False) si whichled=="d": GPIO.output(LEDd, False) si whichled=="all": GPIO.output(LEDa, False) GPIO.output(LEDb, False) GPIO. output(LEDc, False) GPIO.output(LEDd, False) if ledaction=="on": if whichled=="a": GPIO.output(LEDa, True) if whichled=="b": GPIO.output(LEDb, True) if whichled=="c": GPIO.output(LEDc, True) ifwhichled=="d": GPIO.output(LEDd, True) ifwhichled=="all": GPIO.output(LEDa, True) GPIO.output(LEDb, True) GPIO.output(LEDc, True) GPIO.output(LEDd, True)

Enregistrez votre projet sous controllight.py (Fichier > Enregistrer sous) dans votre dossier Documents. Ouvrez maintenant Terminal (Menu > Accessoires > Terminal) et tapez la commande suivante:

python controllight.py b sur

La deuxième LED doit s'allumer. Tapez maintenant ce qui suit:

python controllight.py b off

La deuxième LED doit s'éteindre.

Dans les lignes 5, 6, 7 et 8, nous créons les paramètres LEDa, LEDb, LEDc et LEDd pour stocker quelle broche GPIO nous avons connectée à quelle LED. Cela nous permet d'utiliser des broches GPIO alternatives sans avoir à apporter de modifications substantielles au script.

Par exemple, si nous devions connecter le premier fil de LED à la broche 3 (GPIO 2) à la place, nous aurions juste besoin de changer la ligne 5 comme suit:

LEDa=2

La ligne 4 stocke les valeurs que vous avez tapées après controllight.py dans les paramètres whichled (c) et ledaction (on). Le script utilise ensuite ces paramètres, ainsi qu'un certain nombre d'instructions conditionnelles pour décider quelle LED contrôler et s'il faut l'allumer ou l'éteindre.

La ligne 16 (if ledaction=="on":) est une instruction conditionnelle. Les lignes en retrait qui suivent cette instruction ne s'exécuteront que si la condition de l'instruction est remplie. Dans ce scénario, la condition est que ledaction contienne le texte sur.

En lisant les autres instructions conditionnelles du script, pouvez-vous prédire ce qui se passera lorsque vous tapez la commande suivante dans Terminal ?

python controllight.py tout activé

Pourquoi ne pas essayer et publier votre réponse dans la section commentaires ci-dessous.

Conseillé: