Aprenda a usar o microfone da micro:bit - guia completo!
Utilizando o microfone da micro:bit

Utilizando o microfone da micro:bit

Deixe um comentário

Nesta aula, exploramos o funcionamento do microfone do kit micro:bit, um componente integrado que permite capturar e medir níveis de som no ambiente. 

No MakeCode, aprendemos a utilizar o bloco “nível de som (dB)” para ler o nível de som ambiente e o bloco “se verdadeiro então” para verificar se o som ultrapassa um valor limiar, acionando a reprodução de um tom específico com o bloco “tocar tom”. 

No Python Editor, usamos a função microphone.sound_level() para monitorar o nível de som e implementar um projeto de alarme sonoro, que toca um som definido quando o som ultrapassa um limiar predefinido.

Como funciona o microfone da micro:bit?

O microfone da micro:bit é um componente integrado que permite capturar e medir níveis de som no ambiente. A placa micro:bit v2 inclui um microfone MEMS (Micro-Electro-Mechanical System) que é capaz de detectar sons e convertê-los em sinais elétricos, que podem ser processados pela placa para realizar diversas funções baseadas na detecção de áudio.

Como funciona o microfone da microbit

O microfone MEMS funciona através de um diafragma que vibra em resposta às ondas sonoras. Essas vibrações são convertidas em um sinal elétrico que pode ser lido pelo microcontrolador da micro:bit. A sensibilidade do microfone permite detectar uma ampla gama de sons, desde ruídos de fundo suaves até sons mais altos e distintos.

Além disso, a micro:bit possui uma função específica para medir o nível de som ambiente. O nível de som é representado em uma escala de 0 a 255, onde 0 indica silêncio absoluto e 255 indica o som mais alto que o microfone pode detectar. A medição contínua do nível de som permite criar projetos interativos que respondem a mudanças no ambiente sonoro.

Como funciona o microfone da microbit

Na micro:bit v2, há um pequeno LED na parte frontal  da placa que pisca quando o microfone detecta som. Esse LED é uma ferramenta útil para verificar visualmente se o microfone está capturando som, especialmente durante a depuração e o desenvolvimento de projetos.

O microfone da micro:bit pode ser utilizado em diversos projetos e aplicações, como:

  • Controle por Voz: Criar comandos de voz simples para controlar LEDs, motores e outros componentes.
  • Alarme Sonoro: Configurar um alarme que dispara quando o som ambiente ultrapassa um determinado nível.
  • Medidor de Ruído: Monitorar os níveis de som em diferentes ambientes e registrar os dados para análise posterior.
  • Jogos Interativos: Desenvolver jogos que respondem a sons ou palmas, aumentando a interatividade.

O microfone da micro:bit oferece várias vantagens. Primeiramente, sua integração simples é um grande benefício, pois o microfone está embutido na placa, eliminando a necessidade de componentes externos adicionais. Além disso, a micro:bit possui um LED indicador que fornece feedback visual, facilitando a verificação do funcionamento do microfone. Outra vantagem significativa é a versatilidade do microfone, que pode ser utilizado em uma ampla variedade de projetos criativos e educacionais.

No entanto, o microfone da micro:bit também apresenta algumas limitações. Uma das principais é a sua sensibilidade a ruídos de fundo, o que pode exigir a implementação de técnicas de filtragem de ruído para garantir a precisão em determinadas aplicações. Além disso, o alcance do microfone é limitado, o que o torna mais adequado para a detecção de sons próximos. Essas limitações devem ser consideradas ao desenvolver projetos que utilizam o microfone da micro:bit.

Com o conhecimento sobre o funcionamento do microfone da micro:bit, você estará pronto para explorar os próximos tópicos desta aula, onde aprenderemos a detectar sons e criar projetos práticos utilizando o microfone.

Microfone da micro:bit: Detectando sons

O microfone da micro:bit é um componente integrado que permite detectar sons e responder a estímulos sonoros em seus projetos. Ele é capaz de medir o nível de som ambiente e converter esses dados em sinais digitais que podem ser processados pelo microcontrolador da placa. Isso possibilita a criação de diversos projetos interativos baseados em som.

Para detectar sons com a micro:bit, é necessário programá-la para ler os dados do microfone. A seguir, veremos como fazer isso de maneira prática tanto no MakeCode quanto no Python Editor.

Detectando Sons no MakeCode

Para detectar sons através do microfone da micro:bit usando o MakeCode, siga os passos abaixo:

 

  • Acessar o Nível de Som: No MakeCode, vá para a aba “Entrada” e arraste o bloco “sound level” para o espaço de trabalho.
  • Exibir o Nível de Som: Use o bloco “mostrar número” da categoria “Básico” para exibir o valor do nível de som na matriz de LEDs. Conecte o bloco “sound level” ao bloco “mostrar número”.

Esse exemplo exibirá o nível de som atual na matriz de LEDs da micro:bit quando um som alto for detectado.

Além de simplesmente exibir o nível de som, você pode programar a micro:bit para realizar uma ação quando um certo nível de som for detectado.

 

  • Configurar Ação de Som: Use o bloco “ao som alto” da aba “Entrada” para detectar sons altos. Adicione uma ação dentro deste bloco, como acender um LED.

Nesse exemplo, a micro:bit exibirá um ícone feliz na matriz de LEDs quando um som alto for detectado.

Detectando Sons no Python Editor

Para detectar sons através do microfone da micro:bit usando o Python Editor, siga os passos abaixo:

Primeiro, importe a biblioteca microbit.

from microbit import *

