Skip to content

Atividade

Bússula sonora

Intermédio | MakeCode, Python | Botões, Bússola, Ecrã LED, Som | Operadores relacionais, Seleção, Usar uma bússola, Variáveis

Passo 1: Faz tu mesmo

O que é isto?

Faz uma bússola que lança um som quando estiveres a apontar para o Norte, tornando-a acessível e útil.

Introdução

Guia do código

O que é que vais aprender

  • Como usar as leituras de bússola do sensor de magnetómetro do micro:bit
  • Como usar variáveis, seleção, comparações e lógica para acionar eventos quando leituras do sensor caem em vários números

Como é que funciona

  • Um loop faz com que o micro:bit a verifique constantemente para que direção estás virado. Este valor é guardado numa variável chamada direction (direção).
  • Se a direção estiver entre 355 e 5 graus é porque estás virado para Norte, por isso aparece no ecrã de LEDs um N e é lançado um som de alarme.
  • Se tiveres o modelo novo do micro:bit, vais poder ouvir o som na saída de audio incorporada, caso contrário, vais ter de conectar uns auriculares aos pins 0 e GND.
  • Se não estiveres virado para Norte, o ecrã fica desligado e o som pára.
  • Caso não estejas virada para Norte, também podes carregar no botão A para ver a leitura da bússula no ecrã de LEDs.
  • Quando usares a bússola pela primeira vez, é provável que sejas convidada a fazer um joguinho. Move o ecrã para um lado e para outro até todos os LEDs estarem acesos. Isto calibra a bússula e garante que esta está a funcionar corretamente.
micro:bit e rosa dos ventos

Do que é que precisas

  • Um micro:bit
  • Editor MakeCode ou Python
  • Suporte de pilhas (opcional)

Passo 2: Cria o teu código

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

Passo 3: Melhora-o

  • Toca diferentes notas musicais dependendo da direção para onde te viras: Sul, Este ou Oeste.
  • Acrescenta outro botão para calibrar novamente a bússula se achas que as leituras não estão exactas. No MakeCode podes encontrar o bloco "calibrate compass" (calibrar bússula) debaixo de Entrada... mais. Em Python, usa compass.calibrate()