Étape 1 : Fabrique-le
Qu'est-ce que c'est ?
Fabrique une bougie électronique que tu peux souffler ! Le nouveau microphone intégré du micro:bit détecte le son de ton souffle et éteint la bougie - puis la rallume.
Introduction
Guide de programmation
Ce que tu vas apprendre
- Comment utiliser des nombres aléatoires pour allumer aléatoirement des LED
- Comment modifier des sorties en fonction des entrées d'un capteur.
- Comment utiliser la logique booléenne pour programmer un interrupteur dont le changement d'état est déclenché par un même événement.
Comment ça marche
- Un nombre aléatoire entre 1 et 3 est enregistré dans une variable nommée flicker.
- Ce nombre est utilisé pour allumer et éteindre des LED au hasard afin de simuler une flamme qui vacille.
- Les LED du micro:bit sont disposées dans une grille dont les colonnes et les lignes sont numérotées de 0 à 4. Le programme affiche (allume) et masque (éteint) différentes LED dans la rangée supérieure en fonction du nombre aléatoire enregistré dans la variable flicker.
- Les coordonnées des LED sont toujours données en débutant par la colonne à l'horizontal (l'axe des x) et suivies de la ligne verticale (l'axe des y). Le milieu de la flamme est aux coordonnées 2, 0.
- Une boucle infinie permet à l'animation de continuer de s'exécuter.
- Le programme utilise également une variable nommée lit pour mémoriser si la bougie est allumée ou non. Ceci est une variable booléenne. Les variables booléennes ne peuvent avoir que deux valeurs : true (on) ou false (off).
- Lorsque le capteur du microphone détecte un son fort, par exemple quand vous soufflez dessus, le code inverse la valeur de lit en la définissant à not lit. Donc, quand vous soufflez sur le microphone, si la valeur lit est définie à vrai, elle passera à faux et l'écran sera effacé, éteignant ainsi les LED.
- Si lit valait faux, elle vaudra vrai et nous redémarrerons ainsi l'animation.
Ce dont vous aurez besoin
- Un micro:bit
- MakeCode ou éditeur Python
- un boîtier de piles (optionnel)
Étape 2 : Programme-le
1from microbit import *
2import random
3
4lit = True
5
6while True:
7 if microphone.was_event(SoundEvent.LOUD):
8 lit = not lit
9 sleep(500)
10 if lit:
11 display.show(Image(
12 "00900:"
13 "09990:"
14 "09990:"
15 "09990:"
16 "09990"))
17 sleep(150)
18 flicker = random.randint(1, 3)
19 if flicker != 2:
20 display.set_pixel(2,0,0)
21 display.set_pixel(flicker,0,9)
22 sleep(150)
23 else:
24 display.clear()
Étape 3 : Améliore-le
- Créez votre propre design d'animation à activer ou à désactiver avec le son.
- Vous pouvez rendre le bloc "lorsque son bruyant" plus ou moins sensible en ajoutant un bloc "définir un seuil sonore élevé" dans un bloc "au démarrage". Trouvez-le sous Entrée et '...plus'. Utilisez des nombres plus petits pour des sons plus faibles, et des nombres plus grands pour des sons plus forts.
- En Python, pour changer le seuil des sons bruyants, utilisez
microphone.set_threshold(SoundEvent.LOUD, 128)
juste avant la bouclewhile True:
, en changeant la valeur 128 par la valeur sonore que vous désirez. Il peut s'agir de n'importe quel nombre entre 0 et 255, 255 étant le son le plus bruyant.
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.