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.
- 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 dewhile 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.
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.