Introduction au GPIO sur le Raspberry-Pi (2/2)

gpio01

Suite du premier article sur le GPIO, nous allons passer ici à la phase pratique ! Je ne reviendrai pas dans cet article sur les différentes définitions du GPIO.

N’hésitez pas à faire un tour sur l’article de départ pour vous rafraîchir la mémoire en cas de doute ou d’oublie.

GPIO : Cas pratique

Afin de mieux assimiler les notions « théoriques » , nous allons voir ici un cas très simple, mais représentatif de l’ensemble des possibilités du connecteur GPIO sur le Raspberry-Pi.

Nous allons simplement allumer une LED à partir des broches GPIO du raspberry-PI. Ce qui correspond à l’image ci-dessous :

Schéma "basique" du cas pratique

Schéma « basique » du cas pratique

Avant de commencer, voici les éléments qu’il vous faut acquérir si vous souhaitez réaliser ce tutoriel de A à Z .

PRE-REQUIS

Tutoriels :

Matériel :

Si vous ne souhaitez pas vous embêter avec l’achat de tous les éléments séparément, je vous conseille le Kit suivant : Raspberry Pi GPIO Electronics Starter Kit.

Préparation du Raspberry-Pi

Pour commencer ce cas pratique, nous allons préparer le Raspberry-Pi en configurant la partie logicielle. Dans cet article, j’utilise l’OS Raspbian fraîchement installé et mis à jour. (Installer Raspbian)

Partie Logiciel

Il existe comme nous l’avons vu dans l’article précédent plusieurs méthodes pour modifier l’état d’une broche GPIO :

  • Depuis le Shell
  • Avec WritingPi
  • Depuis un navigateur web avec Webiopi.

Dans cet article nous utiliserons la méthode WritingPi.

Installation de WritingPi

Nous allons maintenant installer WritingPi pour modifier l’état de notre LED du mode « éteint » à « Allumé ».

On installe tout d’abord GIT, indispensable pour la suite :

sudo apt-get install git-core

Puis on récupère les fichiers et on compile le tout :

git clone git://git.drogon.net/wiringPi
cd wiringPi
git pull origin
./build

Nous pouvons maintenant mettre en place notre circuit avec l’ensemble des éléments.

Partie matérielle

Pour réaliser cette partie, je vous propose d’utiliser 2 méthodes.

  • En câblage « direct », méthodes avec simplement des fils.
  • Avec le Pi-Cobbler, un petit bloc qui ajoute directement toutes les broches du GPIO sur la breadbord.

Avant la mise en place, voici ci-dessous quelques notions qu’il est utile de connaitre.

Résistance : Une résistance est un composant électronique qui oppose une résistance (mesurée en ohm) à la circulation du courant électrique.
Elle permet de réduire la tension d’alimentation (comme un transformateur délivrant du 12V en courant continu) afin d’obtenir la tension nécessaire pour illuminer une LED (par exemple 2,3V).

LED : Une LED fonctionne en courant et tension continus. Comme une diode classique, la LED ne conduit que dans un sens. Dans l’autre sens, elle est bloquée, mais ne supporte pas des tensions inverses élevées (souvent 5V max).

Pour en savoir plus sur les LED et le calcul des résistances, je vous conseille les articles suivants :

ATTENTION : Les broches GPIO ne sont pas protégées contre les surtensions. Noter bien que les broches de données n’acceptent qu’une tension de 3,3v. Effectuer les branchements avec le Raspberry-Pi éteint et débranché. Une fois les connexions effectuées penser à bien revérifier votre montage.

Schéma des broches GPIO (Modèle B et B+)

Pour rappel, voici les schémas des Raspberry-Pi modèles B et B+ afin de repérer les broches à utiliser. Dans le cas pratique, j’utilise le modèle B.

Montage du circuit : « en direct »

Raspberry-Pi + Breadboard

Raspberry-Pi + Breadboard

Pour commencer, on va relier les différents éléments du circuit comme suit :

  • Le fil rouge sur la broche 7 (GPIO 4)
  • Le fil bleu sur la broche 6 (Ground)

La Résistance

Placer la résistance sur la breadboard, puis relier le fil rouge (+) sur la même ligne que  la résistance (en « Entrée »).

Une résistance d’une valeur comprise entre 100 et 1000 ohm.

On passe ensuite à l’ajout de la diode.

La LED (Diode)

Placer la broche positive (+) de la diode sur la « sortie » de la résistance. Puis pour terminer, raccorder le fil bleu vers la broche négative () de la LED.

