Skip to content

Atividade

Bússola sonora

Intermediário | MakeCode, Python | Botões, Bússola, Som, Visor LED | Operadores relacionais, Seleção, Usando uma bússola, Variáveis

Primeiro passo: o projeto

O que é?

Crie uma bússola que emite um alerta sonoro quando você estiver apontando para o norte, a fim de torná-la mais acessível e útil.

Introdução

Código

O que você aprenderá:

  • Como usar as leituras da bússola do sensor magnetômetro do micro:bit;
  • Como usar variáveis, seleção, comparações e lógica para acionar eventos quando as leituras do sensor estiverem dentro de um intervalo numérico predeterminado.

Como funciona:

  • Um laço de repetição (loop) mantém o micro:bit verificando para que lado ele está apontando, o qual armazena sua direção em uma variável chamada direction;
  • Se a direção estiver entre 355 e 5 graus, significa que o logo do dispositivo está apontado para o Norte. Isso irá disparar um bipe e a letra N será exibida no visor LED;
  • É possível ouvir o som pelo alto-falante integrado se você tiver o novo micro:bit. Caso contrário, você pode conectar fones de ouvido aos pinos 0 e GND;
  • Se o micro:bit não estiver apontado para o norte, a tela é limpa e o alerta sonoro é interrompido;
  • Ao pressionar o botão A, também é possível ver uma leitura da bússola no visor LED se o micro:bit não estiver apontado para o norte;
  • Na primeira vez que usar um projeto de bússola em seu micro:bit, você provavelmente será convidado a jogar um joguinho. Nele será necessário inclinar a tela para iluminar todos os LEDs do visor. Isso fará a calibração da bússola, garantindo que ela está funcionando corretamente.
A rosa dos ventos e o micro:bit

Itens necessários:

  • Um micro:bit;
  • Editor MakeCode ou Python;
  • Conjunto de baterias (opcional).

Segundo passo: é hora de programar

1from microbit import *
2import music
3
4while True:
5    direction = compass.heading()
6    if direction < 5 or direction > 355:
7        display.show('N')
8        music.play("C4:1")
9    elif button_a.is_pressed():
10        display.scroll(direction)
11    else:
12        display.clear()
13        music.stop()
14

Terceiro passo: vamos deixar o código ainda melhor

  • Tente graus diferentes, dependendo da direção para a qual o seu micro:bit está apontando: sul, leste ou oeste;
  • Adicione outro botão para calibrar a bússola novamente se você acredita que ela não esteja calibrada. No MakeCode você encontrará o "calibrate compass" (calibrar bússola) ao clicar no bloco "Input" e depois no "...more", que aparecerá logo abaixo. No Python, use o compass.calibrate().