Electronique et Loisirs Magazine présente le nouveau livre de François MOCQ et Sarah LACAZE

Scratch et Raspberry Pi : s’initier à l’électronique et à la robotique par le jeu


La collection LA FABRIQUE des Editions ENI

Ce livre est l’un des premiers ouvrages de la nouvelle collection « LA FABRIQUE » des Editions ENI (il y a déjà eu 2 livres sur Arduino : 10 projets à réaliser et le codage avec mBlock ), destinée aux #makers, #FabLab…

Cette collection s’adresse à un public de « Technophiles » de niveau Débutant à Initié. Ils pourront disposer d’un livre de référence sur une technologie ou, selon les titres, d’un livre proposant la réalisation de projets de A à Z.

Les livres de cette collection sont rédigés par des passionnés et présentent les concepts
essentiels d’une technologie et la réalisation de projets. Généralement des éléments complémentaires sont disponibles en téléchargement (code des programmes, schémas, photos).

Pourquoi ce livre ? 

Vous souhaitez apprendre à programmer avec #Scratch ? Ce livre explique la programmation en Scratch, appliquée au Raspberry Pi. Vous y apprendrez à utiliser Scratch pour écrire des jeux mais pas que… Scratch est aussi capable de recevoir des informations de capteurs connectés au GPIO, mais il peut aussi commander LEDs, moteurs, relais…
Scratch et Raspberry Pi
 un nouveau livre de François MOCQ et Sarah LACAZE

Acheter le livre

Voir aussi l'artilce consacré à ce livre ici


Vous pourrez rapidement exploiter le côté simple et intuitif de Scratch pour découvrir les notions propres à tout langage de programmation (variables, boucles et même les procédures) à travers la réalisation d’un jeu vidéo. Puis, vous vous familiariserez avec les composants électroniques (capteurs et actionneurs), en réalisant vos premiers circuits.

La seconde partie du livre est consacrée à la réalisation de projets décrits pas à pas. De plus en plus complexes, ces projets associent divers composants (LED, bouton, moteur) pour réaliser des jeux interactifs, fabriquer un distributeur de bonbons ou créer une manette pour ses jeux vidéo. Le livre se termine par la découverte du potentiel créatif de trois cartes : la Pibrella et la Sense HAT qui sont spécifiques au Raspberry Pi, et la carte Makey Makey.

C’est Scratch 2 en version Scrath2GPIO qui est utilisé (installation facile et expliquée). Les capteurs sont classiques : Bouton poussoir, potentiomètre, cellule photorésistante, capteur de distance ultra son. Un chapitre consacré à la carte Sense Hat utilise le joystick et les capteurs météorologiques (pression, température et humidité).


Le contenu du livre

Voici un aperçu du contenu du livre. Vous pourrez voir la diversité des sujets abordés.

  • Présentation
  • Scratch et la programmation
  • Le Raspberry Pi
  • Scratch et Raspberry Pi
  • Installer et utiliser Stretch – la dernière version disponible de Raspbian (déc. 2017)
    Présentation de l’interface PIXEL
  • Scratch2GPIO
    L’interface de Scratch
    Les blocs de programmation
    Apprendre à programmer avec Scratch
    Jeu du perroquet
  • Matériel et composants
    Platine d’expérimentations
    Câbles
    Alimentation externe
    Résistances
    Les actionneurs (Diodes LED, Diode laser, Buzzer)
    Les moteurs (Servomoteurs, Moteurs pas à pas)
    Les capteurs (Bouton poussoir, Potentiomètre,Cellule photorésistance, Capteur de distance)
  • Les cartes additionnelles
    Carte PiBrella
    Carte Sense HAT
    D’autres cartes
  • Piloter des composants
    Les blocs
    Les ports GPIO
    Contrôler une LED (Allumer, clignotement, changer la luminosité)
    Allumer une LED avec un bouton poussoir
    Une LED RGB
    Un buzzer dans un projet
    Utiliser une diode laser
    Les capteurs (Capteur à infrarouge passif)
    Les moteurs (Servomoteur, Moteur pas à pas)
    Signalisation (Réaliser un feu tricolore, Barrière de circulation – passage à niveau)
  • Mastermind
  • Jeu de Simon
  • Fabriquer une manette de jeu
  • Distributeur de bonbons avec un servomoteur
  • Jeu de cibles avec relevage automatique
  • Programmer une voiture ( 2 moteurs courant continu)
  • Utiliser une Pi Caméra avec Scratch
  • La carte PiBrella (LEDs, buzzer, piloter un moteur pas à pas, contrôler un moteur avec un bouton)
  • La carte Sense HAT (La matrice LED, déplacer la LED avec le joystick, utiliser les capteurs météorologiques et les capteurs de mouvements)
  • La carte Makey Makey (les objets conducteurs, les objets connectés, une manette pour Pong, un jeu de Docteur Maboul)