Dans le cas d’une LED, voici la correspondance des broches :

  • Positif (+) > Broche la plus longue
  • Négatif () > Broche la plus petite

Soit comme le schéma et les photos ci-dessous :

schéma-diode1

Schéma de la méthode câblage « direct »

Mise en place des éléments

Mise en place des éléments

Une fois que vous avez mis en place les éléments, vous pouvez passer au branchement de votre Raspberry-Pi. (La prise électrique et la connexion réseau en Wifi ou Ethernet).

GPIO-Diode-OFF

Lancement du Raspberry-Pi après branchement

Maintenant que les branchements sont effectués, connectez-vous à votre Raspberry-Pi en SSH pour la suite.

Allumage de la LED avec WritingPi

Pour changer l’état de la LED avec WritingPi, on passe la broche GPIO en mode « out » (sortie). Puis pour allumer la diode en lance la commande « write » (écriture) avec 1 pour allumer et 0 pour éteint.

Soit en ligne de commande :

gpio -g mode 4 out
gpio -g write 4 1
gpio -g write 4 0
GPIO-Diode-ON

Diode allumée avec la commande > « gpio -g write 4 1 »

Voilà pour la première méthode ! 😉

Montage du circuit : « Pi-Cobbler »

La méthode avec le Pi-Cobbler et tout aussi simple que la précédente. Il faut également faire attention à relier correctement les éléments. Pour se faire, il vous suffit de suivre les étapes ci-dessous une à une.

Brancher le socle Pi-Cobbler sur la plaque à essai :

Pi-Cobble sur la Breadboard

Pi-Cobble sur la Breadboard

Ensuite on met en place le circuit avec le reste des éléments (comme dans la méthode précédente) sauf que les fils sont directement raccordés à la breadboard.

Soit, comme le schéma et les images suivantes :

schéma-cobbler-diode2

Schéma de montage méthode « Cobbler »

Montage de la méthode Pi-Cobbler (Vue 1)

Montage de la méthode Pi-Cobbler (Vue 1)

Montage de la méthode Pi-Cobbler (Vue 2)

Montage de la méthode Pi-Cobbler (Vue 2)

Faites bien attention à brancher la nappe IDE dans le bon sens. Le « détrompeur » de la nappe (fil blanc à l’extrémité de la nappe dans mon cas) vers la carte SD du Raspberry-Pi.

Une fois tous les éléments branchés, il vous suffit de vous connecter en SSH à votre Raspberry-Pi et de lancer les commandes vu dans la première méthode pour allumer la diode.

Cobble-off

Pi-Cobbler > Diode Off

Cobble-on

Pi-Cobbler > Diode On

Et, voilà pour la méthode Pi-Cobbler.

Conclusion

Vous avez maintenant deux solutions pour allumer une diode. Évidemment ce tutoriel n’est qu’un avant-goût des possibilités du GPIO sur le Raspberry-Pi.

J’espère que cette petite introduction sur le GPIO vous aura donné des idées pour mettre en place vos propres réalisations! N’hésitez pas à m’en faire part si c’est le cas. 🙂

J’essayerai de vous présenter dans de prochains articles des cas pratiques un peu plus « poussés » sur le sujet :

  • Utilisation d’un bouton d’allumage ;
  • Mise en place d’un tableau de contrôle avec diode ;
  • Utilisation d’un script Bash ;
  • etc…

A très bientôt !


Source : wiringpi.com, Astuces-pratiques.fr, fantaisyland.fr

Partager l'article >Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someone

