Passo 1: Faz tu mesmo
O que é isto?
Mede quanto tempo dura o som dos aplausos - ou de qualquer som alto - com este temporizador que usa o microfone do novo micro:bit.
Introdução
Guia do código
O que é que vais aprender
- Como lançar eventos quando o microfone capta sons baixos e altos
 - Como usar o temporizador integrado do micro:bit
 - Como definir o limite para eventos altos e silenciosos
 
Como é que funciona
- No início do programa, é definido o limite para acionar um evento sonoro alto. Usa números maiores para registar sons mais altos, e números menores para sons mais baixos. Podes usar qualquer número entre 0 e 255.
 - Uma variável chamada start (início) está definida como 0. Isto é usado para registar quando o som alto começa.
 - Quando o microfone detecta um som alto, a variável start é definida com o tempo atual de execução do micro:bit e um ícone é mostrado no ecrã de LEDs para que saibas que o temporizador começou.
 - Tempo de execução é a medida do tempo em milissegundos (milésimos de um segundo) que o teu micro:bit correu o programa.
 - Quando o som alto pára, é lançado um evento sonoro silencioso.
 - Se já houve um evento alto e o temporizador iniciou, a variável start vai ter um valor maior (>) 0. Neste caso, a variável time (tempo) é definida com o tempo atual menos o tempo de início. Isto diz-nos quanto tempo o som alto durou.
 - Como o tempo é medido em milissegundos, o programa divide-o em 1000 para convertê-lo em segundos, mostrando-o em seguida no ecrã de LEDs.
 
Do que é que precisas
- Um micro:bit
 - Editor MakeCode ou Python
 - Suporte de pilhas (opcional)
 
Passo 2: Cria o teu código
1from microbit import *
2microphone.set_threshold(SoundEvent.LOUD, 150)
3start = 0
4
5while True:
6    if microphone.was_event(SoundEvent.LOUD):
7        start = running_time()
8        display.show(Image.TARGET)
9
10    if microphone.was_event(SoundEvent.QUIET):
11        if start > 0:
12            time = running_time() - start
13            start = 0
14            display.clear()
15            sleep(100)
16            display.scroll(time / 1000)Passo 3: Melhora-o
- De maneira a encontrares os valores que se adequam melhor às tuas necessidades, experimenta diferentes valores para definir os limites para eventos sonoros altos e baixos.
 - Acrescente o código do Projeto Registador de Som de maneira a conseguires também medir quão alto foi o aplauso.
 
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.


