L'extension Raspberry Pi GPIO
Introduction
Les blocs situés dans l’extension Raspberry Pi GPIO permettent de contrôler une grande quantité de composants, à l’exception des moteurs. Dans ce chapitre, vous allez découvrir les blocs et leurs utilisations. Vous apprendrez à brancher et programmer des composants qui seront associés entre eux, dans les chapitres suivants, pour créer des projets ludiques autour du jeu ou de la robotique.
Les servomoteurs, ainsi que d’autres composants plus particuliers, seront abordés dans le chapitre L’extension OneGPIO Raspberry Pi, qui n’est pas une extension "officielle".
Les blocs GPIO
S’agissant d’extensions officielles, les blocs Raspberry Pi GPIO sont disponibles directement dans les extensions, sans installation. Pour les afficher :
Sélectionnez Ajouter une Extension .
Choisissez l’extension Raspberry Pi GPIO.
Les blocs spécifiques ont été ajoutés dans la Palette des blocs, dans une nouvelle catégorie qui a pour nom Raspberry Pi GPIO.
Du fait de sa forme, ce bloc se positionne en tête d’une pile de blocs pour créer une instruction. Il est pourvu de deux zones donnant accès à un menu déroulant.
-
La première pour définir le numéro de GPIO sur lequel est connecté le composant (de 0 à 27).
-
La deuxième pour spécifier l’état du composant : high (qui se traduit par allumé) et low (qui se traduit par éteint).
Du fait de sa forme, ce bloc s’insère dans la zone à valeur d’autres blocs. Comme le bloc précédent, il est pourvu de deux menus déroulants pour définir le numéro de GPIO et son état (high ou low).
Ce bloc sert à spécifier le type de composant connecté sur le GPIO défini. Comme nous l’avons vu dans le chapitre Matériel et composants, les composants peuvent être des sorties ou des entrées.
Ce bloc est utilisé pour...
Les LED et boutons-poussoirs
Je ne vais pas m’étendre sur le fonctionnement des LED et des boutons-poussoirs, de nombreux exemples ont été développés dans le chapitre précédent (chapitre L’extension Simple Electronics). Néanmoins, je vous propose deux programmes pour faire le parallèle entre les blocs Raspberry Pi Simple Electronics et le bloc Raspberry Pi GPIO.
1. Branchements
Le montage ci-dessous vous servira pour les premiers programmes proposés dans cette section. Disponible en téléchargement il a pour nom : LED et bouton_branchements.png.
Au niveau du matériel vous avez besoin :
-
d’une LED et de sa résistance de 330 Ω.
-
d’un bouton-poussoir et de sa résistance de 220 Ω.
-
d’un fil mâle/mâle.
-
de quatre fils mâle/femelle.
-
La masse de la platine d’expérimentation est reliée à la masse située sur le Pin 6 du Raspberry Pi.
-
La platine est alimentée en 3,3 V par le biais du Pin 1. Le Pin 1 et le Pin 17 peuvent être utilisés pour une alimentation en 3,3 V.
-
Le Pin 11/GPIO 17 contrôle la LED.
-
Le Pin 40/GPIO 23 contrôle le bouton-poussoir.
2. Premier programme
Ce premier programme allume la LED lorsque le bouton-poussoir est allumé. Et la LED reste allumée même lorsque le bouton n’est plus appuyé....
LED RGB
Les LED RGB (Red - Green - Blue) se composent de trois LED (rouge - vert- bleu) qui permettent d’obtenir une grande gamme de couleurs en modulant leurs signaux ou par synthèse additive.
Ce type de LED est pourvu de quatre pattes : une patte par couleur et une pour la masse.
Il existe plusieurs modèles de LED RGB. Pour faciliter les branchements et éviter les mauvaises manipulations, privilégiez les LED RGB avec un module de connexion (à droite sur l’illustration ci-dessus), comme celles utilisées pour les cartes Arduino.
Matériel nécessaire
-
Une LED RGB pourvue d’un module de connexion.
-
Trois fils mâles.
1. Les branchements
Pour tester la LED RGB, il n’est pas nécessaire d’utiliser une plaque d’expérimentation. Les branchements peuvent se faire directement en connectant les pattes de la LED aux GPIO du Raspberry via quatre fils de type femelle/ femelle.
-
La masse est branchée sur le Pin 6.
-
La broche contrôlant la LED rouge (R) est reliée au Pin 11/ GPIO 17.
-
La broche contrôlant la LED verte (G) est reliée au Pin 12/ GPIO 18.
-
La broche contrôlant la LED bleue (B) est reliée au Pin 13/ GPIO 27.
2. Le programme
Grâce à ce programme, vous allez allumer et éteindre indépendamment chaque couleur, ce qui permettra d’allumer deux ou trois couleurs en même temps. Six instructions...
Utiliser un buzzer
Le buzzer, ou bipeur, est un composant électromécanique qui produit un son (un bip) lorsqu’une tension lui est délivrée.
Matériel nécessaire
-
Un buzzer.
-
Trois fils mâles.
1. Les branchements
Le buzzer est pourvu de trois pattes dont une notée (-) et une autre notée S. Parfois, vous trouverez la mention (+).
-
La masse est branchée sur le Pin 6.
-
Le S (signal), qui correspond à la patte de contrôle, est branché au Pin 11/ GPIO 17 (pin de sortie).
-
La troisième patte correspond à l’alimentation en 3,3 V. Elle est connectée au Pin 1.
Il s’agit de pulsations et non de son. Pour une meilleure utilisation, il est préférable d’utiliser les blocs de l’extension Raspberry Pi OneGPIO qui propose un bloc spécifique pour le buzzer.
2. Programme
Le programme commence par une initialisation du GPIO utilisé : type de composant (output ou input) et état du GPIO (high ou low).
quand drapeau vert cliqué
set gpio 21 to output low // le buzzer est un actionneur.
Il est défini comme étant éteint.
quand la touche espace est pressée // la touche [Espace] ...
Utiliser une diode laser
Les diodes laser sont à manipuler avec précaution, les lasers pouvant être dangereux pour les yeux. Ce type de composant est le plus souvent utilisé dans des projets afin de mesurer des distances ou effectuer des détections.
Matériel nécessaire
-
Une diode laser avec son module de connexion.
-
Trois fils de type mâle/ mâle.
1. Les branchements
Tout comme le buzzer, la diode laser est pourvue de trois pattes, dont une notée (-) et une autre (S). Parfois, vous trouverez également la mention (+).
-
La masse (-/GND) est branchée sur le Pin 6.
-
Le S, qui est la patte de contrôle, est relié au Pin 11/ GPIO 17.
-
La troisième patte correspond à l’alimentation en 3,3 V. Elle est reliée au Pin 1.
2. Le programme
Le programme de la diode laser est très simple. Tout comme pour les LED, il suffit de programmer les touches du clavier de votre choix pour l’allumer et pour l’éteindre.
La première pile de blocs correspond à l’initialisation du composant.
quand drapeau vert pressé
set gpio 17 to output low // configuré comme une sortie,
aucun courant électrique n'est délivré au GPIO qui pilote la
diode laser lorsque le programme est lancé.
Les touches [flèche en haut] et [flèche en bas] sont programmées pour allumer...
Piloter des capteurs
Il existe différents types de capteurs : des capteurs d’humidité, de son, de distance. Le nombre de capteurs utilisables avec précision avec Scratch est limité. En effet, Scratch ne mesure que des valeurs digitales, c’est-à-dire des 0 et des 1.
1. Les branchements
Les capteurs que vous allez découvrir sont des capteurs pourvus de trois ou quatre pattes.
Attention, bien que pourvus de trois pattes, le buzzer et la diode laser ne sont pas des capteurs, mais des actionneurs !
Les capteurs à trois broches
-
La patte S correspond au signal.
-
La patte (-), ou GND, correspond à la masse. Elle est branchée sur l’une des masses du Raspberry Pi (Pin 6 - 9 - 14 - 20 - 25 - 30 - 34 - 39).
-
La troisième patte, qui souvent ne comporte aucune mention, correspond à l’alimentation. Ces capteurs nécessitent d’être alimentés avec une tension de 3,3 V (Pin 1 - 17).
Les capteurs à quatre broches
-
La patte (-), ou GND, correspond à la masse. Elle est branchée sur l’une des masses du Raspberry Pi (Pin 6 - 9 - 14 - 20 - 25 - 30 - 34 - 39).
-
L’alimentation, notée (+), est branchée sur un pin qui délivre du 3,3 V (Pin 1 - 17).
-
La patte AO est utilisée pour traiter des données analogiques. Vous ne l’utiliserez pas.
-
La patte DO est utilisée pour traiter des données...
Piloter un capteur infrarouge passif
Le capteur infrarouge passif est un détecteur de mouvement. Il est utilisé dans des systèmes d’alarme pour détecter une présence ou, dans un système d’éclairage, pour éclairer une pièce automatiquement lorsque quelqu’un entre.
1. Description
Comme les capteurs vus précédemment, le capteur infrarouge est pourvu de trois connecteurs :
-
l’alimentation : alimenté en 5 V, il vient se connecter sur le Pin 2 ou 4 du Raspberry Pi pour les tests. Mais pour un projet définitif, l’utilisation d’une alimentation externe sera préférable ;
-
la masse (GND) : elle vient se brancher sur l’une des masses du Raspberry Pi (Pin 6 - 9 - 14 - 20 - 25 - 30 - 34 - 39) ;
-
la sortie : il s’agit d’un output et le GPIO utilisé pour le contrôler doit être défini comme tel. Lorsqu’aucun mouvement n’est détecté, la tension est nulle (0). Elle est positive (1) lorsqu’un mouvement est détecté.
La position des connecteurs peut différer d’un modèle à l’autre. Retirez le capuchon en forme de dôme qui recouvre le capteur pour vérifier.
Sous le module sont présents deux potentiomètres permettant de modifier la sensibilité du capteur et sa durée....
Conclusion
L’extension Raspberry Pi GPIO développée par la Fondation est utilisée pour contrôler un grand nombre de composants, mais elle ne permet pas la gestion des signaux de type PWM et des composants de type moteurs.
Dans ce chapitre, vous avez appris à contrôler individuellement des composants simples et couramment utilisés. Les chapitres situés dans la troisième partie de cet ouvrage vous proposent de réaliser des projets utilisant un ou plusieurs composants pour créer des jeux et des objets robotisés. Vous trouverez notamment dans le chapitre Petits circuits des projets assez simples à mettre en œuvre, avant de vous plonger dans des réalisations plus complexes.