Skip to content

Atividade

Registrador de níveis de som

Intermediário | MakeCode, Python | Microfone, Visor LED | Entrada/saída, Manipulação de dados, Operadores aritméticos, Variáveis

Primeiro passo: o projeto

O que é?

Crie um registrador de níveis de som para saber se os espaços que você frequenta são silenciosos ou barulhentos.

Introdução

Código

O que você aprenderá:

  • Como usar o sensor do microfone integrado do novo micro:bit para medir o volume de um som;
  • Como usar variáveis e operadores lógicos para monitorar os valores mais altos enquanto coleta dados reais.

Como funciona:

  • O microfone do novo micro:bit mede os níveis de som em números entre 0 e 255, tal como o sensor de luminosidade;
  • Um laço de repetição (loop) compara constantemente o nível de som atual com a variável maxSound, que armazena o valor do som mais alto. Se o som atual for mais alto que o som registado previamente, o valor da variável maxSound é substituído pelo novo valor do som mais alto;
  • Dentro do laço de repetição existe um comando if (se), o qual verifica se você pressionou o botão A, que, caso pressionado, exibe o valor (número) do nível do som no visor LED. Isso pode ser usado para monitorar o nível de ruído em locais diferentes ao longo do tempo;
  • Pressione o botão reiniciar na parte traseira do micro:bit para reinicializar o valor máximo.

Itens necessários:

  • Novo micro:bit com alto-falante (ou o simulador MakeCode);
  • Editor MakeCode ou Python;
  • Conjunto de baterias (opcional).

Segundo passo: é hora de programar

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            

Terceiro passo: vamos deixar o código ainda melhor

  • Altere o projeto para que ele também registe o nível do som mais baixo;
  • Envie os níveis sonoros a outro micro:bit via rádio, para que seja possível monitorar os níveis de som à distância.