STIC:STIC III (2020)/Initiation électronique

De EduTech Wiki
Aller à : navigation, rechercher

Sommaire

1 Introduction

Cette page fait partie du module I du cours STIC:STIC III (2020). Cette page est consacrée à l'électronique et aux cartes électroniques.

AdaFruit Circuit Playground Express'. Source: Flickr of AdaFruit
Dans cette page, vous trouverez 
  • Une présentation de la technologie et des exemples d'applications en éducation,
  • Les consignes de l'activité hands-on réalisée en classe et celles de l'activité à distance,
  • Les outils de support et les liens utiles pour vous épauler dans votre apprentissage,
  • Un espace pour y déposer vos productions.

2 Activités en classe (60')

2.1 Présentation (10')

2.1.1 Workflow

  • Dessiner le circuit - papier et crayon ou CircuitLab
  • Coder le circuit avec MakeCode (ou autre editeur de code) + simuler
  • Construire son objet
  • Tester

2.2 Activités Hands-on (50')

Thématique : les Emoji 😵

Objectif : exprimer votre emoji avec le CPX

Pour l'organisation, on vous propose de travailler seul-e ou en groupe de 2 selon votre souhait (privilégiez les groupes Zelda-Aegir)

2.2.1 Processus

2. Choisissez un emoji 5'

Consultez la bibliothèque Emojipedia et choisissez un émoticône.

2. Choisissez un circuit 5'

Consultez la page exploration de projets CPX qui présentent plusieurs projets (peut être plus rapide).

3. Représenter l'émoji électroniquement et postez-le dans le chat 20'

  • Modifier le code pour que l'output corresponde à l'émoji choisi en jouant avec le simulateur de gauche. A ce stade, vous pouvez revenir en arrière et choisir un émoji qui correspond le mieux à ce que vous avez réalisé.
  • Une fois terminé, téléchargez le fichier *.uf2 et postez-le dans le Chat Zoom

5. Présentation de quelques émojis animés 20'

Présentez à l'oral (3 mn par groupe + 1 mn question)

  • le codage : démarche, inputs/output utilisés, complexité, éléments remarquables
  • le rapport avec l'émoji choisi

3 Activités à distance

Thématique 
  • Matérialisation de l'invisible
Consignes
  • Réaliser 2 objets sur la thématique proposée
    • Input : données externes invisible (une pour deux thématiques).
    • Output : votre interprétation de ces données avec l'électronique
  • Contraintes :
    • au moins un input (capteur ou action utilisateur) et un output
    • un effet son
    • un effet lumière
    • une boucle
Conception et fabrication  
  • Vous n'aurez pas besoin de machines pour cette activité mais les créneaux pour la conception ou la fabrication sont ouverts également pour cette activité. Réservez vous Calendrier de RDV (Lisez bien les conditions SVP).

NOTE : vous pouvez utiliser des modèles faits par d'autres à condition de citer vos sources.

4 Support et liens utiles

Support 
  • Pour les questions rapides ou demande d'avis non bloquants : utilisez la page discussion de cette page
  • Ateliers de conception et de fabrication : si vous avez plusieurs questions ou si vous avez besoin de plus d'explications voire d'une conception suivie, inscrivez-vous aux ateliers de conception et de fabrication (cf. calendrier de RDV STIC III).
Liens utiles

Dans le wiki français, nous avons encore peu de tutoriels (domaine nouveau)

Dans le wiki anglais essentiellement (pour le moment) sous en:E-textile et plus particulièrement :

5 Productions des étudiant-es

Déposez vos travaux en copiant-collant la section exemple ci-dessous :

5.1 Production de NOM

Dans votre paragraphe,

  • insérer votre design et une photo de votre objet brodé,
  • expliquer la signification de votre objet, ses étapes de conception et les difficultés rencontrées.

5.2 Production de Aurélie

5.2.1 Design

5.2.2 Code

"Toucher" code disponible ici: https://makecode.com/_AVoht5aPHRqD

5.2.3 Fichiers à télécharger

Fichier:CodeToucherStic3ProjetAurelie.zip

5.2.4 Signification

Le toucher est essentiel et fait partie de nos 5 sens. Toutefois, il n'est pas "visible" à proprement parlé. L'objectif de ce projet est donc de rendre visible le toucher à l'aide de l'électronique.

5.2.5 Etapes de conception

  1. Définir le sujet et réfléchir à comment le conceptualiser
  2. Exploration des possibilités de codage en lien avec le toucher
  3. Exploration des possibilités de codage en lien avec le visuel et le son
  4. Paramétrage à l'aide de MakeCode pour l'Adafruit Circuit Playground Express
  5. Tests en réel afin de vérifier que cela fonctionne comme sur le simulateur

5.2.6 Difficultés rencontrées

La principale difficulté a été de trouver un sujet et de le conceptualiser.

5.3 Production de Martina

5.3.1 Design

5.3.2 Fichier uf2

Fichier:HeartBeat.uf2.zip

5.3.3 Vidéo

Vidéo de démonstration disponible sur mon espace personnel.

5.3.4 Code

Heartbeat

5.3.5 Signification

  1. Heartbeat : Le son est celui d'un battement de coeur, tandis que le coeurs s'illumine en rouge en suivant la fréquence cardiaque, mimant un vrai coeur. Cela représente la vie.

5.3.6 Etapes de conception

  1. Trouver une idée de thème
  2. Trouver une idée de "design" qui exprimera le thème choisi
  3. Faire un premier essai, avec la lumière et le son
  4. Refaire plusieurs essais jusqu'à obtenir un résultat satisfaisant
  5. Télécharger le fichier uf2
  6. Déplacer le fichier sur le CPX
  7.  Essayer

5.3.7 Difficultés rencontrées

  • Réussir à programmer deux actions simultanées

5.4 Production de Simon

5.4.1 Design

La respiration en pleine conscience.

https://makecode.com/_Avi4Hmg1R8m3

5.4.2 Fichier uf2

Fichier:Circuitplayground-Respiration alternee.uf2.zip

5.4.3 Code

Code Javascript

 1 input.buttonA.onEvent(ButtonEvent.Click, function () {
 2     for (let i = 0; i < 4; i++) {
 3         pause(800)
 4         control.runInParallel(function () {
 5             music.playMelody("C D E F G A B C5 ", 110)
 6         })
 7         light.setBrightness(20)
 8         light.setAll(0x00ffff)
 9         pause(800)
10         light.setBrightness(40)
11         light.setAll(0x00ffff)
12         pause(800)
13         light.setBrightness(60)
14         light.setAll(0x00ffff)
15         pause(800)
16         light.setBrightness(80)
17         light.setAll(0x00ffff)
18         pause(3000)
19         control.runInParallel(function () {
20             music.playMelody("C5 B A G F E D C ", 110)
21         })
22         light.setBrightness(50)
23         light.setAll(0xff0000)
24         pause(800)
25         light.setBrightness(40)
26         light.setAll(0xff0000)
27         pause(800)
28         light.setBrightness(30)
29         light.setAll(0xff0000)
30         pause(800)
31         light.setBrightness(20)
32         light.setAll(0xff0000)
33         pause(800)
34         light.setBrightness(10)
35         light.setAll(0xff0000)
36         pause(2000)
37         light.stopAllAnimations()
38     }
39 })
40 input.buttonB.onEvent(ButtonEvent.Click, function () {
41     light.stopAllAnimations()
42     music.stopAllSounds()
43     light.clear()
44     control.reset()
45 })
46 input.onGesture(Gesture.Shake, function () {
47     light.stopAllAnimations()
48     music.stopAllSounds()
49     light.clear()
50     control.reset()
51 })
52 music.baDing.play()
53 light.showAnimation(light.colorWipeAnimation, 600)

5.4.4 Signification

Dans ce monde de brutes, nous ne prenons pas le temps de respirer ! De plus, nous ne faisons pas attention à notre respiration tellement nous en sommes habitué.e.s ; nous ne la percevons plus, elle devient quasi-invisible et pourtant elle est bien là et (trop) souvent mal exprimée par notre corps. Dans ce projet, je veux créer un dispositif visuel et sonore avec le CPX d'Adafruit permettant à l'utilisateur.trice de visualiser la "bonne" façon de respirer, d'inspirer, d'expirer. Une visualisation de respirations répétées via une phase d'inspiration à travers les LED animés du CPX, suivie d'une phase d'expiration avec du son et les LED est ainsi envisagée. Ce cycle de respiration est répété 4 fois mais peut-être réinitialisé pour une session plus longue en secouant l'appareil ou en pressant un des deux boutons présents sur le dispositif.

5.4.5 Etapes de conception

  1. Trouver une idée de thème
  2. Trouver une idée de "design" via le CPX d'Adafruit qui exprimera le thème choisi
  3. Premiers tests sur Makecode.com
  4. Développement des blocks
  5. Réflexion sur les 4 cycles de respiration et comment les intégrer au CPX
  6. Ajout des sons
  7. Ajout d'une fonction Reset pour recommencer le processus
  8. Vérification du code et test sur le CPX

5.4.6 Difficultés rencontrées

  • Trouver une idée de matérialisation de ce que l'on ne voit pas et la combiner avec le CPX.


5.5 Production de Jérôme

5.5.1 Design

5.5.2 Code

"Script_JeromeHumbert" code disponible ici: https://makecode.com/_KtFUHs9yfM6h

5.5.3 Fichiers à télécharger

Fichier:Script JeromeHumbert.zip

5.5.4 Signification

Pour les deux créations, j'ai imaginé un message que l'on puisse faire passer de deux manière différentes. Vu que l'on a pas d'affichage du message sur l'adafruit, il est invisible aux yeux des utilisateurs. En appuyant sur le bouton A, le code va retranscrire le message codé en Morse.

International Morse Code-fr.svg

En appuyant sur le bouton B, les 7 premières leds vont afficher une valeur binaire correspondant à une lettre de la table ASCII. Par exemple :

En partant d'en haut à gauche, nous obtenons le chiffre binaire 1001010 dont la transformation en base 10 vaut 74. Dans la table ASCII, le caractère ayant la valeur 74 est le "J". Il est possible de décoder le message lettre par lettre via ce procédé. Voir Table ASCII

5.5.5 Etapes de conception

  1. Définir le sujet se prêtant à la thématique
  2. Transformation d'un message en un message binaire
  3. Gestion des leds pour afficher un message binaire de manière visuelle
  4. Transformation d'un message en séquence de points (point, traits, silence)
  5. Gestion des sons afin de retranscrire les points, traits et silences

5.5.6 Difficultés rencontrées

Le langage utilisé n'est pas du pure Javascript, il est limité dans certains usages. J'ai eu dû mal à trouver une solution plus simple (qui existe en Javascript) pour transformer en binaire par exemple. J'ai donc eu un temps d'adaptation par rapport à du vrai Javascript.

5.6 Production de Djamileh

5.6.1 Design

5.6.2 Code

Code sur le site de MakeCodeAdafruit

5.6.3 Fichiers à télécharger

Fichier:Circuitplayground-chargecognitive.uf2.zip

5.6.4 Signification

Visualiser la charge cognitive : très rapidement on peut se trouver déborder par le volume d’information à traiter, que ce soit lors d’un apprentissage ou dans la gestion de son quotidien. Il peut être intéressant d’avoir un « compteur visuel » qui mesure l’état de la charge par une pression volontaire sur un bouton. Les LEDS se chargent progressivement jusqu'à un seuil d’alarme prédéfini, générant un premier son d’alerte jusqu’à la charge totale qui génère une alerte par des clignotements. Des périodes de repos peuvent faire baisser la charge par une pression sur l’autre bouton du CPX.

5.6.5 Etapes de conception

  1. Trouver une idée
  2. Explorer les sites web pour m'inspirer de réalisations
  3. Jouer dans MakeCode pour produire une expérience cohérente
  4. Tester l'outil avec des gens

5.6.6 Difficultés rencontrées

J'aurais voulu utiliser des inputs analogiques et en provenance de l'environnement, mais avec les contraintes de thème, cela me prenait trop de temps. Je garde ça pour le grand projet.

5.7 Production de Lylia

5.7.1 Design

Roue de la fortune.png

5.7.2 Code

Tentez votre chance, Make Code Adafruit

5.7.3 Fichiers à télécharger

Fichier:Adafruit - Test de chance.zip

5.7.4 Signification

Le thème général que j’ai choisi pour les activités d’initiation est la chance/la bonne fortune. A travers le monde, différents objets, ou symboles sont utilisés pour interpréter ce concept. Ici, l'idée est de tester sa chance à l'aide du dispositif. En secouant le circuit, un peu de suspense se fait sentir, puis le dispositif nous révèle si on est chanceux (vert), ou malchanceux (rouge).

5.7.5 Etapes de conception

  1. Réflexion sur le thème général
  2. Test des fonctionnalités sur Made Code Adafruit
  3. Implémentation de l'idée choisie

5.7.6 Difficultés rencontrées

La prise en main de Make Code Adafruit est un peu déconcertante en commençant par apprendre la programmation "pure", mais cela devient très agréable à travailler une fois compris.

5.8 Production de Tiffany

5.8.1 Design

Where is the music ?

Where is the music adafruit.jpg

5.8.2 Code

Where is the music, Make Code Adafruit

5.8.3 Fichiers à télécharger

Fichier:Where is the music.zip

5.8.4 Signification

Lorsque nous manipulons l'objet, des sons et lumières sont émises. Seulement, nous ne savons pas qu'une option invisible s'y trouve. Lorsque nous appuyons sur la bonne combinaison, une musique composée par mes soins résonne avec douceur dans nos oreilles. Mais pour cela, il faut trouver la touche invisible.

5.8.5 Etapes de conception

  1. Recherche d'exemples pour la composition des blocs
  2. Tester quelques combinaisons aléatoirement
  3. Paramétrer les options selon la réflexion du thème et tester plusieurs fois

5.8.6 Difficultés rencontrées

N'étant pas habituée à ce genre de plateforme, il était difficile de connaître les possibilités. De plus, je n'étais pas du tout inspirée par l'idée de matérialiser l'invisible à travers cet outil. Je pense qu'il y a beaucoup de possibilité, mais je pense qu'en le faisant en dernier, j'avais épuisé mon stock d'imagination.

5.9 Production de Elias

5.9.1 Design

5.9.2 Code

Random, Make Code Adafruit

5.9.3 Signification

L'aléatoire est une "force" qui bien qu'invisible est présente partout, chaque jour dans nos vies il y a beaucoup de phénomènes aléatoires qui bien qu'on ne les voit pas, sont présents.

5.9.4 Etapes de conception

  1. Recherche d'idées en regardant les différents codes disponibles
  2. Test de l'aléatoire sur la plateforme
  3. Création du code final

5.9.5 Difficultés rencontrées

Je n'ai pas eu de difficultés avec la plateforme Makecode, j'ai cependant mis un peu de temps à trouver un dispositif intéressant entrant dans le thème de l'invisible.

5.10 Production de Anne

5.10.1 Design

Code de la Roue de la Fortune
Code de la Roue de la Fortune

5.10.2 Code

https://makecode.com/_5ridfX1rudwb

Code Original (j'ai modifié le nombre de photons de déplacement, ajouté un son d'introduction (magic wand), ajouté une introduction avant le random)

5.10.3 Signification

La chance prend de nombreuses formes selon notre culture, notre pays d'origine ou notre religion. Sa matérialisation est diverse.

L'idée ici est de la représenter sous la forme d'une "roue de la fortune"

5.10.4 Etapes de conception

  1. Recherche d'idée de code utilisant le dispositif
  2. codage dans l'appli Makecode
  3. test du code créé dans Make Code puis download
  4. Test réel

5.10.5 Difficultés rencontrées

Pas de difficulté notable dans l'exécution de cet exercice, j'ai seulement dû consulter l'aide en ligne pour trouver pourquoi mon PC ne détectait pas le Playground Express.C'était une simple histoire de "bouton reset" sur lequel appuyer pour initialiser le circuit.

5.11 Production de Orfelis

5.11.1 Design

https://makecode.com/_0sHAYC7jg8A2

Code Makecode
Code Makecode

5.11.2 Signification

Cela signifie le changement d'humeur des gens en fonction de la température. Quand il fait froid les gens sont plus mélancoliques, c'est pourquoi j'ai ajouté une mélodie nostalgique et quand il fait chaud les gens sont plus heureux, je l'ai représenté avec la couleur orange mais quand il fait très chaud les gens peuvent être plus stressés je l'ai représenté par la couleur rouge.

5.11.3 Etapes de conception

  1. Réfléchir au sujet sur le papier
  2. Chercher des exemples du code sur internet
  3. Tester les options de blocs des codes disponibles dans l’application Makecode
  4. Codage de l’idée sur Makecode
  5. Tester en réel à température 23°C

5.11.4 Difficultés rencontrées

Plusieurs difficultés ont été rencontrées dans le processus de conception. La première, cherchez le code ou le bloc qui me permettrait de changer de couleur pour montrer la différence de température. J'ai essayé de mettre trois cycles de température pour donner une couleur à un degré. Par exemple, le grade 30 a la couleur orange et le grade 40 la couleur rouge. Mais dans les blocs, j'ai trouvé la limitation du chaud et du froid uniquement. J'ai donc enfin pu ajouter une autre couleur à la même température chaude. De plus, je ne peux pas tester le couleur noir dans le monde réel car la température était de 23°.