STIC:STIC IV (2021)/Electro-challenge

De EduTech Wiki
Aller à la navigation Aller à la recherche
Cette page est dédié au programme et ressources du cours STIC IV du Master MALTT. Elle est En modification éternelle. Voir aussi les anciennes éditions.

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 :

Composants CPX.png
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
Photorésistance comme capteur de lumière
Capteur lumière - Photorésistance - la résistance varie en fonction de l'intensité de la lumière.
Thermistor.jpg
Capteur thermique - Thermistor - la résistance varie en fonction de la température
Bouton.png
Boutons poussoirs externes - interrupteurs
Module son et microphone pour Arduino
Module son et micro pour Arduino
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)

Accéléromètre Adafruit
Acceleromètre pour Arduino
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).
      1. Réaliser les challenges avec le CPX Adafruit ci-dessous (voir la liste)
      2. Réalisez vos challenges sur MakeCode. Servez-vous du simulateur pour tester votre code (45 mn)
      3. Bilan/debrief 1re partie
  • Jeudi
    • Réalisation des challenges (deux phases, gardez le code pour chacune de ces phases).
      1. Réaliser les challenges avec la carte Arduino et les composants ci-dessous (voir la liste)
      2. Réalisez vos challenges sur TinkerCad Circuits et Arduino App. Servez-vous du simulateur sur TinkerCad pour tester votre code (45 mn)
      3. Bilan/debrief 1re partie

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 quelques sketchs ci-dessous (et les modifier si le temps permet)

Depuis Blockly@rduino

Liens

Circuits
Programmation