STIC:STIC IV (2019)/Exploration de projets CPX

De EduTech Wiki
Aller à la navigation Aller à la recherche

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.

Participante 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 https://learn.adafruit.com/sparkle-skirt?view=all ), 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.

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.