É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 coupleur 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.


