Skip to content

Activité

Applaudir et allumer la lumière

Débutant | MakeCode, Python | Microphone, Écran LED | Capteurs, Logique booléenne, Sélection

Étape 1 : Fais-le

Qu'est-ce que c'est ?

Transformez votre micro:bit en une lumière que vous pourrez allumer et éteindre en tapant dans vos mains ou en faisant du bruit.

Introduction

Guide de programmation

Ce que vous apprendrez

  • 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

  • Le programme utilise une variable nommée lightsOn pour mémoriser l'état de la lumière: si elle est allumée, ou éteinte. Nous utilisons pour cela un type de variable particulier, une variable booléenne. Les variables booléennes ne peuvent avoir que deux valeurs : true (on) ou false (off).
  • Lorsque le capteur du microphe détecte un son fort, le code inverse la valeur de lightsOn en la définissant à not lightsOn.
  • Cela signifie que lorsque vous tapez dans vos mains, si lightsOn vaut false (et que la lumière est désactivée), elle passe à true et le programme allume les LEDs.
  • Si lightsOn était définie à true (et que la lumière était allumée), elle passe à false désactive les LED en effaçant l'écran.

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 *
2lightsOn = False
3
4while True:
5    if microphone.was_event(SoundEvent.LOUD):
6        lightsOn = not lightsOn
7        if lightsOn:
8            display.show(Image('99999:'
9                               '99999:'
10                               '99999:'
11                               '99999:'
12                               '99999'))
13        else:
14            display.clear()
15    sleep(100)

Étape 3 : Améliore-le

  • 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". Utilisez des nombres plus petits pour des sons plus faibles, et des nombres plus grands pour des sons plus forts. La vidéo de programmation ci-dessus vous montre comment faire cela.
  • En Python, pour changer le seuil de niveau sonore élevé utilisez microphone.set_threshold(SoundEvent.LOUD, 128) - en modifiant la valeur 128 à la valeur que vous voulez entre 0 and 255.
  • Faites en sorte que les lumières jouent également un son quand elles s'allument.
  • Utilisez le son pour contrôler d'autres projets, tels que l'éclairage des LEDs ou des servomoteurs connectés aux broches de votre micro:bit.