STIC:STIC IV (2021)/Electro-challenge
Cet article est en construction: un auteur est en train de le modifier.
En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.
Introduction
Cette page est dédiée à l'organisation des activités hands-on lors des séances synchrones du module II du cours STIC IV (2021). Les challenges sont basés sur les entrées/sorties et capteurs présents par défaut sur l'Adafruit Circuit Playground Express et leurs composants équivalents pour Arduino UnoR3.
Nous allons explorer quelques entrées et sorties de chaque carte électronique. Le CPX a plusieurs intégrés qui rend le CPX léger et portable. Des capteurs et sorties en plus peuvent être connectés à une carte CPX pour élargir les possibilités. Avec Arduino, il faut tout connecter à la carte, mais les options de composants (entrées et sorties) sont beaucoup plus entendues.
Les composants Adafruit Circuit Playground Express
Les entrées/sorties (capteurs/émetteurs) que nous allons utiliser sont les suivants :
- Entrées et capteurs
- 1 Capteur de lumière (5). Peut également servir de capteur de couleur et de capteur de pulsation.
- 1 Sonde de température (7)
- 2 Boutons poussoirs : A (8) et B (13)
- 1 accéléromètre (détecteur de mouvement) à trois axes avec détection de choc et de chute libre.
- 1 capteur de son i.e microphone (16)
- Sorties
- 1 Mini haut-parleur (14) connecté à la broche de sortie analogique A0.
- 10 mini LEDs NeoPixels programmables pouvant afficher n'importe quelle couleur. Elles servent aussi à renseigner sur l'état du CPX lorsqu'il est connecté à l'ordinateur : LEDs vertes si CPX initialisé, LEDs rouges dans le cas contraire.
Les composants pour Arduino
La carte Arduino n'a pas de capteurs ou émetteurs intégrés. Il faut les connecter à une broche analogique ou digitale, selon le capteur et le signal émis. Les platines de prototypage sont utilisées lors du design du circuit pour connecter les pièces.
- Entrées et capteurs
Capteur lumière - Photorésistance - la résistance varie en fonction de l'intensité de la lumière. | |
Capteur thermique - Thermistor - la résistance varie en fonction de la température | |
Boutons poussoirs externes - interrupteurs | |
Capteur de son - module de détection de son - micro détecte le son et l'amplifie. La sortie est analogique et digitale. La sensibilité peut être ajustée.
Modèle Sparkfun(gauche), microphone electret Grove sound sensor (droite) | |
Accelèromètre - module de détection changement de mouvement - micro détecte le son et l'amplifie. La sortie est analogique et digitale. La sensibilité peut être ajustée.
Modèle Adafruit (gauche), Modèle Sparkfun (droite) |
- Sorties
- Hauts parleurs
- LCD
- Neopixel
Catalogue de composants
Catalogue des composants et leurs usages et câblages
Modalités organisationnelles
Durée de l'activité
- Mardi : CPX Adafruit: 45 minutes avec 15 minutes de bilan / debrief pour discuter notamment des éventuelles difficultés.
- Jeudi : Arduino 45 minutes avec 15 minutes de bilan / debrief pour discuter notamment des éventuelles difficultés.
Type de travail
- Groupe de 3
Tâches
- Mardi
- Réalisation des challenges (deux phases, gardez le code pour chacune de ces phases).
- Réaliser les challenges avec le CPX Adafruit ci-dessous (voir la liste)
- Réalisez vos challenges sur MakeCode. Servez-vous du simulateur pour tester votre code (45 mn)
- Bilan/debrief 1re partie
- Réalisation des challenges (deux phases, gardez le code pour chacune de ces phases).
- Jeudi
- Réalisation des challenges (deux phases, gardez le code pour chacune de ces phases).
- Réaliser les challenges avec la carte Arduino et les composants ci-dessous (voir la liste)
- Réalisez vos challenges sur TinkerCad Circuits et Arduino App. Servez-vous du simulateur sur TinkerCad pour tester votre code (45 mn)
- Bilan/debrief 1re partie
- Réalisation des challenges (deux phases, gardez le code pour chacune de ces phases).
Challenges CPX
Challenge 1 : Accéléromètre / LED
Etape 1
- Input : Pencher à gauche ou à droite
- Output : Produire une harmonie de lumière différente selon que l'on penche le CPX à gauche ou à droite
- => Une fois cette étape réalisée, télécharger le fichier uf2 sur votre ordinateur
Etape 2
- A chaque fois que le CPX tombe, une alerte sonore est déclenchée 4 fois à une intensité moyenne en boucle toutes les 30 secondes.
- Si rien n'est fait au bout de 2 boucles, une alerte sonore d'intensité forte est déclenchée à l'infini jusqu'à ce que le bouton A soit appuyer.
- => Une fois cette étape réalisée, télécharger le fichier uf2 sur votre ordinateur
Question
- Quelle type d'entrée/sortie avez-vous gérer : digitale ou analogique ?
Solution
Sur MakeCode
Fichier UF2 : Fichier:Circuitplayground-Challenge accelerometre.uf2.zip
Challenge 2 : Capteur de son / LED
Etape 1
- Input : Intensité du son
- Output : Créer une alerte lumineuse infinie (harmonie de couleur de votre choix) dès qu'un niveau de son est atteint ; sinon, pas d'alerte lumineuse.
- => Une fois cette étape réalisée, télécharger le fichier uf2 sur votre ordinateur
Etape 2
- Ajouter la possibilité de stopper l'alerte lumineuse si le bouton A est pressé.
- Programmer une boucle de démarrage de vérification de l'intensité lumineuse toutes les 30 secondes en boucle :
- si > à une intensité sonore -> alerte lumineuse
- si < à une intensité -> clignotement des LED en vert 2 fois à une seconde d'intervalle.
- => Une fois cette étape réalisée, télécharger le fichier uf2 sur votre ordinateur
Question
- Quelle type d'entrée/sortie avez-vous géré : digitale ou analogique ?
Challenge 3 : Capteur de lumière / Son / Accéléromètre
Solution (avec alternatives) : https://makecode.adafruit.com/03772-68546-73296-72224 ou https://makecode.com/_1PaWLAY5aXiw
Fichier UF2 :Fichier:CPX-WAKEUP.uf2.zip
Etape 1
- Input : Intensité de lumière
- Output : Créer un signal de type réveil dès qu'un niveau de lumière est atteint qui doit se répéter 10 fois.
- => Une fois cette étape réalisée, télécharger le fichier uf2 sur votre ordinateur
Etape 2 Réaliser deux alternatives :
- Le réveil doit s'arrêter lorsqu'on appuie sur le bouton A avant les 10 répétitions.
- Si le CPX ne détecte pas de mouvement (mouvement bottom-up), il recommence la boucle de vérification au bout de 30 secondes
- => Une fois cette étape réalisée, télécharger le fichier uf2 sur votre ordinateur
Question
- Quel type d'entrée/sortie avez-vous géré : digitale ou analogique ?
Challenge 4 : Bouton pressoir / LED / Accéléromètre
Code produit : https://makecode.com/_dq5WUbFRWUm7
Fichier:Circuitplayground-challenge4.zip
Etape 1
- Input : Presser le bouton A.
- Output : Créer un programme qui compte à rebours une fois bouton pressé. Une fois le décompte atteint, une harmonie de couleur doit se répéter à l'infini pour signaler la fin du décompte.
- => Une fois cette étape réalisée, télécharger le fichier uf2 sur votre ordinateur
Etape 2
- Cette harmonie de couleur doit s'arrêter lorsqu'on appuie sur le bouton B.
- Cette harmonie de couleur doit changer selon que l'on penche à gauche ou à droite le CPX. Elle doit s'arrêter deux 2 manières : soit en appuyant sur le bouton B ou si le CPX tombe (top-down)
- => Une fois cette étape réalisée, télécharger le fichier uf2 sur votre ordinateur
Question
- Quelle type d'entrée/sortie avez-vous géré : digitale ou analogique ?
Challenge 5 : Sonde de température / Son
Challenge 5 sur MakeCode
Etape 1
- Input : température
- Output : Créer une alerte sonore dès qu'un niveau de température est atteint. L'alerte doit boucler à l'infini.
- => Une fois cette étape réalisée, télécharger le fichier uf2 sur votre ordinateur
Etape 2
Programmer l'arrêt et la réinitialisation :
- La pression du bouton B ou la diminution de température doit permettre de stopper l'alerte.
- Programmer un décompte de 5 secondes avant que la boucle ne recommence (nouvelle vérification de la température).
- => Une fois cette étape réalisée, télécharger le fichier uf2 sur votre ordinateur
Question
- Quelle type d'entrée/sortie avez-vous géré : digitale ou analogique ?
Challenge 6 : Mini-jeu Catch The Lights
Challenge 6 sur MakeCode
Etape 1
Input : Presser le bouton
Output : allumer les leds et produire un son
- Etablir un tableau des numéros de led
- Allumer alternativement les led en rouge en ajoutant un temps d'attente (par exemple 700000 microsecondes pour un niveau facile).
- Grâce à un nombre aléatoire entre 0 et 9 compris, déterminer une led qui s'allumera en vert.
- Lorsqu'un bouton est appuyé lorsque la led verte est allumée, retirer cette led du tableau de led, laisser cette led allumée et redéfinir un nouveau nombre aléatoire (ne comprenant pas la led verte !). Le jeu va continuer sans se préoccuper de la led verte trouvée.
Etape 2
Une fois toutes les leds allumées en vert, jouer une petite musique de votre cru.
Etape 3
En appuyant sur l'autre bouton, créer un mode de difficulté différent (changer le temps d'attente entre les lumières).
Question
- Quelle type d'entrée/sortie avez-vous géré : digitale ou analogique ?
Challenge Arduino
Réaliser et modifier si le temps permet les sketchs ci-dessous
Liens
- Circuits
- Programmation
- Page Edutech Wiki MakeCode
- Documentation officielle MakeCode
- Webapp de programmation Microsoft MakeCode
- https://www.circuito.io/