Skip to content

Atividade

Palmas pulsantes

Iniciante | MakeCode, Python | Microfone, Visor LED | Entrada/saída

Primeiro passo: o projeto

O que é?

Faça o novo microfone micro:bit responder a palmas e batidas com um animado show de luzes.

Introdução

Código

O que você aprenderá:

  • Como computadores recebem entradas de dados, processam-nas usando código e criam diferentes saídas (resultados);
  • Como usa o novo microfone integrado do micro:bit para acionar eventos em seu código;
  • Como o microfone do micro:bit pode ser usado tanto para responder a sons baixos como a sons altos.

Como funciona:

  • Quando o microfone capta um som alto, como uma palma, ele mostra um grande coração no visor LED;
  • Se o microfone captar um som baixo, quando você terminar de bater palmas, por exemplo, ele mostrará um coração pequeno;
  • O efeito pretendido é criar uma animação simples de um coração, que responde a palmas ou batidas musicais fortes.

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 *
2
3while True:
4    if microphone.current_event() == SoundEvent.LOUD:
5        display.show(Image.HEART)
6        sleep(200)
7    if microphone.current_event() == SoundEvent.QUIET:
8        display.show(Image.HEART_SMALL)

Terceiro passo: vamos deixar o código ainda melhor

  • Crie sua própria animação usando outros ícones ou desenhando suas próprias imagens;
  • Faça o micro:bit responder a um som alto com um som próprio. Isso causaria problemas? Como você poderia revolvê-los?
  • Você pode mudar o nível sonoro que aciona um evento sonoro alto. Este nível é chamado de limiar. No MakeCode, use o bloco de entrada de dados "set lound sound threshold to..." (definir limiar do som alto para...) para escolher os diferentes níveis de volume que tornam o microfone mais ou menos sensível a sons altos;
  • Para mudar o limiar sonoro no Python, use o microphone.set_threshold(SoundEvent.LOUD, 128), mudando o valor 128 para o valor que desejar, dentro do intervalo entre 0 e 255.