Table des matières:
- Étape 1: ce dont vous aurez besoin
- Étape 2: Construisez votre circuit
- Étape 3: Créez un script pour contrôler et tester les LED
- Étape 4: Ajout de flexibilité à l'aide de paramètres et d'instructions conditionnelles
Vidéo: Contrôler plusieurs LED avec Python et les broches GPIO de votre Raspberry Pi : 4 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
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
- 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 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
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é:
Comment utiliser les broches GPIO et Avrdude d'un Raspberry Pi pour programmer Bit-bang DIMP 2 ou DA PIMP 2: 9 étapes
Comment utiliser les broches GPIO d'un Raspberry Pi et Avrdude pour programmer Bit-bang DIMP 2 ou DA PIMP 2: Ce sont des instructions étape par étape sur la façon d'utiliser un Raspberry Pi et la commande open-source gratuite avrdude to bit-bang -programmer un DIMP 2 ou un DA PIMP 2. Je suppose que vous connaissez votre Raspberry Pi et la ligne de commande LINUX. Vous n'êtes pas obligé de
Clignotement LED avec Raspberry Pi - Comment utiliser les broches GPIO sur Raspberry Pi : 4 étapes
Clignotement LED avec Raspberry Pi | Comment utiliser les broches GPIO sur Raspberry Pi : Salut les gars dans cette instructables, nous allons apprendre à utiliser les GPIO de Raspberry pi. Si vous avez déjà utilisé Arduino, vous savez probablement que nous pouvons connecter un commutateur LED, etc. à ses broches et le faire fonctionner comme. faire clignoter la LED ou obtenir l'entrée du commutateur donc
Utilisez Cortana et un Arduino pour contrôler les LED RVB ou les bandes LED avec votre voix ! : 4 étapes (avec photos)
Utilisez Cortana et un Arduino pour contrôler les LED RVB ou les bandes LED avec votre voix ! : Dans cette instructable, je vais vous montrer comment vous pouvez contrôler votre LED ou bande LED RVB avec votre voix. Ceci est fait par l'application CoRGB qui est disponible gratuitement dans la boutique d'applications Windows. Cette application fait partie de mon projet CortanaRoom. Quand vous en avez fini avec
Développement d'applications utilisant des broches GPIO sur la DragonBoard 410c avec les systèmes d'exploitation Android et Linux : 6 étapes
Développement d'applications à l'aide de broches GPIO sur la DragonBoard 410c avec les systèmes d'exploitation Android et Linux : le but de ce didacticiel est de montrer les informations nécessaires pour développer des applications à l'aide de la broche GPIO sur l'extension basse vitesse de la DragonBoard 410c. Ce tutoriel présente des informations pour développer des applications utilisant les broches GPIO avec SYS sur l'Andr
Prise ISP 6 broches à 8 broches : 4 étapes
Prise ISP 6 broches à 8 broches : La raison pour laquelle j'ai principalement construit ce projet était de programmer l'ATTiny45, qui a une connexion à 8 broches, tandis que mon USBtinyISP (de Ladyada) n'a qu'une connexion à 10 et 6 broches. Après avoir fouiné sur Internet pendant environ 3-4 semaines, je n'ai rien trouvé quoi