Utilize a função microphone.sound_level() para obter o nível de som atual.

sound_level = microphone.sound_level()

Use a função display.scroll() para exibir o valor na matriz de LEDs.

display.scroll(str(sound_level))

Aqui está o exemplo completo para detectar o som na micro:bit no Python Editor:

 

from microbit import *

while True:
    sound_level = microphone.sound_level()
    display.scroll(str(sound_level))
    sleep(1000)

Neste exemplo, a micro:bit lê o nível de som a cada segundo e exibe o valor na matriz de LEDs.

Você também pode usar uma estrutura condicional para verificar se o nível de som excede um certo valor e execute uma ação.

 

from microbit import *

while True:
    sound_level = microphone.sound_level()
    if sound_level > 150:  # Exemplo de um nível de som alto
        display.show(Image.HAPPY)
    else:
        display.clear()
    sleep(100)

Nesse exemplo, a micro:bit exibirá um ícone feliz na matriz de LEDs quando o nível de som for maior que 150.

Explorar as capacidades do microfone da micro:bit abre um mundo de possibilidades para criar projetos inovadores e interativos. A detecção de som pode ser usada em aplicações práticas e educativas, proporcionando uma forma divertida e envolvente de aprender sobre eletrônica e programação.

Microfone da micro:bit: Projeto Alarme Sonoro

Neste projeto, vamos criar um alarme sonoro utilizando a micro:bit. O alarme será acionado quando o nível de som ambiente ultrapassar um determinado limiar, indicando um som alto ou ruído inesperado. Vamos explorar como implementar esse projeto tanto no MakeCode quanto no Python Editor.

Alarme Sonoro no MakeCode

 

  • Na aba “Entrada”, arraste o bloco “sound level” para o espaço de trabalho.
  • Em “Lógica”, arraste um bloco “se verdadeiro então” e coloque dentro dele um bloco de comparação (“>”).
  • Conecte o bloco “sound level” ao lado esquerdo do bloco de comparação e defina um valor limiar à direita (por exemplo, 150).
  • Dentro do bloco “se verdadeiro então”, adicione um bloco “play melody” da aba “Música”.

No MakeCode, o bloco “nível de som (dB)” lê o nível de som ambiente em decibéis, enquanto o bloco “se verdadeiro então” verifica se o nível de som ultrapassa o valor limiar definido. Caso o nível de som exceda esse limiar, o bloco “tocar tom” é acionado para tocar um tom específico.

Alarme Sonoro no Python Editor

 

Insira o seguinte código para monitorar o nível de som e ativar o alarme.

from microbit import *
import music

threshold = 150  # Defina o valor limiar para o alarme

while True:
    sound_level = microphone.sound_level()
    if sound_level > threshold:
        music.play(music.BA_DING)
    sleep(100)

No Python Editor, a função microphone.sound_level() retorna o nível de som atual medido pelo microfone, enquanto music.play(music.BA_DING) toca um som de alarme quando o nível de som ultrapassa o limiar definido. O threshold define o valor limiar necessário para acionar o alarme.

Este projeto de alarme sonoro com a micro:bit é uma maneira excelente de aprender sobre eletrônica e programação, além de proporcionar uma ferramenta útil para diversas aplicações de monitoramento e alerta.

Microfone da micro:bit: Projeto Clap Switch

Um Clap Switch é um projeto simples e divertido que permite ligar ou desligar um dispositivo com o som de palmas. Utilizando a micro:bit, podemos criar um Clap Switch para controlar um LED ou qualquer outro dispositivo conectado.

Clap Switch no MakeCode

 

  • Arraste um bloco “para sempre” do menu “Básico” para o espaço de trabalho.
  • Dentro do bloco “para sempre”, adicione um bloco “se verdadeiro então” do menu “Lógica”.
  • No bloco “se verdadeiro então”, coloque um bloco de comparação (“>”) do menu “Lógica”.
  • Conecte o bloco “nível de som (dB)” do menu “Entrada” ao lado esquerdo do bloco de comparação e defina o valor 100 no lado direito.
  • Dentro da condição “se verdadeiro então”, adicione um bloco “mostrar LEDs” do menu “Básico” e desenhe o padrão desejado.
  • No bloco “senão” (opcional, mas útil para clareza), adicione um bloco “limpar tela”.

O bloco “para sempre” executa o código repetidamente, enquanto “se verdadeiro então” verifica se o nível de som é maior que 100. O bloco “mostrar LEDs” exibe o padrão de LEDs especificado, e “limpar tela” apaga a matriz de LEDs se o som não ultrapassar o limiar.

Clap Switch no Python Editor

 

from microbit import *

def on_forever():
    while True:
        if microphone.sound_level() > 100:
            display.show(Image(".....\n"
                               "..#..\n"
                               ".###.\n"
                               "..#..\n"
                               "....."))
        else:
            display.clear()
        sleep(100)

on_forever()

A função on_forever monitora o nível de som em um loop infinito, enquanto microphone.sound_level() retorna o nível de som atual. A função display.show exibe o padrão de LEDs quando o som é maior que 100, e display.clear apaga os LEDs quando o som está abaixo do limiar. A função sleep(100) adiciona uma pequena pausa para evitar múltiplas detecções do mesmo som.

Com este projeto, você pode controlar um dispositivo conectado à micro:bit com o som de palmas. É um exemplo excelente de como o microfone integrado pode ser usado para criar projetos interativos e responsivos. Experimente ajustar o limiar de som e a pausa para otimizar a detecção de palmas conforme necessário para seu ambiente específico.

Faça seu comentário

Acesse sua conta e participe