diff --git a/ateliers/thymio/menu.png b/ateliers/thymio/menu.png new file mode 100644 index 0000000..76f1cc0 Binary files /dev/null and b/ateliers/thymio/menu.png differ diff --git a/ateliers/thymio/readme.md b/ateliers/thymio/readme.md index 07e52c7..7d48e8f 100644 --- a/ateliers/thymio/readme.md +++ b/ateliers/thymio/readme.md @@ -1,36 +1,25 @@ # Atelier Thymio -*Cet atelier peut être fait après l’atelier de présentation et de découverte de Thymio.* - ## But Découvrir la programmation avec Thymio. -## Déroulé - -On présente le robot et ses possibilités : déplacement, changement de couleurs, capteurs... - -Puis, on présente Thymio VPL aux enfants en expliquant le principe de chaque block et la notion SI -> ALORS. - -On fait des groupes, composés au maximum de X enfants (X à définir en fonction des conditions, pas trop nombreux pour éviter de délaisser des enfants). Des groupes de deux fonctionnent plutôt bien. Menez une attention particulière aux enfants les plus jeunes. - -Les exercices sont distribués un par un ou d'un coup. Cela dépendra du nombre de groupes d'enfants présents lors de l'atelier. Attention toutefois à ne pas avoir de gros écart dans l'avancement des exercices. - -L'objectif est de faire l'exercice sans s'aider de la solution et de comparer la solution trouvée par l'enfant à la solution proposée. - -Chaque groupe programme puis teste sur son Thymio. +## Présentation -Pour le dernier exercice, c'est très sympa de construire le circuit avec les enfants. +Thymio Suite vient avec plusieurs outils pour programmer le robot : -## FAQ +![Menu de Thymio suite](menu.png) -### VPL, VPL 3 ou Scratch ? +- VPL +- VPL3 +- Scratch +- Blockly +- Aseba Studio +- Thonny Python -Le module VPL suffit. Si le groupe le désire ou a terminé en avance, il peut utiliser un autre module. -À noter qu'en VPL il existe un mode avancé qui permet de nouvelles fonctionnalités (gestion d'états, timer...). -À vous de voir si vous voulez utiliser le module VPL3 dès le début. +## Exercices -### Le robot doit-il rester connecté à l'ordinateur ? +Plusieurs versions des exercices sont disponibles : -Non. Une fois les instructions transmises au robot, ce dernier peut être détaché. Le gros bouton carré rouge en VPL permet d'effacer la mémoire du robot. -C'est une bonne pratique de garder la condition `SI appui bouton central ALORS arrêt moteur` à chaque exercice. +- [Retrouvez les exercices avec VPL 2](vpl2/readme.md) +- [Retrouvez les exercices avec VPL 3](vpl3/README.md) diff --git a/ateliers/thymio/vpl2/readme.md b/ateliers/thymio/vpl2/readme.md new file mode 100644 index 0000000..839bb90 --- /dev/null +++ b/ateliers/thymio/vpl2/readme.md @@ -0,0 +1,36 @@ +# Atelier Thymio + +*Cet atelier peut être fait après l’atelier de présentation et de découverte de Thymio.* + +## But + +Découvrir la programmation avec Thymio. + +## Déroulé + +On présente le robot et ses possibilités : déplacement, changement de couleurs, capteurs... + +Puis, on présente Thymio VPL aux enfants en expliquant le principe de chaque bloc et la notion SI -> ALORS. + +On fait des groupes, composés au maximum de X enfants (X à définir en fonction des conditions, pas trop nombreux pour éviter de délaisser des enfants). Des groupes de deux fonctionnent plutôt bien. Menez une attention particulière aux enfants les plus jeunes. + +Les exercices sont distribués un par un ou d'un coup. Cela dépendra du nombre de groupes d'enfants présents lors de l'atelier. Attention toutefois à ne pas avoir de gros écart dans l'avancement des exercices. + +L'objectif est de faire l'exercice sans s'aider de la solution et de comparer la solution trouvée par l'enfant à la solution proposée. + +Chaque groupe programme puis teste sur son Thymio. + +Pour le dernier exercice, c'est très sympa de construire le circuit avec les enfants. + +## FAQ + +### VPL, VPL 3 ou Scratch ? + +Le module VPL suffit. Si le groupe le désire ou a terminé en avance, il peut utiliser un autre module. +À noter qu'en VPL il existe un mode avancé qui permet de nouvelles fonctionnalités (gestion d'états, timer...). +À vous de voir si vous voulez utiliser le module VPL3 dès le début. + +### Le robot doit-il rester connecté à l'ordinateur ? + +Non. Une fois les instructions transmises au robot, ce dernier peut être détaché. Le gros bouton carré rouge en VPL permet d'effacer la mémoire du robot. +C'est une bonne pratique de garder la condition `SI appui bouton central ALORS arrêt moteur` à chaque exercice. diff --git a/ateliers/thymio/thymio-exercice1.pdf b/ateliers/thymio/vpl2/thymio-exercice1.pdf similarity index 100% rename from ateliers/thymio/thymio-exercice1.pdf rename to ateliers/thymio/vpl2/thymio-exercice1.pdf diff --git a/ateliers/thymio/thymio-exercice2.pdf b/ateliers/thymio/vpl2/thymio-exercice2.pdf similarity index 100% rename from ateliers/thymio/thymio-exercice2.pdf rename to ateliers/thymio/vpl2/thymio-exercice2.pdf diff --git a/ateliers/thymio/thymio-exercice3.pdf b/ateliers/thymio/vpl2/thymio-exercice3.pdf similarity index 100% rename from ateliers/thymio/thymio-exercice3.pdf rename to ateliers/thymio/vpl2/thymio-exercice3.pdf diff --git a/ateliers/thymio/thymio-exercice4.pdf b/ateliers/thymio/vpl2/thymio-exercice4.pdf similarity index 100% rename from ateliers/thymio/thymio-exercice4.pdf rename to ateliers/thymio/vpl2/thymio-exercice4.pdf diff --git a/ateliers/thymio/thymio-exercice5.pdf b/ateliers/thymio/vpl2/thymio-exercice5.pdf similarity index 100% rename from ateliers/thymio/thymio-exercice5.pdf rename to ateliers/thymio/vpl2/thymio-exercice5.pdf diff --git a/ateliers/thymio/thymio-exercice6.pdf b/ateliers/thymio/vpl2/thymio-exercice6.pdf similarity index 100% rename from ateliers/thymio/thymio-exercice6.pdf rename to ateliers/thymio/vpl2/thymio-exercice6.pdf diff --git a/ateliers/thymio/vpl3/README.md b/ateliers/thymio/vpl3/README.md new file mode 100644 index 0000000..7a1f026 --- /dev/null +++ b/ateliers/thymio/vpl3/README.md @@ -0,0 +1,134 @@ +# Exercices avec Thymio et l'interface VPL 3 + +## Introduction +Bienvenue dans les exercices Thymio VPL 3. Ces ateliers vous permettront de découvrir la programmation visuelle avec le robot Thymio. + +## Prérequis +- Robot Thymio II +- Logiciel Thymio Suite avec l'éditeur VPL 3 +- Clé Thymio connectée + +## Contenu des exercices +- [ ] Exercice 1 : Avancer +- [ ] Exercice 2 : Diriger +- [ ] Exercice 3 : Me suivre +- [ ] Exercice 4 : Parcours d’obstacles + +## Présentation de l'atelier + +Présenter à tout le groupe [la présentation suivante](presentation.pdf). +- Montrer le robot en action +- Présentez l'interface VPL 3 +- Expliquer la notion d'action et évènement +- Expliquer comment exécuter le code sur le robot +- Présentez l'organisation des ateliers + +## Exercice 1 : Avancer + +### Présentation + +Permet de découvrir le fonctionnement avec une première action sur le bouton flèche vers le haut, faire avancer le robot, changer la couleur du robot et jouer une musique. + +/!\ Ne pas oublier de mettre une action d'arrêt. + +### Instructions + +Si Flèche vers le haut +Alors + Avancer tout droit + Changer la couleur du robot + Jouer une musique + +Si Robot sur le dos +Alors + Arrêter le robot + Supprimer la couleur + +### Solution + +[Solution de l'exercice 1](exercice1.vpl3) + +## Exercice 2 : Diriger + +### Présentation + +On va utiliser tous les boutons de direction pour faire avancer le robot dans différentes directions. + +### Instructions + +Si Flèche vers le haut +Alors Avancer tout droit +Si Flèche vers le bas +Alors Reculer +Si Flèche vers la gauche +Alors Tourner à gauche +Si Flèche vers la droite +Alors Tourner à droite +Si Robot sur le dos +Alors Arrêter le robot + +### Solution + +[Solution de l'exercice 2](exercice2.vpl3) + +## Exercice 3 : Me suivre + +### Présentation +On va utiliser les capteurs de proximité pour faire suivre le robot. +Avec la main, on peut faire suivre le robot en approchant la main du capteur de proximité. Le robot va suivre la main dans la direction où elle se trouve. + +Si la main est devant le robot, il avance. Si la main est à gauche, il tourne à gauche. Si la main est à droite, il tourne à droite. Si la main est derrière, il recule. + +Si pas de main, le robot s'arrête. + +### Instructions + +Utilisation du capteur : +lorsqu’il détecte un obstacle devant (main), il se dirige vers l’obstacle. + +On peut ainsi diriger notre robot en utilisant ses mains. + +Si pas d'obstacle, alors arrêter le robot + +### Solution +[Solution de l'exercice 3](exercice3.vpl3) + +## Exercice 4 : Parcours d’obstacles +### Présentation +On va faire un parcours d’obstacles avec le robot. Le robot doit avancer tout droit, +mais s’il détecte un obstacle devant, il doit contourner l'obstacle. + +Commencer par créer un parcours d’obstacles avec deux murs parallèles (des cartons, des livres, etc.). +Ajouter des obstacles sur le parcours (plots, ou constructions en lego). +La construction du parcours est un moment très apprécié par les enfants qui permet de faire une pause dans la programmation et de se défouler un peu. + +Le robot doit avancer tout droit, mais s’il détecte un obstacle devant, il doit contourner l'obstacle. +Il n'y a pas de solution unique pour cet exercice, il faut laisser les enfants trouver leur propre solution. +Il est intéressant de faire plusieurs essais pour trouver la solution qui fonctionne le mieux. + +### Instructions + +But : le robot doit parcourir automatiquement un parcours en évitant les obstacles, il doit donc avancer tout seul. +Si on détecte un obstacle, on tourne pour l’éviter (réfléchir à quel sens !) +Sinon on avance si l’espace est libre devant. +Utiliser un bouton pour commencer à avancer et pour arrêter. + +Bonus : si on détecte un obstacle, on peut faire reculer le robot en tournant, démarrer un minuteur. Quand le minuteur est terminé, on avance à nouveau tout droit. + +Bonus 2 : Utilisez un état pour activer ou désactiver les actions du robot. Par exemple, on peut utiliser un bouton pour activer le mode "parcours d'obstacles" et un autre bouton pour désactiver ce mode. Lorsque le mode est activé, le robot doit suivre les instructions pour éviter les obstacles. Lorsque le mode est désactivé, le robot doit s'arrêter. + +### Solution + +- [Solution de l'exercice 4](exercice4.vpl3) +- [Solution de l'exercice 4 : reculer](exercice4bis.vpl3) +- [Solution de l'exercice 4 : bonus](exercice5.vpl3) + +### Conseils pour les animateurs +- Laissez les enfants trouver leur propre solution, il n'y a pas de solution unique pour cet exercice. +- Encouragez les enfants à faire plusieurs essais pour trouver la solution qui fonctionne le mieux. +- Pour utiliser un minuteur, il faut modifier l'interface VPL 3 pour afficher les nouveaux blocs de minuteur. Pour cela, il faut cliquer sur le bouton en haut à droite de l'interface VPL 3, puis cliquer sur les blocs "Démarrer un minuteur" et "Évènement régulier" + +## Ressources +- [Documentation officielle Thymio](https://www.thymio.org/) + +--- diff --git a/ateliers/thymio/vpl3/exercice1.vpl3 b/ateliers/thymio/vpl3/exercice1.vpl3 new file mode 100644 index 0000000..3bc26b7 --- /dev/null +++ b/ateliers/thymio/vpl3/exercice1.vpl3 @@ -0,0 +1,129 @@ +{ + "basicBlocks": [ + "init", + "button 1", + "acc side", + "acc upside down", + "tap", + "ground mean", + "ground", + "horiz prox", + "color 8 state", + "bottom color 8 state", + "state 256", + "move", + "top color 8", + "bottom color 8", + "set state 256", + "notes" + ], + "basicMultiEvent": true, + "disabledUI": [ + "src:language", + "vpl:exportToHTML" + ], + "program": [ + { + "blocks": [ + { + "name": "button 1", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + }, + { + "name": "notes", + "disabled": false, + "locked": false, + "param": [ + 0, + 1, + 1, + 1, + 2, + 1, + 0, + 1, + 2, + 1, + 4, + 2 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "acc upside down", + "disabled": false, + "locked": false, + "param": [] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "notes", + "disabled": false, + "locked": false, + "param": [ + 4, + 1, + 3, + 1, + 2, + 1, + 3, + 1, + 1, + 1, + 0, + 1 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [], + "disabled": false, + "locked": false + } + ], + "code": null +} \ No newline at end of file diff --git a/ateliers/thymio/vpl3/exercice2.vpl3 b/ateliers/thymio/vpl3/exercice2.vpl3 new file mode 100644 index 0000000..962fdfc --- /dev/null +++ b/ateliers/thymio/vpl3/exercice2.vpl3 @@ -0,0 +1,184 @@ +{ + "basicBlocks": [ + "init", + "button 1", + "acc side", + "acc upside down", + "tap", + "ground mean", + "ground", + "horiz prox", + "color 8 state", + "bottom color 8 state", + "state 256", + "move", + "top color 8", + "bottom color 8", + "set state 256", + "notes" + ], + "basicMultiEvent": true, + "disabledUI": [ + "src:language", + "vpl:exportToHTML", + "vpl:flash" + ], + "program": [ + { + "blocks": [ + { + "name": "button 1", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "button 1", + "disabled": false, + "locked": false, + "param": [ + 3 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 4 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "button 1", + "disabled": false, + "locked": false, + "param": [ + 4 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 8 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "button 1", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 5 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 3 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "button 1", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [], + "disabled": false, + "locked": false + } + ], + "code": null +} \ No newline at end of file diff --git a/ateliers/thymio/vpl3/exercice3.vpl3 b/ateliers/thymio/vpl3/exercice3.vpl3 new file mode 100644 index 0000000..ad81b42 --- /dev/null +++ b/ateliers/thymio/vpl3/exercice3.vpl3 @@ -0,0 +1,242 @@ +{ + "basicBlocks": [ + "init", + "button 1", + "acc side", + "acc upside down", + "tap", + "ground mean", + "ground", + "horiz prox", + "color 8 state", + "bottom color 8 state", + "state 256", + "move", + "top color 8", + "bottom color 8", + "set state 256", + "notes" + ], + "basicMultiEvent": true, + "disabledUI": [ + "src:language", + "vpl:exportToHTML", + "vpl:flash" + ], + "program": [ + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 4 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 8 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 0, + 0, + 0, + 0, + 0, + 1, + 1 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 5 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 3 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 5 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "acc upside down", + "disabled": false, + "locked": false, + "param": [] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [], + "disabled": false, + "locked": false + } + ], + "code": null +} \ No newline at end of file diff --git a/ateliers/thymio/vpl3/exercice4.vpl3 b/ateliers/thymio/vpl3/exercice4.vpl3 new file mode 100644 index 0000000..4d46369 --- /dev/null +++ b/ateliers/thymio/vpl3/exercice4.vpl3 @@ -0,0 +1,250 @@ +{ + "basicBlocks": [ + "init", + "button 1", + "acc side", + "acc upside down", + "tap", + "ground mean", + "ground", + "horiz prox", + "color 8 state", + "bottom color 8 state", + "state 256", + "move", + "top color 8", + "bottom color 8", + "set state 256", + "notes" + ], + "basicMultiEvent": true, + "disabledUI": [ + "src:language", + "vpl:exportToHTML", + "vpl:flash" + ], + "program": [ + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + -1, + -1, + -1, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 8 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 4 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 6 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 3 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "acc upside down", + "disabled": false, + "locked": false, + "param": [] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "button 1", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "button 1", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [], + "disabled": false, + "locked": false + } + ], + "code": null +} \ No newline at end of file diff --git a/ateliers/thymio/vpl3/exercice4bis.vpl3 b/ateliers/thymio/vpl3/exercice4bis.vpl3 new file mode 100644 index 0000000..e263c8a --- /dev/null +++ b/ateliers/thymio/vpl3/exercice4bis.vpl3 @@ -0,0 +1,156 @@ +{ + "basicBlocks": [ + "init", + "button 1", + "acc side", + "acc upside down", + "tap", + "ground mean", + "ground", + "horiz prox", + "color 8 state", + "bottom color 8 state", + "state 256", + "timer", + "move", + "top color 8", + "bottom color 8", + "set state 256", + "notes", + "set timer" + ], + "basicMultiEvent": true, + "disabledUI": [ + "src:language", + "vpl:exportToHTML", + "vpl:flash" + ], + "program": [ + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + -1, + -1, + -1, + -1, + -1, + 0, + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 6 + ] + }, + { + "name": "set timer", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 4 + ] + }, + { + "name": "set timer", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "timer", + "disabled": false, + "locked": false, + "param": [] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [], + "disabled": false, + "locked": false + } + ], + "code": null +} \ No newline at end of file diff --git a/ateliers/thymio/vpl3/exercice5.vpl3 b/ateliers/thymio/vpl3/exercice5.vpl3 new file mode 100644 index 0000000..a50b27b --- /dev/null +++ b/ateliers/thymio/vpl3/exercice5.vpl3 @@ -0,0 +1,391 @@ +{ + "basicBlocks": [ + "init", + "button 1", + "acc side", + "acc upside down", + "tap", + "ground mean", + "ground", + "horiz prox", + "color 8 state", + "bottom color 8 state", + "state 256", + "move", + "top color 8", + "bottom color 8", + "set state 256", + "notes" + ], + "basicMultiEvent": true, + "disabledUI": [ + "src:language", + "vpl:exportToHTML", + "vpl:flash" + ], + "program": [ + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + -1, + -1, + -1, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "state 256", + "disabled": false, + "locked": false, + "param": [ + true, + false, + false, + false, + false, + false, + false, + false + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "state 256", + "disabled": false, + "locked": false, + "param": [ + true, + false, + false, + false, + false, + false, + false, + false + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 8 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 4 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "state 256", + "disabled": false, + "locked": false, + "param": [ + true, + false, + false, + false, + false, + false, + false, + false + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 2 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "horiz prox", + "disabled": false, + "locked": false, + "param": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "name": "state 256", + "disabled": false, + "locked": false, + "param": [ + true, + false, + false, + false, + false, + false, + false, + false + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 5 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 3 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "acc upside down", + "disabled": false, + "locked": false, + "param": [] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "top color 8", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "set state 256", + "disabled": false, + "locked": false, + "param": [ + false, + false, + false, + false, + false, + false, + false, + false + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "button 1", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "set state 256", + "disabled": false, + "locked": false, + "param": [ + true, + false, + false, + false, + false, + false, + false, + false + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "state 256", + "disabled": false, + "locked": false, + "param": [ + true, + false, + false, + false, + false, + false, + false, + false + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 1 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [ + { + "name": "button 1", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + }, + { + "name": "state 256", + "disabled": false, + "locked": false, + "param": [ + true, + false, + false, + false, + false, + false, + false, + false + ] + }, + { + "name": "set state 256", + "disabled": false, + "locked": false, + "param": [ + false, + false, + false, + false, + false, + false, + false, + false + ] + }, + { + "name": "move", + "disabled": false, + "locked": false, + "param": [ + 0 + ] + } + ], + "disabled": false, + "locked": false + }, + { + "blocks": [], + "disabled": false, + "locked": false + } + ], + "code": null +} \ No newline at end of file diff --git a/ateliers/thymio/vpl3/presentation.pdf b/ateliers/thymio/vpl3/presentation.pdf new file mode 100644 index 0000000..b26e46e Binary files /dev/null and b/ateliers/thymio/vpl3/presentation.pdf differ