Le jeu de Simon

Le jeu de Simon est un jeu électronique pour enfants. De forme ronde, il est pourvu de quatre touches de couleurs différentes : bleue, verte, jaune, rouge, chacune d’elles étant associée à un son différent. Lorsque l’une des quatre touches s’éclaire et produit le son qui lui est associé, le joueur doit appuyer sur la touche de la couleur qui vient de s’allumer dans un délai assez court. Puis le jeu répète la même couleur (et le même son), et ajoute au hasard une nouvelle couleur. Le joueur doit reproduire cette nouvelle séquence. Chaque fois que le joueur reproduit correctement la séquence, le jeu ajoute une nouvelle couleur.

Les branchements

Ce projet comme le précédent, nécessite donc l’utilisation de LED et de boutons. Pour le mettre en œuvre, vous allez créer des séquences aléatoires, les enregistrer et les comparer.

Matériel nécessaire

·         Une platine d’expérimentation.

·         Quatre LED ; jaune, bleue, verte, rouge, et leurs résistances de 330 Ω.

·         Quatre boutons poussoirs et leurs résistances de 220 Ω.

Le schéma téléchargeable depuis la page Informations générales a pour nom :

Le graphisme

Le projet téléchargeable depuis la page Informations générales a pour nom : Simon.sb2.

Ce projet nécessite la création de sept lutins, tous ne disposeront pas d’un programme.

Le lutin Simon

Il s’agit d’un rond qui représente le boîtier du jeu sur lequel sont positionnés les boutons de couleur.

Le lutin bleu

Il représente le bouton bleu du jeu. Lui sont associés un son et deux costumes : on/off (allumé/éteint). Les deux costumes servent à simuler le bouton en position allumée avec un bleu lumineux et en position éteinte avec un bleu foncé.

 

4. Le programme du lutin bleu

Les programmes des boutons sont tous construits de la même manière.

Une première pile de blocs détermine si le joueur a appuyé sur le bouton correspondant à la LED bleue et à la note 1. Dans ce cas, l’information est enregistrée dans la liste des propositions du joueur pour être comparée à la séquence.

quand drapeau vert pressé

répéter indéfiniment

si gpio 26 is high? alors

envoyer à tous note1

attendre 1 secondes

ajouter 1 à propositions

La deuxième pile de blocs allume la LED bleue et joue la note correspondante dans le cadre d’une séquence.

quand je reçois note1 // quand le message note1 est envoyé par le programme dans le cadre d’une séquence (la note1 est la note associée au bouton bleu).

set gpio 17 to output high // la LED bleue s’allume.

basculer sur costume on // graphiquement, ce lutin change d’apparence.

jouer la note 48 pendant 0.5 temps // la note1, associée au bouton bleu, est la note 48.

set gpio 17 to output low // la LED bleue s’éteint.

basculer sur costume off


La carte Sense HAT

La carte Sense HAT pour le Raspberry Pi a été développée dans le cadre de la mission spatiale Astro Pi (décembre 2015) pour permettre à des écoliers, des collégiens et des lycéens de proposer des expériences qui ont été réalisées par l’astronaute anglais Tim Peake au sein de la station spatiale internationale (ISS).

Les élèves français ne sont pas en reste puisque en 2016-2017, l’astronaute français Thomas Pesquet a passé 6 mois dans l’ISS et réalisé également des expériences avec la Sense HAT.

