program-gopigo-scratch-generation-robots-1

Programmer sur Scratch avec la Raspberry Pi et le GoPiGo

Cette entrée a été publiée dans Education, Tutoriels en robotique, et marquée avec , , , , , le par .

Dexter Industries a optimisé la programmation sur Scratch et le robot GoPiGo pour le système d’exploitation Raspbian for Robots, que vous pouvez exécuter gratuitement sur votre Raspberry Pi. Vous pouvez  télécharger la dernière version et l’installer sur une carte SD en suivant ces instructions. Dans la procédure décrite ci-dessous, nous partons du principe que vous utilisez Raspbian for Robots.

Connecter votre GoPiGo

Avant de commencer à programmer sur Scratch avec le GoPiGo et la Raspberry Pi, vous devez connecter le kit en Wi-Fi ou Ethernet. Nous vous recommandons de consulter notre tutoriel sur la configuration et la connexion du GoPiGo en Wi-Fi. Nous vous invitions à visionner la playlist suivante sur YouTube.

Lancer Scratch

Pour démarrer, double-cliquez sur l’icône Scratch sur le Bureau.

scratch-gopigo-desktop
La fenêtre « Scratch for Robots » s’ouvre. Le terminal Scratch Controller (la fenêtre noire avec du texte en blanc) s’affiche également : ne la fermez pas ! Dans la fenêtre du Scratch Controller, vous pouvez sélectionner votre robot (l’image GoPiGo doit s’afficher, comme dans l’exemple ci-dessous).

Vous pouvez commencer à programmer directement en cliquant sur « Start Programming » (Commencer à programmer). Vous pouvez également sélectionner un exemple de programme en cliquant sur « Open Examples » (Ouvrir les exemples). Vous accédez ainsi au répertoire d’exemples.

gopigo-start_scratch_options

Si vous double-cliquez sur un programme Scratch dans le répertoire ou sur un programme que vous avez sauvegardé, une fenêtre pop-up Scratch s’affiche.
scratch-gopigo-example-programs
Le sélecteur de robot Scratch for Robots s’ouvre. Sélectionnez le GoPiGo dans le menu déroulant et appuyez sur « Start Programming ».
scratch-for-gopigo-robots-robot-selector
Un message d’avertissement vous indique que tous les programmes Scratch en cours vont être fermés. Vous ne pouvez exécuter qu’un seul programme Scratch à la fois.scratch-gopigo-warning
Cliquez sur « OK ». L’exemple de programme s’affiche. Une alerte vous indique que la communication a été établie. Cliquez sur « OK », et à vous de jouer ! Un exemple de voiture s’affiche pour commencer.
gopigo-scratch-example-program

Aide-mémoire sur les blocs : instructions Scratch (« broadcasts »)

Voici un petit aide-mémoire sur les blocs disponibles dans Scratch pour le GoPiGo. Vous pouvez également créer des blocs personnalisés.

Avancer
Envoyez le broadcast « FORWARD » pour faire avancer le GoPiGo.

fwd-gopigo-1

 

 

Reculer
Envoyez le broadcast « BACKWARD » pour faire reculer le GoPiGo.
back-gopigo-scratch

 

Tourner à gauche
Envoyez le broadcast « LEFT » pour faire tourner le GoPiGo à gauche.
left-gopigo-scratch

 

Tourner à droite
Envoyez le broadcast « RIGHT » pour faire tourner le GoPiGo à droite.
turn_right-gopigo-scratch

 

Stopper le GoPiGo
Envoyez le broadcast « STOP » pour stopper le GoPiGo.
stop-gopigo-scratch

 

Accélérer
Envoyez le broadcast « INCREASE SPEED » pour faire accélérer le GoPiGo de 10 unités.

inc-gopigo-scratch

 

Ralentir
Envoyez le broadcast « DECREASE SPEED » pour faire ralentir le GoPiGo de 10 unités.
dec-gopigo-scratch

 

Intensité de la LED
Modifiez l’intensité de la LED en envoyant le broadcast de l’ID de la LED et de l’intensité.
Vous avez le choix entre « LEDL » (LED gauche) et « LEDR » (LED droite), et vous pouvez régler l’intensité de 0 à 255.
led-gopigo-scratch

Créer des instructions personnalisées sur Scratch

Vous pouvez facilement créer des instructions personnalisées sur Scratch pour le GoPiGo.
L’interaction avec Scratch est assurée par un programme Python exécuté en arrière-plan (GoPiGoScratch.py). Celui-ci intercepte les commandes de l’interface Scratch et les exécute sur le GoPiGo. Ce programme se lance automatiquement quand vous cliquez sur l’icône Scratch dans Raspbian for Robots.
Pour créer une commande personnalisée, il suffit d’ajouter une condition dans le code Python.

Exemple :

Bloc FORWARD dans Scratch :

fwd-gopigo-scratch

 

Code Python sous-jacent :

if msg== »FORWARD »:
if en_gpg:
fwd()
if en_debug:
print msg

Vous pouvez de la même manière créer votre propre bloc et l’exécuter facilement sur le GoPiGo.