Stap 1: Maak het
Wat is het?
Maak een geluidsniveau logger om te monitoren hoe luid of stil verschillende plaatsen om je heen in de loop van de tijd worden
Inleiding
Codeer instructies
Wat je gaat leren
- De ingebouwde microfoonsensor van de nieuwe micro:bit gebruiken om te meten hoe hard een geluid is
- Gebruik variabelen en operators om de maximale waarden bij te houden bij het verzamelen van real world gegevens
Zo werkt het
- De microfoon van de nieuwe micro:bit meet geluidsniveaus in getallen tussen 0 en 255, net als de licht sensor.
- Een lus vergelijkt constant het huidige geluidsniveau met een variabele maxGeluid die het luidste geluid opslaat. Als het huidige geluid luider is dan het luidste vorige geluid, wordt maxGeluid opnieuw ingesteld op de nieuwe hardste geluidswaarde.
- Binnen de lus controleert een als verklaring of je op knop A hebt gedrukt. Als dat het geval is, wordt het nummer van het geluidsniveau weergegeven op de LED display uitvoer. Je kunt dit gebruiken om te controleren hoe luid het in de loop van de tijd op verschillende plaatsen wordt.
- Reset de maximale waarde door op de resetknop op de achterkant van de micro:bit te drukken.
Benodigdheden
- nieuwe micro:bit met geluid (of MakeCode simulator)
- MakeCode of Python editor
- batterijpakket (optioneel)
Step 2: Codeer het
1from microbit import *
2maxSound = 0
3lights = Image("11111:"
4 "11111:"
5 "11111:"
6 "11111:"
7 "11111")
8# ignore first sound level reading
9soundLevel = microphone.sound_level()
10sleep(200)
11
12while True:
13 if button_a.is_pressed():
14 display.scroll(maxSound)
15 else:
16 soundLevel = microphone.sound_level()
17 display.show(lights * soundLevel)
18 if soundLevel > maxSound:
19 maxSound = soundLevel
20
Stap 3: Verbeter het
- Pas het project aan zodat het ook het stilste of minimale geluidsniveau registreert
- Gebruik radio om geluidsniveaus naar een andere micro:bit te sturen, zodat je de geluidsniveaus op afstand kunt controleren
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.