Contrôle d'une LED externe à l'aide d'un Raspberry Pi et de broches GPIO

Dans cet article, nous explorerons les broches GPIO du Raspberry Pi en créant un programme GPIO «Hello World» qui se traduit par une LED rouge clignotante. Nous utiliserons le langage de programmation Python. J'utilise un Raspberry Pi Zero WH sans tête (sans fil avec des en-têtes soudés) avec Raspbian Stretch Lite (système d'exploitation Raspberry Pi avec une image minimale basée sur Debian Stretch).

Je vais parler à mon Pi sans tête en utilisant sshet transférer les fichiers nécessaires de mon Mac vers Pi à l'aide de scpcommandes. Je suppose que votre Raspberry Pi est opérationnel avec le système d'exploitation Raspbian installé. Sinon, il existe de nombreux articles sur Internet décrivant comment configurer votre Pi et installer Raspbian, y compris la documentation officielle de Raspberry Pi.

Les choses dont vous aurez besoin:

  • 1 x Raspberry Pi (j'utilise le modèle Pi Zero WH)
  • 1 x planche à pain
  • 1 x lumière LED rouge
  • 1 x résistance de 330 ohms
  • 2 x câble de raccordement femelle à mâle

Configuration des broches GPIO

GPIO signifie General Purpose Input Output . À l'aide de broches GPIO, un Raspberry Pi peut se connecter et interagir avec des composants électroniques externes. Les modèles Raspberry Pi récents (modèles Pi 3, Pi Zero, Pi W et Pi WH, etc.) contiennent 40 broches GPIO. Chaque broche peut s'allumer ou s'éteindre, ou disparaître HIGHou LOWen termes électroniques. Si la broche est, HIGHelle produit 3,3 volts, si la broche est LOWelle est éteinte.

Dans notre exemple, nous utiliserons pin 6(ground) et pin 25. Pour en savoir plus sur les broches GPIO dans Raspberry Pi, consultez pinout.xyz.

Mise en place du circuit

Vous devez éteindre le Pi lors de la construction du circuit. Nous allons créer un circuit comme illustré dans le schéma ci-dessous:

Remarque : la résistance dans l'image est de 220 Ohm, mais j'ai utilisé 330 Ohm dans mon circuit.

  1. Utilisez un câble de raccordement femelle-mâle pour connecter pin 6(Terre) (câble noir dans l'image ci-dessus) à la rangée négative de la maquette.
  2. Utilisez un autre cavalier femelle à mâle pour vous connecter pour connecter GPIO pin 25au point représenté par une ligne Aet une colonne 12sur la maquette comme indiqué ci-dessus (câble bleu dans l'image ci-dessus).
  3. Connectez une extrémité d'une résistance de 330 ohms à la ligne négative (la ligne qui est surlignée en vert où le câble noir ci-dessus précédemment connecté) et connectez l'autre extrémité au point représenté par la Ccolonne de ligne 11sur la carte d'expérimentation comme indiqué ci-dessus.
  4. L'extrémité la plus courte de la LED est l'extrémité négative et la plus longue est l'extrémité positive. L'extrémité la plus longue doit toujours être connectée au point du circuit avec une tension plus élevée (c'est-à-dire un potentiel plus élevé). L'extrémité la plus courte de la LED est connectée à un GPIO pin 25(qui peut produire 3,3 V) via le câble bleu et l'extrémité la plus longue est connectée à la terre pin 6(qui est de 0 V et agit comme la borne négative de la batterie) via le câble noir avec une résistance entre eux.

Résistance

Gardant à l'esprit que j'avais suivi des cours d'introduction au génie électrique et électronique il y a un certain temps (4 à 5 ans environ), j'avais deux questions auxquelles j'avais besoin de réponses. Merci d'être naïf dans ce contexte.

  1. Pourquoi avons-nous besoin d'une résistance dans notre circuit?
  2. Comment déterminer combien d'Ohm (la mesure de la résistance électrique) la résistance doit être?

Une résistance est nécessaire pour dissiper l'énergie électrique supplémentaire (tension) du Raspberry Pi. Le Raspberry Pi est conçu pour fournir 50 mA à 3,3 V. Disons que notre LED rouge peut avoir une tension directe (la tension directe est la «tension négative», utilisée par la LED lorsqu'elle est allumée) d'environ 2V et consomme un courant de 4mA. Ainsi, le 1,3 V restant doit être dissipé par la résistance.

En utilisant la loi d'Ohm, V = IR, R= (3.3V - 2V) / (4/1000)qui vient à environ 325 ohms- donc je recommande d' utiliser une résistance de 330 ohms .

J'ai découvert cela lors d'une discussion sur le forum Raspberry Pi.

Faire clignoter la LED en utilisant Python

Maintenant que nous avons un circuit complet, la partie suivante consiste à programmer les ports GPIO pour que la magie opère: faire clignoter la LED. Nous utiliserons la sortie de GPIO pin 25pour faire clignoter la LED.

Démarrez votre Pi et connectez-vous-y en utilisant ssh. Dans le terminal, utilisez la commande suivante pour installer la bibliothèque Python gpiozero. La gpiozerobibliothèque rend le travail avec les broches GPIO et les composants externes connectés très simple.

Pour installer la bibliothèque Python, tapez sudo apt-get install python3-gpiozero.

Nous allons maintenant exécuter du code Python. Enregistrez le code ci-dessous sur votre système de fichiers Pi dans un fichier nommé blink1.py. Le script allume essentiellement la LED connectée pin 25, dort pendant 1 seconde, puis éteint la LED, et se met à nouveau en veille pendant 1 seconde. Et cela se fait en continu en boucle jusqu'à la fin du programme (en appuyant sur ctrl+ c).

Maintenant , depuis le terminal, allez le répertoire dans lequel le script est enregistré et exécuté à l'aide de la commande: python3 blink1.py.

Vous verrez la LED rouge clignoter comme ceci:

Nous pouvons créer beaucoup de choses amusantes en gpiozeroutilisant une configuration similaire. Consultez la documentation pour gpiozerolaquelle présente des exemples intéressants. Essayez de construire un système de feux de signalisation.

Publié à l'origine sur shahbaz.co le 7 avril 2018.