Skip to content

Activiteit

Kaars

Gevorderd | MakeCode, Python | LED scherm, Microfoon | Boolean logica, Selectie, Sensoren

Stap 1: Maak het

Wat is het?

Maak een elektronische kaars die je kunt blazen! De nieuwe micro:bit's ingebouwde microfoon detecteert het geluid van je adem en schakelt de kaars uit - en weer aan.

Inleiding

Codeer instructies

Wat je gaat leren

  • Hoe je willekeurige getallen gebruikt om willekeurige LED's aan en uit te doen.
  • Hoe schakel je outvoer in reactie op sensor invoer
  • Hoe je Booleaanse logica gebruikt om een schakelaar te maken die aan- en uit schakelt geactiveerd door dezelfde gebeurtenis

Zo werkt het

  • Een willekeurig getal tussen 1 en 3 wordt opgeslagen in de variabele flicker.
  • Dit getal wordt gebruikt om willekeurig de LED's aan en uit te zetten om eruit te zien als een vlam flikkering.
  • De micro:bit's LED's zijn gerangschikt in een raster met kolommen en rijen genummerd van 0 tot 4. Het programma schakelt de LED's aan en uit in de bovenste rij, afhankelijk van het willekeurige getal dat opgeslagen is in de flikkering variabele.
  • De coördinaten voor de LED's worden altijd eerst gegeven met de kolom (de x-as) en vervolgens met de rij (de y-as). Het midden van de vlam staat op coordinaten 2, 0.
raster wat de coördinaten van het micro:bit's LED-scherm toont
  • Een forever loop zorgt ervoor dat de animatie blijft lopen.
  • Het programma gebruikt ook een variabele met de naam aangestoken om bij te houden of de kaars aangestoken is of niet. Dit is een Booleaanse variabele. Booleaanse variabelen kunnen slechts twee waarden hebben: waar (aan) of onwaar (uit).
  • Wanneer de microfoon sensor een luid geluid detecteert, bijvoorbeeld wanneer je erop blaast, zal de code de waarde van aangestoken veranderen in niet aangestoken. Dus wanneer je op de microfoon blaast, zal als aangestoken waar is dit veranderd worden in onwaar en zal het scherm is geleegd worden, de LED's worden uitgeschakeld.
  • Als aangestoken onwaar was, dan wordt het waar en zetten we de animatie weer aan.

Benodigdheden

  • Een micro:bit
  • MakeCode of Python editor
  • batterijpakket (optioneel)

Step 2: Codeer het

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()

Stap 3: Verbeter het

  • Maak je eigen ontwerp voor een animatie om met behulp van geluid aan of uit te schakelen.
  • Je kunt het 'bij luid geluid' blok min of meer gevoelig maken door een 'luid geluid drempelwaarde' blok toe te voegen aan een 'bij opstarten'-blok. Vind dit onder Invoer en '...meer.' Gebruik kleinere getallen voor stillere geluiden en grotere getallen voor luider geluiden.
  • Als je in Python de drempel voor luide geluiden wilt wijzigen zoek dan microfoon, set_threshold(SoundEvent.LOUD, 128) net voor de while True lus, verander het nummer 128 naar de gewenste geluidswaarde. Dit kan een willekeurig getal zijn tussen 0 en 255, met 255 voor het luidste geluid.