program-gopigo-scratch-generation-robots-1

Programmer sur Scratch avec la Raspberry Pi et le GoPiGo

This entry was posted in Education & robotique on by Vanessa Mazzari.

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

scratch-gopigo-example-programs
scratch-for-gopigo-robots-robot-selector
scratch-gopigo-warning
gopigo-scratch-example-program

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.

Le sélecteur de robot Scratch for Robots s’ouvre. Sélectionnez le GoPiGo dans le menu déroulant et appuyez sur « Start Programming ».

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

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
back-gopigo-scratch

Reculer
Envoyez le broadcast « BACKWARD » pour faire reculer le GoPiGo.

left-gopigo-scratch

Tourner à gauche
Envoyez le broadcast « LEFT » pour faire tourner le GoPiGo à gauche.

turn_right-gopigo-scratch

Tourner à droite
Envoyez le broadcast « RIGHT » pour faire tourner le GoPiGo à droite.

stop-gopigo-scratch

Stopper le GoPiGo
Envoyez le broadcast « STOP » pour stopper le GoPiGo.

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

inc-gopigo-scratch
dec-gopigo-scratch

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

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

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.