Skip to content

Atividade

Aplaude para acender luzes

Principiante | MakeCode, Python | Ecrã LED, Microfone | Lógica Booleana, Seleção, Sensores

Passo 1: Faz tu mesmo

O que é isto?

Transforma o teu micro:bit numa luz que podes acender e apagar a bater palmas ou com qualquer som alto.

Introdução

Guia do código

O que é que vais aprender

  • Como mudar a saída (output) em função da entrada (input) do sensor
  • Como usar a lógica booleana para que um interruptor se ligue e desligue quando ativado pelo mesmo evento.

Como é que funciona

  • O programa usa uma variável chamada lightsOn (luzes ligadas) que serve para registar se a vela está acesa ou apagada. Estamos usá-la como uma variável especial, chamada variável Booleana. As variáveis booleanas só podem ter dois valores: true (verdade/ligado/on) ou false (falso/desligado/off).
  • Quando o sensor de microfone deteta um som alto, o código alterna o valor da viarável lightsOn definindo-o como not lightsOn (apagado).
  • Isto quer dizer que quando bates palmas, se (if) lightsOn é falso (e as luzes estão apagadas), ele torna-se verdade (true) e o programa acende os LEDs.
  • Se (if) lightsOn for verdade (true) e as luzes estiverem acesas, então a variável torna-se falsa (false) e o código desliga as luzes, apagando o ecrã de LEDs do micro:bit.

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 *
2lightsOn = False
3
4while True:
5    if microphone.was_event(SoundEvent.LOUD):
6        lightsOn = not lightsOn
7        if lightsOn:
8            display.show(Image('99999:'
9                               '99999:'
10                               '99999:'
11                               '99999:'
12                               '99999'))
13        else:
14            display.clear()
15    sleep(100)

Passo 3: Melhora-o

  • Podes tornar o bloco "on loud sound" (com som alto) mais ou menos sensível acrescentando o bloco "set loud sound threshold" (define limite de som alto) no bloco "on start" (no início). Usa números menores para sons mais baixos, números maiores para sons mais altos. O vídeo tutorial em cima mostra-te como se faz.
  • Em Python, podes mudar o limite dos sons mais altos usando microphone.set_threshold(SoundEvent.LOUD, 128), alterando o número 128 para um valor à tua escolha entre 0 e 255.
  • Faz com que toque uma melodia quando as luzes acendem.
  • Usa som para controlar outros projetos, como ligar LEDs ou motores servo conectados aos pins do teu micro:bit.