Connecter la carte Raspberry Pi au monde physique avec Scratch

Apprendre à allumer une LED

The MagPi Team

Traducteur

f-leb

Depuis la dernière version Jessie de Raspbian, Scratch pour Raspberry Pi intègre un serveur GPIO pour faciliter le contrôle de composants électroniques ou cartes additionnelles. Dans ce tutoriel, nous allons créer un circuit très simple avec une LED qui s'allume lorsqu'on appuie sur un bouton-poussoir.

Commentez

- Titre : Connecter la carte Raspberry Pi au monde physique avec Scratch

- Auteur : The MagPi Team

- Traducteur : f-leb

- Parution : 9 août 2016

- Public visé :

- Licence : Le contenu de cet article est rédigé par The MagPi Team et est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé. Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright ® 2013 Developpez.com.

Voir également :

- Raspberry Pi - Déballage et installation

- Raspberry Pi - Python et le port GPIO

- Scratch, un logiciel à tout faire !

Sommaire

- I. Matériel nécessaire

- II. Étape 1 : connecter la LED

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

- IV. Étape 3 : allumer la LED

- V. Étape 4 : connecter le bouton-poussoir

- VI. Étape 5 : configurer le bouton-poussoir

- VII. Étape 6 : agir sur la LED

- VIII. Notes de la Rédaction de Developpez.com

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).

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

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.

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 ).

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.

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.

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)).

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 :

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

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 !

VIII - Notes de la Rédaction de Developpez.com

Cet article est une traduction extraite du numéro spécial du magazine The MagPi : Learn to code with Scratch.

Nous remercions les membres de la Rédaction de Developpez pour le travail de traduction et de relecture qu'ils ont effectué, en particulier :

- f-leb

- zoom61

Merci également à jacques_jean pour sa relecture orthographique.

(1)NDLR : Ici, un point important de la configuration des broches du Pi dans Scratch doit être éclairci. La documentation précise bien : in, input, inpullup or inputpullup to set as input with pull-up. Sans précaution particulière, une entrée GPIO est donc configurée avec une résistance interne de tirage au +3,3 V, et l'entrée est bien définie à l'état haut lorsque le bouton n'est pas pressé.