14 Comments

  • rexty

    Reply Reply 18 novembre 2015

    bonjour
    je suis déçu car la première action allumage d’une led avec write n’allume rien du tout.
    j’ai mis une del verte avec une resitance de 150 ohm en série sur la patte la plus courte (K) et j’ai bien
    relié l’anode à la pin 17 du gpio. La commande gpio read 0 0 et gpio read 0 1 me renvoie bien 0 et 1.
    Etrange entre la pin 17 et le gnd j’ai tension négative de – 1.16v.
    Je suis bloqué Help me !

    • Régis

      Régis

      Reply Reply 21 novembre 2015

      Bonjour,

      En effet, c’est étrange. Est-ce que tu as bien suivi le tutoriel à la lettre dans un premier temps ? J’aimerai t’aider plus, mais c’est difficile en ne voyant pas directement le montage :/

      Bon courage en tout les cas !

  • Léandre

    Reply Reply 11 décembre 2015

    bonjour,
    je ne comprends pas, j’arrive à changer le mode du gpio04 et lire son état mais reste toujours à 1.
    je ne vois vraiment pas pourquoi.
    Merci de l’aide.

    • Régis

      Régis

      Reply Reply 14 décembre 2015

      Bonjour Léandre,

      Est-ce que tu pourrais m’en dire plus sur ta configuration (WritingPi ou PiCobbler, etc..). N’hésite pas à bien revérifier les différentes étapes du tutoriel.

      Bon courage ! 🙂

      • Léandre

        Reply Reply 14 décembre 2015

        merci,
        je fais mon montage avec un piCobbler (en T) lorsque je fais « gpio readall » je peux voir le mode de la broche changer de IN à OUT mais maleureusement en executant « gpio -g write 4 0 » la broche ne se met pas à 0.
        je suis sur une rapberry pi 2 B.
        merci de ton aide.

        • Léandre

          Reply Reply 20 décembre 2015

          Une info en plus, lorsque je fait le gpio readall je remarque que je change l’etat de mes sorties/entrées de 1 à 0 comme je le demande mais physiquement l’état ne change pas.
          j’ai bien vérifié que la nappe est dans le bon sens .
          Merci.

  • emmanuel

    Reply Reply 4 janvier 2016

    hello,
    je crois qu’il y a une erreur dans la numérotation des pins GPIO…
     » Le fil rouge sur la broche 8 (GPIO 4)
    Le fil bleu sur la broche 6 (Ground) »

    sur la broche 8, c’est le GPIO 14 et pas 4.
    Quand on utilise « gpio -g write 14 1 », ca marche au poil!

    Par contre, ca ne correspond pas avec la photo ..

    Sinon, bon tuto!

  • Joel Nouvau

    Reply Reply 12 janvier 2016

    bonjour
    j’ai un raspberry pi 2 et j’ai grillé le pin 35 ( gpio19), j’utilise un programme qui me génère des signaux carré I Q sur le pin 12 ( gpio18) et 35 ( gpio 19), et donc le pin 35 ne sort plus rien donc hs, serait-t-il possible de diriger le pin 35 vers 37 par exemple ou autres ?
    je vous remercie
    Joël

  • Match

    Reply Reply 14 mai 2016

    Bonjour,

    Merci pour ce tuto, j’ai suivi le branchement pour la partie T-Cobbler et rien à redire, tout fonctionne, le schéma est très clair. À moins que ça est été corrigé, je ne vois pas d’erreur dans le schéma, pour ma part j’ai suivi à la lettre et j’ai tout vérifié 5 fois avant d’allumer le pi et vraiment parfait. Pour un débutant ayant peur de faire de mauvaises choses avec cet accessoire, ça m’a bien aidé à appréhender et comprendre l’ensemble, c’est simple mais mieux valait être sûr, donc merci !
    Seule différence avec ici, j’ai utilisé le code python qu’on trouve un peu partout, directement en ligne de commande en ssh plutôt que d’exécuter un fichier de code, mais ça ne change rien.

    • Régis

      Régis

      Reply Reply 19 mai 2016

      Merci de retour ! 🙂
      C’est toujours intéressant d’avoir un retour sur les tutoriels.

  • f4b1

    Reply Reply 30 novembre 2016

    Merci pour cet article sur les GPIO, je viens tout juste de commencer et j’ai encore un peu de mal mais votre article me facilite bien la tache 😉

    • Régis

      Régis

      Reply Reply 30 novembre 2016

      Merci beaucoup de votre retour. 🙂

      Bon courage pour la mise en place !

  • ToF

    Reply Reply 15 janvier 2017

    Hello,

    Merci pour ce tutoriel qui m’a permis d’allumer / éteindre ma première LED 😉

    Je pense qu’il y a une erreur dans la rubrique « Montage du circuit en direct ». Tu dis « Le fil rouge sur la broche 8 (GPIO 4) ». Or la broche 8 correspond au GPIO 14, je pense que tu voulais dire « Le fil rouge sur la broche 7 ».

    Pour le reste, tout est nickel, et tu utilises bien la broche 7 😉

    Merci encore!

    • Régis

      Régis

      Reply Reply 17 janvier 2017

      Salut,

      En effet, il y a une petite erreur de nomination dans le tuto. Je pense que lors du tuto j’ai voulu préciser la broche « physique » au lieu de la vrai dénomination. Je modifie le tuto immédiatement 😉

      Et merci de ton retour ! 🙂

Leave A Response

* Denotes Required Field