« STIC:STIC IV (2019)/Exploration de projets CPX » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 652 : Ligne 652 :
== [[Utilisateur:Nicolas Burau|Nicolas Burau]] ==
== [[Utilisateur:Nicolas Burau|Nicolas Burau]] ==


=== [https://learn.adafruit.com/Cardboard-Robot-Inchworm Robot Inchworm] ===
; [https://learn.adafruit.com/Cardboard-Robot-Inchworm Robot Inchworm]  


==== Objectif ====
''Objectif''


Le but est de créer un robot qui rampe lentement lorsqu'on son violent se produit ou en appuyant sur un bouton spécifique.
Le but est de créer un robot qui rampe lentement lorsqu'on son violent se produit ou en appuyant sur un bouton spécifique.


==== Codage ====
'''Codage'''
 
Le robot effectue 5 mouvements lorsque l'utilisateur émet un son fort ou en appuyant sur le bouton "A" du circuit playground.
Le robot effectue 5 mouvements lorsque l'utilisateur émet un son fort ou en appuyant sur le bouton "A" du circuit playground.


Le mouvement est provoqué par la rotation du rotor d'un moteur connecté au circuit playground. Le rotor effectue un angle de plus ou moins 10° à chaque période de mouvement. En sus du mouvement, en fonction du mode d'activation, une animation lumineuse est provoqué par le circuit playground.
Le mouvement est provoqué par la rotation du rotor d'un moteur connecté au circuit playground. Le rotor effectue un angle de plus ou moins 10° à chaque période de mouvement. En sus du mouvement, en fonction du mode d'activation, une animation lumineuse est provoqué par le circuit playground.


==== Intérêt ====
''Intérêt''
 
L'intérêt principal est d'utiliser le circuit playground pour créer un objet dynamique. Le robot se doit d'être petit pour que sa masse n'entrave pas la puissance faible du moteur.
L'intérêt principal est d'utiliser le circuit playground pour créer un objet dynamique. Le robot se doit d'être petit pour que sa masse n'entrave pas la puissance faible du moteur.


Le mouvement serait plus efficace avec deux moteurs en parallèle.
Le mouvement serait plus efficace avec deux moteurs en parallèle.


=== [https://learn.adafruit.com/Boat-with-Circuit-Playground-Express/overview Bateau] ===
;[https://learn.adafruit.com/Boat-with-Circuit-Playground-Express/overview Bateau]


==== Objectif ====
''Objectif''


Le but est de créer un bateau qui se déplace lorsqu'on le lâche au-dessus d'un plan d'eau.
Le but est de créer un bateau qui se déplace lorsqu'on le lâche au-dessus d'un plan d'eau.


==== Codage ====
'''Codage'''
 
Le code tire partie de la fonction chute libre. Lorsque le bateau "tombe", le gouvernail se met en mouvement oscillatoire 20 fois d'un angle de 15° avant de s'arrêter.
Le code tire partie de la fonction chute libre. Lorsque le bateau "tombe", le gouvernail se met en mouvement oscillatoire 20 fois d'un angle de 15° avant de s'arrêter.


==== Intérêt ====
 
''Intérêt''
Semblable au robot ci-dessus, avec un mode d'activation différent.
Semblable au robot ci-dessus, avec un mode d'activation différent.


=== Inspiration pour le grand projet ===
; Inspiration pour le grand projet  
 
L'idée d'ajouter des objets dynamiques est intéressante, je n'en ai pas besoin pour mon grand projet. Mais programmer un robot est toujours cool.
L'idée d'ajouter des objets dynamiques est intéressante, je n'en ai pas besoin pour mon grand projet. Mais programmer un robot est toujours cool.


=== Comparaison entre les projets ===
; Comparaison entre les projets  
 
Les deux projets sont similaires, le navir est toutefois plus efficient dans son utilisation du rotor pour se déplacer.
Les deux projets sont similaires, le navir est toutefois plus efficient dans son utilisation du rotor pour se déplacer.



Version du 5 novembre 2019 à 09:58

Introduction

Cette page fait partie du module I du cours STIC:STIC IV (2019). L'objectif de cette page est de détailler les attendus de l'activité exploration de projets CPX (Circuit Playground Express).

Vous y trouverez :

  • les consignes pour réaliser l'activité
  • les consignes de rendus de l'activité

Cette activité nous permettra de sélectionner quelques projets intéressants pour vous aider à préparer votre grand projet.

Consignes

Pour vous familiariser avec les circuits électroniques, nous avons sélectionné une série de projets dont vous trouverez les liens ci-dessous.

Liste de projets


Tâche

Chaque étudiant-e sélectionne deux projets en indiquant votre prénom à côté des projets choisis.

Ensuite, chacun-e discute dans un court paragraphe de :

  • l'objectif : artistique, éducatif...
  • du codage : démarche, inputs/output utilisés, complexité, éléments remarquables
  • des aspects dont il est possible de s'inspirer pour les grands projets.
  • d'autres éléments intéressants que vous pouvez y voir
  • l'intérêt du projet : projet intéressant ou non

PS : n'oubliez pas de mettre un lien vers les projets choisis dans votre description.

Restitution des travaux

Chaque participant-e rédige un court paragraphe pour chaque projet de son choix (2) en copiant collant le modèle ci-dessous.

Participant Tartenpion (votre prénom)

Paragraphe 1, projet 1

Paragraphe 2, projet 2

Éventuellement, comparaison des deux projets

En conclusion, indiquez le projet le plus intéressant

Didier

Musical Glove

C'est un projet plutôt orienté art et divertissement. Il permet de produire de la musique à des tonalités différentes (selon qu'on penche la gant à gauche ou à droite) et à des tempo différents (selon qu'on le penche vers le haut ou vers le bas). Le gant va aussi produire de la lumière dans les directions correspondant au positionnement de la main.

Le code est basé sur l'impact de l'accéléromètre sur la hauteur de la note (si l'on penche le gant à gauche ou à droite), sur la vitesse du tempo (lorsqu'on penche la CPX en haut ou en bas), et sur la position des lumières correspondantes. Il comporte donc 5 groupes de blocs:

  • "on start": qui va permettre de déterminer le volume et le tempo d'origine
  • "on tilt up": il faudra allumer les 4 LEDs du haut et augmenter le tempo de 20 battements par minutes
  • "on tilt down": il faudra allumer les 6 LEDs du bas et diminuer le tempo de 20 battements par minutes
  • "on tilt left": il faudra allumer les 5 LEDs de gauche, émettre un son son (ici il est répété 3x grâce à une boucle) et augmenter la hauteur de la note de 30 point.
  • "on tilt right": il faudra allumer les 5 LEDs de droite, émettre un son et diminuer la hauteur de 30 points.

L'utilisation de l'accéléromètre combiné à des indicateurs visuels et sonores peut être intéressante pour des projets qui (par exemple) fonctionneraient autour de l'équilibre.

Je pense qu'en modifiant le code (pour que le haut et le bas n'impactent que le pitch et que la droite et la gauche ne fassent que de jouter la note par exemple) il serait possible d'en faire un instrument de musique rudimentaire.

En l'état, ce petit programme n'a pas vraiment d'intérêt. Les fonctionnalités sont un peu trop limitées.


Make it a Mouse

Ce projet a pour but d'utiliser la CPX comme une souris. Ce projet peut donc avoir des visées pédagogiques par exemple (pour expliquer le principe d'une souris par exemple).

Le code n'est pas très complexe en soi. Il faut commencer par aller dans les options "advanced" puis sélectionner l'extension "mouse". Une fois sélectionnée, de le bloc "mouse move" sera disponible. Il va nous permettre de déplacer le curseur de la souris sur l'écran. Pour faire une souris en utilisant les broches A1, A3, A4 et A7 du CPX il faut créer ces 4 blocs de condition:

  • "on pin A1 down" alors "mouse move x 10 y 0": si on appuie sur la broche A1, alors il faut déplacer le curseur à droite de 10 points
  • "on pin A3 down" alors "mouse move x -10 y 0": si la broche A3 est appuyée, alors il faut bouger le curseur de 10 points à gauche
  • "on pin A7 down" alors "mouse move x 0 y -10": si on appuie sur la broche A7, alors il faut bouger le curseur de 10 points en bas
  • "on pin A1 down" alors "mouse move x 0 y 10": si la broche A1 est appuyée, alors il faut bouger le curseur de 10 points en haut

Ce programme peut être vraiment intéressant en étant combiné avec d'autres éléments. Il pourrait par exemple servir dans le cadre d'un projet sur le handicap et/ou de la mobilité réduite.

Ce projet permet donc une interactivité de la CPX avec un ordinateur. Il nous permet ainsi de sortir de la logique trackpad/souris.

Ce projet me semble donc très intéressant


Comparaison des deux projets

Pour moi, le projet Make it a Mouse me semble avoir bien plus de potentiel que le Musical Glove. Cela dit, il serait aussi possible de les combiner (utiliser l'accéléromètre pour en faire une souris) pour en faire quelque chose d'intéressant.

Delfine

Ce projet n'a rien d'éducatif. Il s'agit d'un accessoire pour déguisement. Le but final de faire un serre-tête avec des oreilles de lapins qui clignotent.

Le code est relativement simple à comprendre. Quand on allume l'objet, le code sait qu'il y a une bande de NeoPixel avec 20 petites lumières sur la borne A1 avec une luminosité de niveau 150 et que les lumières clignoteront chacune leur tour. Ensuite, il y a une animation différente pour chaque input (pencher à gauche ou à droite ou secouer).

Si on penche à gauche, il y a toute une animation fait avec 2 boucles pour donner une impression que la lumière se déplace dans les oreilles d'un côté, puis d'un autre. La première boucle pour un sens et la seconde pour l'autre. La boucle se répète 20 fois car il y a 20 diodes. Les deux boucles se suivent, cela crée cette impression de déplacement de la lumière. Le principe est le même avec un autre animation pour si on penche à droite. Si l'on secoue, il y a une simple animation de flash et puis ça éteint.

Comme le grand projet de mon groupe va consister à créer un ours en peluche pour montrer les émotions avec des jeux de lumière, le fait de donner une impression de déplacement de la lumière avec ces boucles de code pourrait être utile pour montrer l'intensité de certaines émotions.

Il a été intéressant d'apprendre que créant une boucle très rapide qui répète plusieurs fois la même chose en avançant d'une diode, cela donne l'impression que la lumière se déplace.

Le projet n'a pas de grand intérêt, mais à un côté amusant pour ceux qui aiment créer eux-même leurs déguisements.

Ce projet a pour but d'allouer un temps de parole défini lors de discussions ou de débats. Pédagogiquement, cela pourrait être utile dans une classe lors de débats avec l’entièreté de la classe. Les élèves pourront apprendre à bien choisir leurs mots et être concis dans leur propos.

Le code est en plusieurs parties. La partie « on start » a pour but de préparer l'objet en réglant sa luminosité, mettre le compte à rebours au début avec une variable « seconds ». Il y a une animation « arc-en-ciel » pour montrer que le bâton de parole est bien allumé. Ensuite, cela remet les lumières à zéro. Avec l'input « on button A click », il ne se passe rien tant que l'objet n'est pas penché vers la droite (boucle while switch do). Une fois penché à droite, cela enclenche le compte à rebours et fait clignoter les lumières dans le sens inverse d'une montre. La petite boucle « pause » de 1000ms permet de faire le décompte au rythme des secondes. La grande boucle « forever » contient des petites boucles « while..do ». Chacune d'entre elle change la couleur de la lumière et joue une note suivant le labs de temps qu'elle représente grâce à leur condition « if... then ». La fin de la grande boucle n'est pas une petite boucle, mais une condition. Lorsque que le compte à rebours arrive à la seconde 0, alors la note est jouée plus longuement que pour les secondes 30, 15 et 5. Toutes les lumières deviennent rouges, puis s'arrêtent. L'input « on shake » permet la remise à zéro du compte à rebours, des sons et des lumières sans devoir éteindre et rallumer l'objet.

Pour notre grand projet, ce genre de code ne nous servirait pas. En revanche, si certains groupes font des projets où la vitesse de réponse ou d'exécution est un élément de l'activité ce type de code pourrait leur être utile.

Le projet est intéressant car il oblige les personnes qui l'utilisent être précis et synthétiques dans leurs propos. Cela permet de s'entraîner à s'exprimer de manière claire car il n'y a pas le temps de se répéter. Cela permet aussi aux débats de ne pas durer trop longtemps et de devenir lassant. Il peut aussi servir pour des jeux comme énumérer le plus rapidement des chose d'une catégorie.

Comparaison des projets et conclusion

Ces deux projets n'ont rien en commun car n'ont absolument pas le même objectif,d'un côté un accessoire pour déguisement et de l'autre, un bâton de parole pour permettre à tout le monde dans la pièce d'avoir le même temps de parole pour exprimer ses idées. Le bâton de parole est tout de même plus intéressant, utile et complexe que les oreilles de lapin, car son code est plus riche et a une utilité plus grande d'un point de vue pédagogique.

Mathilde

Nuage musical

Ce projet décoratif permet de réaliser une petite veilleuse musicale sous forme de nuage : lorsqu'on lance le dispositif une série de leds s'allument en bleu et une berceuse est jouée. Il nécessite l'utilisation d'une bande lumineuse à leds NeoPixel que l'on connecte sur le Circuit Playground Express.

Le codage est simple et proposé en 4 étapes :

  • coder la bande lumineuse pour qu'au démarrage toutes les leds s'allument en bleu avec une forte intensité (car elles seront ensuite partiellement masquées par le "nuage") ;
  • coder le Circuit Playground Express pour que toutes les leds s'allument en bleu ;
  • créer la musique : il s'agit de stocker les notes de la mélodie dans une variable et de régler le volume sonore ;
  • jouer la musique : la variable qui contient les notes de musique est transformée en un objet Melody que l'on peut ensuite "jouer". Ces commandes doivent être entrées directement dans le code JavaScript.

Le programme contient finalement deux boucles :

  • une boucle "on start" qui inclut l'allumage de la bande lumineuse, le réglage du volume sonore et le lancement de la musique ;
  • une boucle "forever" qui contient simplement l'allumage des LED du Circuit Playground.

Le principal intérêt réside dans la création de la mélodie. En effet, générer soi-même les notes permet de créer des mélodies plus longues et de manière plus simple que de passer par le bloc "playMelody".

Chasse aux trésors

Ce projet ludique permet de réaliser une chasse au trésor en utilisant les émetteurs et récepteurs infrarouges des Circuits Playground Express. Le dispositif présenté dispose de 4 circuits : 3 jouent le rôle de "trésor" (objets à trouver) et 1 joue le rôle de chasseur.

La programmation du "trésor" consiste à lui faire émettre en infrarouge un chiffre unique toutes les 10 secondes. On utilise pour ce faire une boucle "forever" et le bloc "infrared send number". Chaque circuit émetteur possède son propre chiffre et s'allume d'une certaine couleur à chaque émission.

La programmation du chasseur est un peu plus complexe et fait intervenir 3 boucles différentes :

  • une boucle "on start" permet de définir pour chaque "circuit-trésor" une variable contenant son chiffre identifiant et une variable de recherche initialisée à "faux" ;
  • une boucle de "réception infrarouge" qui permet de comparer le chiffre reçu aux identifiants des "circuits-trésors" par l'intermédiaire de 3 boucles de test : lorsqu'une correspondance est trouvée, la variable de recherche du circuit concerné passe à "vrai" et le circuit-récepteur s'anime aux couleurs du "trésor".
  • une boucle "forever" qui permet de tester en continu si les 3 trésors ont été trouvés. Lorsque les 3 variables de recherche sont passées à "vrai", c'est la fête : petite musique et animation colorée du circuit émetteur félicitent le chasseur.

L'intérêt de ce dispositif est la possibilité de communiquer par infrarouge ce qui peut offrir des possibilités de liaisons sans fil intéressantes.

Rachel

Projet 1

Touch tone est un mini synthétiseur. Son objectif principal est artistique car il permet de jouer des mélodies. Sa conception est interdisciplinaire. En effet, en plus de la création du code, elle comprend l'utilisation d'une découpeuse laser pour créer le clavier sensoriel ainsi que l'impression 3D pour customiser le Adafruit Circuit Playground Express (CPX).

Le code utilise les blocs INPUT, LIGHT, MUSIC, LOOPS et CONTROL (fonctions avancées). Il peut se révéler compliqué, d'autant plus si les connaissances musicales sont faibles. Les évènements sont déclenchés par les capteurs sensoriels (pin A1-A7): lorsqu'un capteur est "touché" (down), une séquence est déclenchée; lorsqu'il est relaché (up), la séquence s'arrête. Le bouton A est également utilisé. Il y a donc plusieurs évènements, chacun correspondant à une touche sensorielle ou au bouton A. Afin que le synthétiseur puisse jouer un son et avoir une animation lumière simultanément, la fonction "run in parallel" (bloc CONTROL) est utilisée. Les loops sont utilisés pour répéter de courtes séquences de sons (arpèges ou petites mélodies).

Ce projet est intéressant car son approche est interdisciplinaire et utilise différentes technologies. Il est inspirant pour le grand projet car il propose une manière de customiser le CPX. Ceci pourrait être utile afin d'intégrer le CPX de la manière la plus adaptée possible à l'utilisateur. De plus, l'utilisation purement musicale du clavier pourrait être détournée dans un but pédagogique en créant par exemple un moyen de communiquer entre un enseignant et un élève en difficulté (TSA, dys, etc.).

Projet 2

Cup lamp est une lampe pouvant s'allumer de différentes couleurs grâce aux touches sensorielles du CPX. L'objectif est de créer un outil utilisable dans le quotidien. Sa création fait appel à des capacités créatives et moteurs. Le projet utilise du ruban de cuivre afin d'activer les touches sensorielles (pin A1-A7)

Le code est simple. Il utilise les blocs INPUT, LIGHT et LOOP. Six évènements sont déclenchés en cliquant sur les six scotchs de cuivre différents. Il faut ici utiliser un Input "on PinX click". Chaque évènement contient une couleur avec la fonction "set all pixel to". Pour finir, un LOOP "On Start" définit la luminosité des pixels à l'allumage du CPX.

L'intérêt de ce produit repose sur sa production rapide ainsi que son utilisabilité dans le quotidien. De plus, la simplicité du code permet une exploration dans le codage afin de le modifier à son envie. Ce travail est intéressant pour le grand projet de part l'utilisation du ruban en cuivre. Grâce à celui-ci, il est possible d'éloigner le CPX de l'endroit où il est activé du moment que le ruban est assez long.

Comparaison

Ces deux projets sont identiques dans leur manière d'activer les évènements par les touches sensorielles. En effet, ils utilisent la conductibilité du cuivre pour créer une interface qui réagit au touché. L'utilisation est par contre différente. Touch tone est proposé comme un objet artistique et/ou un jouet alors que la Cup Lamp a une fonction utile dans le quotidien puisqu'il s'agit d'une lampe.

Pour le grand projet, je pense que Touch Tone est plus intéressant car il ouvre des perspectives dans la combinaison des technologies. D'un point de vue personnel, Cup Lamp est un projet qui me parle car je pourrais facilement l'intégrer dans une séquence pédagogique en milieu scolaire. Sa conception est pédagogiquement intéressante car les enfants apprennent à coder. Quant à Touch Tone, il serait pertinent détourné comme moyen de communication par exemple avec des élèves présentant des troubles autistiques.


Martina

Make it shake

Objectif

Make it Shake est un projet permettant de détecter le mouvement et l’orientation, grâce à un accéléromètre. Ce projet peut être utilisé pour des projets artistiques (créer un objet qui change de couleur quand on le bouge par exemple), ludique (comme une jupe qui scintille ), et éducatifs. Bref, il sera utile pour tout projet nécessitant une détection ou une mesure du mouvement.

Codage

Make it Shake propose de coder l'accéléromètre (accelerometer), ou plutôt, les accéléromètres permettant de calculer l’accélération linéaire dans les trois axes x, y et z, intégrés dans le circuit Adafruit. Ce détecteur pourra calculer les changements de position lorsqu’on le bouge.

Le codage nécessite deux blocks.

  1. Le premier block « on start » consiste à paramétrer la sensibilité de l’accéléromètre grâce au block "set accelerometer range » (catégorie « input »). Pour un mouvement simple, 1g suffit; pour un mouvement plus violent, on peut aller de 2 à 8g.
  2. Dans le second block « forever », on placera les blocks « set acceleration » ou « set rotation » pour paramétrer ce que l’accéléromètre soit calculer sur chaque axe. Le module « set acceleration » permet également de mesurer la force (strenght) correspondant à l’accélération dans les trois axes. Le module « set rotation » permet de mesurer un « pitch » (de haut en bas) et un « roll » (de droite à gauche).

Il s’agira ensuite d’ajouter la réaction de l’Adafruit que l’on souhaite.

Inspiration pour les grands projets

Ce petit projet pourrait être intégré dans tout grand projet nécessitant une détection de mouvements. Par exemple, pour un projet sur la motricité, où un mouvement déclencherait un jeu de lumières ou des sons.

Intérêt du projet

Le projet permet d’exploiter l’accéléromètre déjà installé dans le Circuit Playground Express dont nous disposons, et les explications sont d’une grande aide pour comprendre comment cet accéléromètre fonctionne et comment l’utiliser.

Adabot Operation Game

Objectif

Adabot Operation Game permet d’utiliser le Circuit Playground Express dans un jeu dont le but est d’enlever les pièces d’un robot. Ce projet peut être utilisé pour des objectifs éducatifs et ludiques, tout comme le jeu Docteur Maboul dont il est inspiré.

Codage

Le codage est relativement simple, et se fait en deux parties (chaque touche « pin » correspond à un élément à enlever du robot):

  1. Dans un premier temps, il faudra paramétrer le seuil de chaque touche « pin » à 1000, et mettre tout les pixels en blanc, dans un block « in start ».
  2. Dans un second temps, il s’agira de paramétrer chaque touche « pin » quand elle est activée (on pin A1 down) comme suit: d’abord les pixels doivent devenir rouges, et un son est joué pour un battement, puis les lumières prennent la couleur de l’élément que l’on a souhaité enlever du robot.

Mais pour créer un Adabot, il ne suffira pas de coder notre circuit Adafruit. Une partie construction est également nécessaire: l’image du robot est imprimée et collée sur le couvercle d’une boîte en carton, et des trous aux emplacements des pièces à enlever et de l’Adafruit doivent être créer. Ensuite, il faudra ajouter un morceau de ruban de cuivre autour de chaque emplacement, et ajouter un morceau derrière le robot pour pouvoir ensuite connecter ces rubans de cuivre aux touches tactiles (les trous tout autour) du circuit Adafruit par des pinces crocodile.

Inspiration pour les grands projets

Le même codage et la façon d’utiliser des pinces pour connecter des rubans de cuivre au circuit Adafruit pourront être utiles pour les grands projets nécessitant des repères tactiles.

Intérêt du projet

Le projet est simple mais intéressant, il recrée un jeu déjà bien connu mais permet de comprendre comment ajouter des liens à des éléments externes à au circuit Adafruit.

Comparaison entre les deux projets

Le projet le plus intéressant est, selon moi, Make it Shake, car il sera utile dans tout grand projet incluant une détection du mouvement.

Sandra

Garnet's Gauntlets

Objectifs

Ce projet permet de développer la créativité et l'imagination des enfants en programmant et bricolant un gant de super-héros.

Codage

Le code est assez simple et répétitif pour être programmé par des enfants. il laisse aussi une liberté de choix si l'enfant n'est pas très à l'aide avec les les temps musicaux. Il peut essayer et recommencer jusqu'à ce que le résultat lui plaise. Ce code est composé de deux parties.

  • La première partie code le CPX pour qu’à l’allumage la luminosité soit modérée et de couleur jaune, le tout est contenu dans le Loop on start . Un bloc Music qui code le tempo est aussi présent. Cela permettra de coder le son dans la deuxième partie.
  • La deuxième partie code la lumière et le son lorsqu’un coup de poing est donné. L'input est donné par l’accéléromètre. Ce deuxième programme fait passer les pixels de jaune à blanc et double, plus ou moins, la luminosité grâce à un bloc lumière. Après le changement au niveau des pixels, un son est programmé. Un des blocs Music code le son: sa durée et la hauteur de la note à lequel il est joué. Il est répété 4x, pour permettre de changer les paramètres et ainsi de créer sa propre mélodie. Pour terminer, après les 4 blocs de son, le programme remet la lumière à 120 et les pixels sur jaune, comme c’était le cas avant le coup de poing avec les mêmes blocs light utilisés dans la première partie.

Inspiration pour les grands projets

L’accéléromètre pourrait être utiliser dans un grand projet. Le changement de luminosité et de son sont aussi intéressants, car ils peuvent accompagner le passage entre deux états ou tout autre élément qui a besoin d’être mis en évidence.

Intérêt du projet

Ce projet est intéressant car il permet à un enfant de programmer en ayant un but concret : arriver à un objet final avec lequel il peut jouer.

Meeting tme keeper stick

Objectifs

L’objectif est de s’assurer que chaque intervenant lors d’un meeting respecte son temps de parole et ainsi permettre à chacun de s’exprimer. Ici l'objectif n'est pas de coder, mais de créer un objet fonctionnel grâce au code.

Codage

Il y a 4 éléments qui sont codés séparément.

  • un élément se déclenche à l’allumage du CPX grâce au Loop on start, pour indiquer que le bâton de parole est prêt à être utilisé. Il montre une brève animation lumineuse, met le volume au niveau souhaité et prépare le compte à rebours.
  • Le compte à rebours se déclenche en utilisant les Input " on button A click" et "while switch right" qui inclus dans un loops. Le loop "while" permet de mettre le décompte en pause si le bâton est incliné à gauche. Il repart s'il est à nouveau incliné à droite.
  • Les éléments qui sont toujours en train de fonctionner en arrière plan son codé dans un loop "forever". Ils permettent de voir le compte à rebours (lumières) et de savoir où il en est (changement de couleur et son après un certain nombre de secondes). La fin du compte à retour est signalée par une lumière et un son continu. Il y a une condition "if" (Logic), qui permet d’interrompre l’annonce de la fin du compte à rebours (son-lumière) en secouant le bâton.
  • Pour recommencer le compte à rebours, l'Input "on shake" est utilisé. Le son s'arrête, les lumière s'éteignent et le compte à retours est mis à 60 secondes, prêt à repartir.

Inspiration pour les grands projets

La manière d'utiliser le compte à rebours est intéressante, car il est en plusieurs parties qui permettent de se situer par rapport au temps qui est passé.

Intérêt du projet

Ce projet m’intéresse beaucoup, car j’assiste souvent à des réunions qui s’éternisent car les intervenants ne savent pas s’exprimer de manière concise. Pour qu’il soit vraiment utilisable, il faudrait pouvoir allonger le compte à rebours jusqu’à 5minutes. 1 minute est un temps vraiment trop court pour être utilisé en réunion. Peut-être qu'en y ajoutant des boucles cela serait réalisable.

Comparaison entre les deux projets

On peut constater que ce projets utilisent les mêmes blocs (sons, lumières, shake et remise à zéro) à des fins très différentes.

Le premier projet a un fort intérêt pédagogique puisqu’il permet d'apprendre à coder et que le jouet peut évoluer selon l'imagination de l'enfant. Quant au second, son intérêt réside dans son utilisation et non dans sa conception puisque les participants ne vont pas coder le bâton de parole, mais uniquement l'utiliser.

Vu la complexité du code, le projet du Time keeper stick est plus intéressant, car il montre plus de combinaisons d'élément que le Garnet's gauntlets.

Aurélie

Fabric Friend

Objectif

L'objectif de ce dispositif semble plutôt être artistique dans le sens où il n'y a pas de visée pédagogique définie.

Codage

Le dispositif est intégré à une peluche. Il est disposé sur la face avant et les piles sont insérées à l'intérieur.

L'utilisateur pose des questions à l'appareil et le secoue afin d'obtenir une réponse variable du dispositif. Il peut s'agit de sons et/ou de jeux de lumières.

Une signification est attribuée en fonction de la réponse donnée.

Intérêt du projet

L'intégration du dispositif dans un objet (peluche) est intéressante. En revanche, le projet en lui-même est moyennement intéressant dans le sens où il ne propose pas d'activité pédagogique. La question posée et la réponse donnée est totalement aléatoire.

Starflowers

Objectif

L'objectif de ce dispositif est artistique. Il s'agit d'une guirlande lumineuse qui s'allume automatiquement lorsqu'il fait sombre.

Codage

Matériel nécessaire:

  • 1 x Circuit Playground Express
  • 1 x Neopixel Strand
  • 1 x 2 pin cable
  • 1 x 3 pin cable
  • 1 x Screw Terminal
  • 1 x Power Supply
  • 1 x 1N4001 Diode

Pour la réalisation des fleurs:

  • Imprimante 3D
  • Fer à souder ou Pince et & pinces alligator
  • Pistolet à colle
  • Petit tournevis


Codification avec:

Bright
Dark
Strip


Intérêt du projet

Le rendu final est joli. L'intérêt du projet est la création de la variation de couleurs sous forme de vague tout au long de la guirlande.


Comparaison des deux projets

Les deux projets analysés ont une visée artistique et ne sont paramétrées que sur un seul input. Pour Fabric Friend qui propose de multiples réponses une fois le dispositif agité. StarFlower s'active lorsque la luminosité baisse.

Rosaria

Watch timer

Le projet « Watch Timer » permet de paramétrer le circuit Playground Express pour qu’il fonctionne comme un minuteur. L’exemple présenté à un objectif ludique, qu’il pourrait facilement être adapté dans des autres contextes.

Pour créer le minuteur, on programme le circuit pour :

  • lui dire combien de temps le compte à rebours doit durer et
  • lui faire exécuter le compte à rebours.

Une alarme retentit lorsque le compteur arrive à « zéro ».

En premier (« on start »), on crée la variable « temps » et on lui donne comme valeur initiale 1. Dans la même boucle on définit la position du photon à 0 sur le circuit.

L’étape suivante consiste à paramétrer le délai pour le compte à rebours. On définit l’action qui déclenche le compte à rebours grâce à une boucle « input » (dans l’exemple : quand on clique sur le bouton A). Lorsque cette action ce produit la variable temps doit être incrémenté d’une unité et le photon doit également être déplacé d’une position (le photon suivante sur le circuit s’allume). Etant le nombre de pixels sur le circuit limité à 10, il faut introduire une boucle de logique « if – then» à l’intérieur de la boucle d’input : lorsque (if) la variable temps est inferieur à 10, (then) elle est incrémenté d’une unité (et le photon se déplace d’une position sur le circuit). Quand elle est majeure ou égale de 10, aucun temps n’est ajouté si on clique sur le bouton.

La troisième étape consiste à coder le compte à rebours. En premier, on choisit l’action qui déclenche le compte à rebours (dans l’exemple : un son fort) et le comportement du photon : il se déplace vers l’arrière (« photon flip ») et il efface progressivement les pixels (« photon erase »). Tout cela un nombre de fois qui correspondent à la variable « temps » : on introduit donc une boucle « repeat » qui déplace le photon d’une position à la fois, et on ajoute également une pause entre chaque déplacement. Un son est également exécuté à chaque déplacement du photon.

Dans la dernière étape on paramètre le comportement du circuit une fois le temps écoulé. Pour ce faire on ajoute une boucle « repeat » après la première et on ajoute du son et une animation pour signaler la fin du compte à rebours.

Treasure hunt

Le projet Treasure Hunt (chasse au trésor) de l'exemple a un objectif essentiellement ludique. Grâce aux récepteurs et émetteurs de rayonnement infrarouge déjà présents sur le Circuit Playground Express, il est possible de réaliser une véritable chasse au trésor. Il suffit d’avoir un circuit qui ait le rôle de « chercheur » et un ou plusieurs circuits qui aient le rôle de « trésor ». Dans l’exemple présenté, 3 circuits sont utilisés comme trésors.

Le système se base sur l’envoi et la réception de rayonnement infrarouge, respectivement de la part d'un circuit chercheur et des circuits trésors. Les trésors sont programmés pour émettre des signaux infrarouges après un certain intervalle de temps (dans l’exemple : toutes les 10 secondes). Pour faire cela, il suffit d’utiliser une boucle « forever » et le un bloc « infrared send number » (qui se trouve sous « network »). Le signal infrarouge est émis sous forme de chiffre, et un chiffre différent est attribué à chaque circuit trésor. Le circuit est également programmé pour s’allumer d’une couleur préétablie à chaque signal émis.

Pour programmer le chercheur il faut d’abord paramétrer les trésors pour que le circuit chercheur puisse les reconnaître. Il s’agit de définir, dans une boucle « on start », les variables associées à chaque trésor (les chiffres liés à chaque signal infrarouge) et les variables liées à leur état (trouvés vs pas trouvés). La valeur initiale est « false » car les trésors n’ont pas encore été trouvés.

La deuxième étape consiste à paramétrer le circuit chercheur pour qu’il puisse « écouter » les signaux émis par les trésors. Pour faire cela on définit les conditions : à chaque fois que le chercheur détecte le chiffre correspondent à un des trésors, la variable passe de « faux » à « vrai » et le circuit s’allume dans le couleur correspondent au trésor trouvé.

La dernière étape consiste à paramétrer le circuit avec une boucle « forever » qui vérifie constamment l’état des variables et lorsque les trois sont « vrai » le circuit émet un son et une animation prédéfinis.

Comparaison des deux projets

Les deux projets sont présentés avec un objectif ludique mais ils sont très facilement adaptables à des autres contextes. Les deux sont plutôt faciles à réaliser, puisque ils utilisent des boucles « classiques » et les actions sont intuitives.

Intérêt du projet

Le plus intéressant des deux projets est pour moi le Treasure Hunt. Il m’a permis d’exploiter (même si en manière basique) la potentialité du récepteur/émetteur d’infrarouge déjà présent sur le circuit. Cet élément est très intéressant pour le projet final.

Kim

Make it shake

Objectif

Le projet Make it shake consiste à utiliser l’accéléromètre du Circuit Playground express pour détecter le mouvement et l’orientation. Il peut être utilisé à des fins éducatives (enseigner le nom des directions dans une nouvelle langue), artistiques (générer de la musique par un mouvement) ou ludiques (créer un jeu).

Codage

Le principe de Make it Shake repose sur le codage de l’accéléromètre compris dans le Circuit Playground express. L’accéléromètre permet de calculer l’accélération linéaire comprises dans les trois axes x,y,z. Il y a deux blocs à mobiliser sur Makecode Blocs si l’on désire solliciter l’accéléromètre du Circuit. Le premier, « on start » sert à régler sa sensibilité au mouvement détecté. Le second, « forever », comprend les blocs « set acceleration » ( qui permet de mesurer la force) et « set rotation » (permettant de mesurer le mouvement de haut en bas et de droite à gauche). Grâce à ces deux blocs, il est possible de régler ce que l’accéléromètre doit calculer sur chaque axe.

Inspiration pour les grands projets

Ce projet pourra être utile pour notre grand projet : en secouant la peluche, l’enfant pourrait changer la couleur de son jouet, ou déclencher un son particulier.

Intérêt du projet

Le projet est intéressant et permet de comprendre davantage comme fonctionnent l’accéléromètre du circuit.

Bunny Ears

Objectif

L’objectif de ce projet est de créer des oreilles de lapins pouvant servir d’accessoire pour un déguisement.

Codage

Le circuit Adafruit s’introduit dans l’accessoire. Lorsqu’on l’allume, le code reconnaît le comportement lumineux habituelle (les 20 lumières sur la borne A1 de niveau 150 et le clignotement des lumières tour à tour. Il y a ensuite des codes différents pour les différents inputs , «  tilt left » (pencher à gauche) et « tilt right » (pencher à droite), mais qui consistent tous deux à créer une sorte d’illusion d’optique . Pour les deux inputs, les blocs internes sont organisés de manière à donner une impression de mouvement pour la lumière. L’animation consiste à jouer avec 2 boucles qui se suivent pour faire croire que la lumière se déplace d’une oreille à une autre. Comme il y a 20 diodes, la boucle se répète 20 fois. Ce fonctionnement vaut pour les deux mouvements de tête ; « tilt right » et « tilt left ».

Inspiration pour les grands projets

Le déplacement des lumières peut être intéressant pour notre grand projet. Il pourrait connoter une différence au niveau de l’intensité des émotions ressenties.

Intérêt du projet

Le projet en lui-même ne peut pas vraiment être qualifié de pédagogique, mais le principe d’interaction entre les lumières et les mouvements peut être exploité.

Comparaison entre les deux projets


Les deux projets peuvent être utilisés pour enrichir les émotions de notre peluche animée, élément principal de notre grand projet. Le principe du shake est utilisé dans celui des bunny ears.

Sandrine

Soil Moisture Sensor

Le soil moisture sensor est un projet orienté vers le jardinage d’intérieur. Il émet une lumière rouge quand le sol est trop sec et permet ainsi d’arroser la plante au bon moment. Le code peut être réalisé dans la partie nommée « advanced » du programme MakeCode. Là deux nouvelles variables sont créées : « dry_value » et « soil_reading ». La variable « dry value » permet de créer une fonction pour définir la sécheresse maximale autorisée de la terre. La variable « soil reading » permet de créer une fonction qui récolte les données de la terre de la plante. Il comporte donc deux blocs :

  • Le premier bloc nommé « on start » pour définir la sécheresse maximale autorisée.
  • Le deuxième bloc nommé « forever » pour comparer infiniment les données obtenues par la terre (soil_reading) à la valeur de sécheresse définie (dry_value). Quand celle-ci est inférieur à la valeur définie avec « dry_value » une lumière rouge s’illumine.

Ce programme a de l’intérêt pour les personnes n’ayant pas la main verte. Il les aide à garder la plante en vie plus longtemps.


Bike Light

Le projet « bike light » est un programme pour l’éclairage à l’arrière du vélo. Son but est de rendre plus visible le vélo aux autres utilisateurs de la route.

Le code est une animation de lampes LED pour donner l’impression d’un cercle en mouvement.

Pour le coder en javascript, la librairie est tout d’abord inclue. Ensuite, une définition des variables est établie par le programmeur : la couleur est donnée en hexadécimal ainsi que la vitesse en ms à laquelle les LED doivent s’allumer. Pour initialiser le système, une fonction de la librairie est « appelée ». La luminosité des LED est réglée au maximum. Une boucle infinie est mise en place, elle contient une deuxième boucle allant jusqu’à 10 (car 10 LED) qui sont appelées pixels. A chaque passage dans la boucle, toutes les LED sont éteintes et la LED suivante est allumée avec la couleur définie au début du programme comme pour le temps d’attente entre les différents allumages des LED. Quand les 10 LED ont été allumées, la boucle fait recommencer le processus.

Ce programme peut intéresser toutes personnes possédant un vélo qui aimeraient obtenir des effets de lumières individualisés différent du standard trouvé en magasin.

Comparaison des deux projets et conclusion

Les deux projets utilisent la fonction « boucle » pour assurer soit un contrôle continu de l’humidité ou pour permettre aux LED de clignoter en continu. Ils communiquent en utilisant les LED. L’objectif n’est pas du tout le même. Le projet de « soil mesure sensor » est plus intéressant parce qu’il utilise une fonction supplémentaire liée à un capteur d’humidité.

Loïc

Clip Lights

L’objectif de ce projet est que le système répond à un son (applaudissement, bruit de voix) par les leds qui s’allument

Le code est comme cela :

  • Mettre en place une action qui commence quand on entend un son « On loud sound ».              
  • A l’intérieur de cette action, on met la luminosité à 255 ensuite on définit la couleur, on démarre une pause et on remet la couleur sur noir.

J’ai modifié la luminosité à 12 pour que le blanc ne fasse pas trop mal aux yeux.

L’idée intéressante est celle de créer une action à partir d’une réception d’un son.

Ce projet est un peu intéressant pour comprendre un fonctionnement de base, mais sans plus.


Coding the Dandelion

L’objectif de ce projet est de faire réagir l’Adafruit quand on lui souffle dessus. (En réalité c’est le bruit qui le fait réagir)

Le code est comme cela : Création d’une boucle infinie (forever) qui contient un block qui mets la luminosité quand un son est perçu et un qui choisit la couleur.

J’ai dû modifier le code en enlevant 200 du niveau de son de base, vu que sinon juste le bruit d’ambiance faisait réagir l’Adafruit.

L’idée est intéressante pour savoir comment modifier une action par rapport à une réception de son.

Ce projet est un peu intéressant pour comprendre un fonctionnement de base, mais sans plus.

Comparaison des deux projets et conclusion

Les deux projets se base sur une réception de son. Le projet Clap Lights permet de créer une séquence d’action quand un son est perçu et le projet « Coding the Dandelion » permet d’activer une action quand un son perçu.

Les deux projets sont autant intéressants, ils réalisent une même notion de l’Adafruit mais en montrant deux possibilités d’exécution de la gestion de la réception des sons

J.-V. Aellen (discussion)

Siren

Ce projet a pour objectif de reproduire un système de "feu bleu avec avertisseur deux sons alternés". Ce projet est, selon moi, purement ludique. Suivant l'environnement dans lequel il est implémenté, il peut toutefois prendre un caractère artistique. Par exemple, il agrémenterait parfaitement une voiture de pompier réalisée en Lego ou un jouet pour enfant comme une voiture à pédales.

Au sujet du code, un seul input est paramétré. Il s'agit du "on shake", c'est lorsque le CPX est secoué que celui-ci produit un output. Au niveau de l'output, le CPX est paramétré pour exécuter 4 répétitions d'affichage de couleurs par le biais des Neopixels. L'alternance est programmée entre l'affichage de la couleur bleue puis de la couleur rouge. Avant ces 4 répétitions d'affichage, le son "Siren" est joué. La complexité de ce code est nulle. Il est très facilement reproductible et sa compréhension ne nécessite pas un niveau de connaissances préalables élevé.

L'élément remarquable est qu'il n'y a pas de données, dans les éléments de programmation, au sujet du temps d'affichage des Neopixels. L'alternance temporelle est vraisemblablement préprogrammée.

En ce qui concerne l’inspiration "pour les grands projets", je pense que l'affichage d'un output avec des "LED" est intéressant puisqu'il permet d'informer l'utilisateur sur la réception d'un input, l'exécution d'une fonction ou tout autre aspect du fonctionnement général du CPX.

Ce projets comporte des éléments intéressants même si ceux-ci sont assez relatifs.

Question box

Ce projet, la boite à question, est résolument tourné vers l'éducatif. Il peut être définit comme "un QCM tangible". L'utilisateur, en appuyant sur un des quatre boutons présentés, peut interagir avec le CPX. Suivant la programmation, un ou plusieurs de ces boutons commandent la mise en marche d'un servomoteur et la diffusion d'une musique, les autres diffusent une musique différente.

Les inputs principaux sont au nombre de deux (trois différents au total) :

  • l'appui sur une bande de cuivre qui joue le rôle de bouton ;
  • la production d'un son fort.

En ce qui concerne les outputs principaux, ils sont au nombre de trois (huit différents au total) :

  • La diffusion de lumière (show ring red, sparkle et rainbow) ;
  • la diffusion de son (wawawawaa, magic wand et power up) ;
  • la commande du servomoteur (ouverture de la boite, fermeture de la boite).

Pour la programmation, les évènement d'appui sur les bandes de cuivre sont programmés de deux façons :

  • Soit l'évènement est programmé comme une réponse juste, alors la musique "magic wand" est jouée par le buzzer actif. Les LED clignotent alternativement avec une lumière blanche (animation "sparkle"). Ensuite, le son "power up" est joué et, directement après, l'animation des LED "rainbow" est exécutée. Après cela, la boite est ouverte par l'envoi d'un signal au servomoteur. Celui-ci est configuré pour effectuer une rotation à 90°.
  • Soit l'évènement est programmé pour une réponse fausse, alors la musique "wawawawaa" est jouée puis l'animation "show ring red" affiche la couleur rouge sur les LED.

Finalement, un bruit fort remet le système à zéro et commande la position 0° au servomoteur.

Même si la complexité du code est légèrement supérieure à celle de Siren, la réalisation est grandement facilitée par l'utilisation d'une bibliothèque pour la commande du servomoteur.

Les éléments intéressants, en plus du code en lui-même, sont l'utilisation de matériel autre pour la réalisation du dispositif. l'utilisation du scotch en cuivre permet de faciliter l'appui sur les boutons et cela peut être utile dans le cadre de notre "grand projet". La diffusion de la lumière est optimisée grâce au tapissage de la boite avec des feuilles d'aluminium. La réalisation de la boite est relativement simple et peut être améliorée notamment avec une impression des pièces en 3d.

Conclusion

Pour moi, les deux projets sont intéressants même si la boite à question suscite d'avantage mon intérêt. En effet, il utilise du matériel supplémentaire et est intégré dans un design plus aboutit avec la construction de cette boite en carton. Sa vocation, possiblement éducative, est également un avantage.

Fatou-Maty

Reaction game

Un jeu pour tester ses réflexes contre un autre joueur. L'objectif est d'être la plus rapide a changer la couleur du CPX de l'adversaire en appuyant plus vite qu'elle sur les boutons de son propre CPX. D'après la page, il faut 1h de construction pour créer une sorte de gant et 10 minutes de codage pour terminer le projet. C'est donc surtout un projet artistique de construction avec un peu d'interactivité.

J'ai choisi ce projet car j'ai déjà construit et codé le projet Reaction time pour micro:bit et les deux projet paraissait similaire. Contrairement à la page projet de Reaction time (sur micro:bit) celle de Reaction! (sur CPX) ne contient pas de vidéo ou de texte qui explique comment jouer. J'ai trouvé difficile de comprendre l'objectif du jeu et, doutant fortement de sa jouabilité, j'ai choisi de ne pas construire le gant.

Le code est très simple. Il introduit l'envoi et la reception de chiffre par infrared, l'utlisation des boutons, l'affiche de lumiere et les valeurs RGB. Il est assez simple mais n'explique pas comment une valeur RGB tel que (255, 255, 0) est convertit en un nombre par infrared ou si le CPX envoie le nombre infrared a tout les CPX aux alentours.

Il me semble que le seul interessant pour les grands projets soit l'utilisation de l'infrared. Je recommanderai par contre le projet sur micro:bit pour une introduction a l'utilisation des connections PIN grace a la conductivité.

Question box

Un jeu qui consiste a construire une boîte physique pour un QCM à question unique. Si l'on répond mal à la question, la boite emet un buzz. Si l'on repond correctement celle-ci s'ouvre, joue une petite musique triumphante et allume des lumieres. D'après la page du projet il faut environ 2 heures pour fabriquer et coder le boitier.

Il faut d'abord construire le boitier avec du carton, connecter le CPX a un servo a l'aide de pinces crocodiles puis connecter plusieurs pin a des rubans a base de feuilles de cuivre. Chaque pin connectee represent une reponse possible a la question. Le servo lui est ensuite attache au couvercle du boitier. Lorsqu'on active une des pins conductive en touchant un ruban le boitier emet un son, allume des LED et/ou declenche le servo qui ouvre le couvercle.

Ce projet est interessant car il est artistique mais egalement educatif. On apprend a utiliser plusiers types de senseurs et ouputs: lumiere, son, extensions (servo). C'est un bon example de ce qui est possible en utilisant une extension (servo) et du materiel conductif et pourra surement inspirer certains pour leur grand projet.

Conclusion

Reaction! n'est pas un bon projet d'apprentissage. Le code et le jeu sont mal expliqués et je doute fortement qu'il soit ludique. Question box est par contre interessant et faut la peine d'etre construit car le processus illustrera surement les problematiques de vie reele rencontre avec la conductivite (est-ce que les 'clicks' sont toujours reconnues) ou d'utilisation de servo (que ce passe t'il si l'on ne calibre pas celui-ci avant d'y attacher le bras?)

Maïté

Projet 1

Egg game n'a pas d'objectif éducatif mais ludique. En effet, il s'agit d'un jeu reprenant dans les grandes lignes les règles de la course à l'œuf où les joueurs doivent finir une course le plus rapidement possible en se déplaçant avec un œuf posé sur cuillère tenue d'une main sans le faire tomber bien entendu. En guise d'œuf, le joueur tient à plat le Circuit Playground Express qui sonne la fin du jeu si ses déplacements horizontaux sont trop brusques – alors que sa chute, n'a ici pas d'importance.

Le jeu est activé par les boutons A et B. Le bouton A fait démarrer le jeu et après le signal de départ, signalé par 3 déplacements de LED et 3 tonalités basses suivie d'une aigüe; la course se poursuit tant que le circuit ne détecte pas d'accélération en X et Y >= à 256mg (ou que la fréquence la plus aigüe ait été jouée). En output, les LED clignotent en photon forward de 1 et un son devenant de plus en plus aigu est joué. Lorsque la course est terminée, le son "power down" est joué. Le bouton B rejoue la dernière fréquence jouée avant l'interruption de la course. Ainsi, si plusieurs personnes jouent, en appuyant sur le bouton B, la personne ayant la fréquence la plus élevée sera la personne ayant tenu le plus longtemps sans interrompre la course. Le projet est composé de 2 procédures événements boutons alors que la variable score est mise à 0 dans le code principal. Pour récapituler, en input on trouve les boutons A et B ainsi que le détecteurs d'accélération et en output, les LED et le son.

Le projet est intéressant car il utilise les capteurs d'accélérations horizontaux que je ne connaissais pas et qui pourront servir dans le grand projet. C'est aussi un bon exemple pour l'utilisation d'une variable externe.

Projet 2

Make-it-sound a pour objectif pédagogique de faire découvrir le tempo de la musique.

Lorsque le projet est démarré, le volume et tempo du son en sortie sont initialisés. En input, l'utilisateur peut agir sur les boutons A, B et le switch. En output, une mélodie est jouée. Lorsque le switch est bougé à gauche, une mélodie de 12 notes est jouée. Un click sur le bouton A permet de réduire le tempo de la mélodie de 10 bpm alors qu'un click sur le bouton B permet d'en augmenter son tempo de 10 bpm. Les boutons sont clickables pendant ou avant la mélodie. Le code est simple: le projet est composé de 3 procédures: 2 événements boutons et 1 événement switch (left) alors que le volume et le tempo sont initialisés dans le code principal.

Le projet est intéressant: il utilise le switch et montre comment jouer avec des notes pour en faire des mélodies plus ou moins rapides, ce qui bien sûr pourra être adapté et réutilisé dans le grand projet. Par contre, je ne connais pas la notation anglo-saxonne des notes, ce qui rend le déchiffrage et la composition de la musique difficile…

Comparaison

Ces deux projets ne sont pas tellement comparables si ce n'est qu'ils utilisent les deux le paramètre beat de la musique ainsi que les boutons A et B en input. Et bien qu'étant tous les deux intéressants le projet Egg game intégrant son et lumière paraît plus complet que Make-it-sound ne comprenant que du son.

Simon

Siren

Ce projet propose de reproduire assez facilement une sirène d’alerte (genre gyrophare). Le but me semble plutôt ludique dans le système présenté car je ne perçois pas de réelle plus-value pédagogique.

En ce qui concerne les étapes du codage présenté, on est sur 7 étapes simples et réalisables dans l’espace de travail Make Code d’Adafruit.

L’unique entrée (ou input) à placer est celle de la secousse du dispositif. En secouant l’objet, l’effet de sortie produit (output) est l’affichage de 2 couleurs alternées bleu et rouge pendant 4 répétitions. De plus, lors de la secousse, un son de sirène est produit.

Ce code n’est pas compliqué à mettre en place car vraiment facile à reproduire et ne nécessite pas de connaissances avancées au préalable.

Ce projet, s’il est combiné avec d’autres, peut amener un facteur intéressant d’alerte visuelle et sonore. En informant l’utilisateur par les LED et le son lors de « l’input », cela permet de savoir que le dispositif fonctionne bien et que l’événement souhaité et programmé est correct.

Make it a Mouse

Ce projet propose l’émulation d’une souris d’ordinateur grâce au dispositif Circuit Playground Express (CPX). L’objectif est de pouvoir contrôler les mouvements du curseur à l’écran grâce à ses mouvements de doigts sur le dispositif.

Pour ce qui est du codage, il n’est pas très compliqué à mettre en place. Il nécessite néanmoins, d’utiliser les fonctions avancées dans l’espace de travail Make Code d’Adafruit ainsi que l’extension « Mouse ».

Une fois ce block d’extension ajouté à l’espace de travail, 4 entrées (ou input) sont à configurer afin de produire les mouvements du curseur dans 4 directions (en haut, en bas, à gauche et à droite). En utilisant les capacités de pression du dispositif, en touchant un des 4 endroits définis lors du codage, le curseur de la souris va alors se déplacer. Les seules variables à paramétrer sont celles du positionnement de la souris. En définissant les positions < x ; y > pour chaque input, on arrive alors à faire le curseur dans la direction souhaitée.

Ce type de projet, s’il est combiné avec d’autres, peut amener un facteur très intéressant de contrôle du mouvement à travers d’autres dispositifs. Dans une situation de handicap par exemple, la possibilité d’émuler le mouvement du curseur grâce à un autre moyen que l’habituelle souris peut ouvrir la voie à des dispositifs plus adaptés.

Comparaison des deux projets

Selon moi, le projet « Make it a Mouse » offre davantage de potentiel que celui intitulé « Siren ». En effet, en développant davantage le codage et combiné à d’autres projets, il peut offrir une possibilité d’utilisation non négligeable surtout dans le cadre d’une adaptation de dispositifs pour personnes en situation d’handicap.

Manon

Metronome


Objectif


Le but de ce projet est de créer un métronome digital, il a donc plutôt un objectif utilitaire.

Codage

Le code est assez simple. Il contient une boucle « forever » dans laquelle on a ajouté les blocks « MUSIC » avec les modules « play Tone » et « rest for » pour créer un tempo régulier. Le code permet de ralentir ou d’accélérer le tempo des sons de cette boucle. Pour cela, on y a ajouté l’input « on Button A click » auquel on a associé un autre block « MUSIC », le module « change tempo by -10 (bpm) ». Un deuxième input a été ajouté pour accélérer le tempo. Il reprend la même structure que le premier. Ainsi on retrouve l’input « on Button B click » avec un le module « change tempo by 10 (bpm).


Inspiration pour les grands projets

Le côté « gestion du rythme » peut être intéressant pour d’autres projets.

Intérêt du projet

Ce projet peut servir à sensibiliser les jeunes à la notion de rythme et ses variations. De plus, il est très concret et peut s'avérer utile.

Star Flower

Objectif

Le but de ce projet est de créer une fleur 3D qui s’illumine dans le noir. Il a donc un un objectif décoratif.

Codage

Le code contient trois grandes parties. La première consiste à paramétrer le fil lumineux. Pour cela il faut le code appelle deux loop,  une loop « on Start » dans laquelle on va ajouter la variable « set (item) to 0 » et une loop « forever », qui montrera l’animation du Neopixel.

La deuxième étape est d’ajouter des senseurs sensibles à la lumière ambiante. Pour cela, il faut ajouter l’input « on light Dark » auquel on va ajouter la variable « strip set brightness to 150 » et l’input « on light bright » avec la variable « strip set brightness to 0 »

La troisième étape consiste à calibrer le seuil d’intensité de la lumière. Pour cela on va ajouter les inputs « set bright light threshold to 0» et « set Dark light threshold to 0». Pour terminer  il faut ajouter la valeur appropriée à la luminosité d’une pièce pour y calibrer correctement.

Inspiration pour les grands projets

Le projet ne m’a pas spécialement inspirée pour un grand projet mais le fait d’instaurer une sensibilité à la luminosité est intéressant. Intérêt du projet

Le fait de pouvoir enclenché une réaction en fonction de la luminosité est relativement intéressant.

Comparaison entre les deux projets

Les deux projets sont totalement différents, autant du point de vue de leur utilité que de leur fonctionnement. Au niveau du fonctionnement, le premier utilise le son ainsi que l'événement "on click". Le second utilise la lumière et la sensibilité à celle-ci comme événement.

Nicolas Burau

Robot Inchworm

Objectif

Le but est de créer un robot qui rampe lentement lorsqu'on son violent se produit ou en appuyant sur un bouton spécifique.

Codage

Le robot effectue 5 mouvements lorsque l'utilisateur émet un son fort ou en appuyant sur le bouton "A" du circuit playground.

Le mouvement est provoqué par la rotation du rotor d'un moteur connecté au circuit playground. Le rotor effectue un angle de plus ou moins 10° à chaque période de mouvement. En sus du mouvement, en fonction du mode d'activation, une animation lumineuse est provoqué par le circuit playground.

Intérêt

L'intérêt principal est d'utiliser le circuit playground pour créer un objet dynamique. Le robot se doit d'être petit pour que sa masse n'entrave pas la puissance faible du moteur.

Le mouvement serait plus efficace avec deux moteurs en parallèle.

Bateau

Objectif

Le but est de créer un bateau qui se déplace lorsqu'on le lâche au-dessus d'un plan d'eau.

Codage

Le code tire partie de la fonction chute libre. Lorsque le bateau "tombe", le gouvernail se met en mouvement oscillatoire 20 fois d'un angle de 15° avant de s'arrêter.


Intérêt Semblable au robot ci-dessus, avec un mode d'activation différent.

Inspiration pour le grand projet

L'idée d'ajouter des objets dynamiques est intéressante, je n'en ai pas besoin pour mon grand projet. Mais programmer un robot est toujours cool.

Comparaison entre les projets

Les deux projets sont similaires, le navir est toutefois plus efficient dans son utilisation du rotor pour se déplacer.

Sélection de projets intéressants

A compléter lors de la présentation en classe.

Liens

La projets ojets issus du site Adafruit, section 'learn' ou de la documentation Adafruit, page projets.