Skip to content

Atividade

Interruptor de palmas

Iniciante | MakeCode, Python | Microfone, Visor LED | Lógica booleana, Seleção, Sensores

Primeiro passo: o projeto

O que é?

Transforme seu micro:bit em uma lâmpada, que pode ser desligada batendo palmas ou por meio de qualquer som alto.

Introdução

Código

O que você aprenderá:

  • Como mudar os resultados (saídas) em resposta às entradas do sensor;
  • Como usar a lógica booleana para fazer um interruptor ligar e desligar ao ser acionado pelo mesmo evento.

Como funciona:

  • O programa usa uma variável chamada lightsOn (luzLigada) para monitorar o status da luz: se está ligada ou não. Nós a definiremos como um tipo especial de variável, uma variável booleana. Variáveis booleanas só podem ter dois valores: verdadeiro (ligado) ou falso (desligado);
  • Quando o microfone captar um som alto, o código muda o valor de lightsOn para not lightsOn (a luz não está ligada);
  • Isso significa que se o valor da variável lightsOn for falso (e as luzes estiverem apagadas), este mudará para verdadeiro ao bater palmas, fazendo com que o programa acenda os LEDs;
  • Mas, se o valor da variável lightsOn fosse verdadeiro (e as luzes estivessem ligadas), este mudaria para falso, então o programa desligaria os LEDs limpando a tela.

Itens necessários:

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

Segundo passo: é hora de programar

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)

Terceiro passo: vamos deixar o código ainda melhor

  • Você pode tornar o bloco "on loud sound" (som alto ligado) mais ou menos sensível adicionando o bloco "set loud sound threshold" (definir limiar de som) ao bloco "on start". Use números menores para sons mais baixos e números maiores para sons mais altos. O segundo vídeo, fixado no primeiro passo, ensina como fazer isso;
  • Em Python, para mudar o limiar de sons altos, use o microphone.set_threshold(SoundEvent.LOUD, 128) mudando o número 128 para o valor de som que quiser entre 0 e 255
  • Também é possível fazer as luzes tocarem uma melodia quando são ligadas;
  • Use o som em outros projetos, tais como aqueles com LEDs ou servomotores conectados aos pinos do seu micro:bit.