Voir https://astro-pi.org

La carte Sense HAT vient se positionner sur le dessus du Raspberry Pi en s’emboîtant dans les broches GPIO (comme la PiBrella). Elle est alimentée via la carte Raspberry Pi et doit être connectée à celle-ci hors tension.

La carte Sense HAT est pourvue de différents composants qui permettent de développer des projets, en Python et en Scratch, en interaction avec le monde extérieur.

La matrice de LED

Elle est constituée de 64 LED multicolores. Chacune de ces LED est pourvue de trois LED plus petites : une LED rouge, une LED verte et une LED bleue, comme sur un écran de télévision. Ces trois couleurs sont des couleurs primaires additives (RGB), c’est-à-dire qu’elles peuvent se mélanger pour obtenir d’autres couleurs.

Le capteur de pression

Il peut mesurer une pression absolue comprise entre 260 et 1 260 hPa. La pression atmosphérique (pression barométrique) est la pression exercée par le poids de l’air de l’atmosphère sur la Terre. Elle est mesurée en hectopascals (hPa) 1 000 hPa correspondent à la pression atmosphérique normale sur la Terre au niveau de la mer. En effet, plus on monte en altitude, plus la pression atmosphérique diminue.

Le capteur d’humidité

Il mesure la quantité de vapeur d’eau en suspension dans l’air. Plus la température est élevée, plus des vapeurs d’eau sont susceptibles d’être présentes dans l’air ; plus la température est basse, moins la vapeur d’eau peut rester en suspension dans l’air.

Le capteur de température

Il peut mesurer des températures comprises entre -40 °C (degré Celsius) et 120 °C. La carte Sense HAT est pourvue de deux capteurs de température. Le premier est incorporé au capteur d’humidité, le deuxième au capteur de pression.

Il est à noter que la température ambiante ne peut pas être mesurée de manière précise, car lorsqu’elle fonctionne, la carte dégage de la chaleur. C’est donc la température de la carte qui est mesurée.

Pour faire diminuer la température, vous pouvez souffler légèrement sur le capteur.

Le joystick

Il dispose de cinq contacts pour émuler les quatres touches de direction du clavier et la touche [Entrée] avec le clic central.

L’accéléromètre et le gyroscope

L’accéléromètre mesure la force de l’accélération et le gyroscope mesure l’orientation, ce qui permet de savoir vers quelle direction vous pointez. Ces deux capteurs enregistrent les mouvements selon trois axes : le tangage, le roulis et le lacet. Si l’on prend exemple de l’avion, le tangage correspond à l’inclinaison que prend l’avion lorsqu’il monte ou qu’il descend ; le roulis indique si l’avion penche à droite ou à gauche par rapport à l’axe horizontal de l’avion ; le lacet indique si l’appareil tourne vers la droite ou vers la gauche.

Le magnétomètre

Il mesure le champ magnétique terrestre (comme une boussole). Il s’agit principalement d’un capteur de mouvement. Il permet de mesurer la manière dont bouge le Raspberry Pi dans votre main (la carte Sense HAT étant positionnée dessus) ou la manière dont l’ISS se déplace dans l’espace.

Les capteurs météorologiques

1. Les blocs pour programmer les capteurs

La carte Sense HAT est pourvue de différents capteurs permettant de mesurer la température, l’humidité et la pression. Trois blocs sont utilisés. De par leur forme, ils viennent s’insérer dans d’autres blocs.

Exemple

La valeur des capteurs peut être affichée sur la matrice de LED sous la forme d’un message déroulant ou être dite par le lutin sur la scène de Scratch.

Pour afficher sur la matrice de LED la valeur du capteur, il suffit d’insérer le bloc correspondant au niveau du message.

quand flèche droite est pressé

scroll message temperature at rotation 0 in colour red background Désactivé

Pour afficher la température sur la scène par le biais d’un lutin, vous pouvez utiliser l’un des deux blocs dire ou l’un des deux blocs penser.

 quand flèche droite est pressé

 dire temperature pendant 2 secondes

 quand flèche droite est pressé

 dire regroupe la température est de temperature pendant 2 secondes