Comment utiliser le GPIO du RaspberryPi avec SCRATCH

 

I. Matériel nécessaire

  • Une plaquette de câblage rapide et sans soudure
  • Une LED
  • Une résistance électrique de 333 Ω
  • Un bouton-poussoir
  • Trois fils de câblage mâle/femelle
  • Un fil de câblage mâle/mâle

Vous pouvez acheter ces composants séparément ou regroupés dans un kit éducatif (comme le CamJam Edukit #1).

Image non disponible
Ce projet est simple à réaliser avec une plaquette de câblage rapide sans soudure et quelques fils de câblage.

II. Étape 1 : connecter la LED

Image non disponible
Schéma de câblage.

Il est préférable de débrancher le Pi quand on câble un circuit. La plaquette de câblage présente des colonnes numérotées, chacune comportant une série de cinq trous adjacents et reliés électriquement entre eux. Enfichez les pattes de votre LED sur deux colonnes numérotées adjacentes, comme montré sur le schéma ci-dessus. Notez que la patte la plus courte de la LED est la borne négative ; sur la colonne de celle-ci, insérez la patte d’une résistance électrique, l’autre patte étant insérée sur la ligne bleue ou noire marquée avec un signe « – » (une ligne de masse). Utilisez un fil mâle/femelle pour relier un autre trou de la ligne de masse à une broche GND du Pi. Finalement, utilisez un autre fil pour connecter un trou situé sur la même colonne que la patte la plus longue de la LED (borne positive) à la broche GPIO 17.

III. Étape 2 : configurer les broches du port GPIO

Avant d’utiliser le port GPIO dans Scratch, il faut démarrer le serveur GPIO. On pourrait le faire directement depuis le menu Édition, mais nous allons plutôt l’activer depuis le script. Sous le bloc quand (drapeau vert) pressé, ajoutez un bloc de contrôle envoyer à tous, cliquez sur sa petite flèche, sélectionnez nouveau/edit et saisissez le message gpioserveron. Nous devons aussi configurer la broche GPIO 17 en sortie (pour allumer la LED), donc ajoutez un nouveau bloc envoyer à tous et modifiez-le avec le message config17out.

Image non disponible

Note de traduction : par rapport à l’article original qui est en anglais, les scripts présentés ici sont obtenus pour une utilisation de Scratch en langue française (icône Image non disponible).

IV. Étape 3 : allumer la LED

Nous allons maintenant tester notre circuit en utilisant une boucle infinie pour faire clignoter la LED. Ajoutez un bloc répéter indéfiniment à la suite du script. Insérez à l’intérieur de la boucle les blocs suivants : envoyer à tous gpio17on, attendre 1 secondes, envoyer à tous gpio17off, et attendre 1 secondes. Maintenant, exécutez votre script et vous devriez voir votre LED clignoter indéfiniment toutes les secondes.

Image non disponible

V. Étape 4 : connecter le bouton-poussoir

Nous pouvons contrôler la LED à l’aide d’un bouton-poussoir. Une fois encore, nous supposons que vous effectuez le câblage avec le Pi hors tension. Rajoutez le bouton-poussoir sur la plaquette de câblage, en lui faisant chevaucher la rainure centrale, comme représenté sur le schéma de câblage. Reliez une broche du bouton en plantant l’extrémité mâle d’un fil mâle/femelle dans un trou de sa colonne, à la broche GPIO 21 du Pi. Avec un fil mâle/mâle, reliez l’autre broche du bouton (du même côté de la rainure centrale) à la ligne de masse commune à la LED.

VI. Étape 5 : configurer le bouton-poussoir

Avant que Scratch puisse réagir à l’appui sur votre nouveau bouton, il faut lui dire sur quelle broche est relié le bouton. Détachez la boucle répéter indéfiniment du script précédent de clignotement de la LED, et faites glisser le bloc en dehors de l’aire d’écriture des scripts pour le supprimer. Ajoutez un nouveau bloc envoyer à tous complété avec le message config21in pour configurer la broche GPIO 21 en entrée, voir le script ci-dessous.

Image non disponible

Exécutez le script, puis stoppez-le. Maintenant, cliquez sur la catégorie capteurs dans le panneau en haut à gauche. Trouvez le bloc valeur du capteur et complétez avec le message gpio21. Dans la palette des blocs, cochez la case du bloc pour que la valeur de l’entrée du capteur s’affiche sur la scène : quand le bouton est pressé, l’entrée devrait basculer de 1 à 0 (cf. NDLR(1)).

Image non disponible
Cocher la case « valeur du capteur gpio21 » dans la palette à gauche de l’écran, permettra d’afficher l’état de l’entrée sur la scène, ce qui est utile pour faire des tests.

VII. Étape 6 : agir sur la LED

Maintenant que le bouton fonctionne, il est temps d’agir sur la LED. Ajoutez le script ci-dessous :

Image non disponible

Puis insérez-le à la suite de votre script d’initialisation du serveur GPIO :

Image non disponible

Une fois de plus, nous utilisons un bloc répéter indéfiniment. À l’intérieur de la boucle, nous ajoutons un bloc si…sinon. Dans le champ si, on place un bloc opérateur « = » ; dans le champ à gauche de l’opérateur, on ajoute la valeur du capteur gpio21, puis le chiffre 1 dans le champ à droite de l’opérateur. Juste en dessous, on insère un bloc envoyer à tous gpio17off. De cette façon, lorsque le bouton n’est pas pressé, la LED sera éteinte. Sous le sinon, on insère le bloc envoyer à tous gpio17on, pour que la LED s’allume lorsque le bouton est pressé. Lancez l’exécution du script final, pressez le bouton, et miracle… la LED s’allume !

2
0

1


Laisser une réponse

Cet article n'a pas été revu depuis la publication.

Cet article a été créé par chrisagon le 20 mars 2018.