Primeiro passo: o projeto
O que é?
Meça o tempo de duração dos aplausos — ou de qualquer som alto — com este temporizador que usa o microfone do novo micro:bit.
Introdução
Código
O que você aprenderá:
- Como acionar eventos quando o microfone captar sons baixos e altos;
- Como usar o temporizador integrado do micro:bit;
- Como definir o limite para eventos altos e silenciosos.
Como funciona:
- O limite (limiar) para que um evento sonoro alto seja ativado é definido no início do programa. Use números maiores para registar sons mais altos e números menores para sons mais baixos. É possível usar qualquer número entre 0 e 255;
- Uma variável chamada start (início) é definida com o valor 0. Isto é usado para registar quando o som alto começar;
- 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 visor LED, para indicar que o temporizador foi iniciado;
- O tempo de execução é a medida, em milissegundos (milésimos de um segundo), de quanto tempo seu micro:bit está rodando o programa;
- Quando o som alto parar, um evento sonoro silencioso será acionado;
- Se já ocorreu um evento alto e o temporizador já iniciou, a variável start vai ter um valor maior (>) que 0. Neste caso, a variável time (tempo) é definida com o tempo atual menos o tempo de início. Isto nos diz o tempo de duração som alto;
- Como o tempo é medido em milissegundos, o programa divide-o por 1000 para convertê-lo em segundos, mostrando-o em seguida no visor LED.
Itens necessários:
- Um micro:bit;
- Editor MakeCode ou Python;
- Conjunto de baterias (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)
Terceiro passo: vamos deixar o código ainda melhor
- A fim de encontrar valores que se adéquem melhor às suas necessidades, teste valores de limiar diferentes para eventos sonoros altos e baixos;
- Implemente o código do Projeto Registador de Som para medir também a altura do aplauso.
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.