Primeiro passo: o projeto
O que é?
Crie uma vela eletrônica que você pode apagar com um sopro. O novo microfone integrado da micro:bit capta o som do seu sopro e apaga a vela - e a liga novamente.
Introdução
Guia do código
O que você aprenderá
- Como usar números aleatórios para acender LEDs aleatórios
- Como trocar as saídas em resposta às entradas do sensor
- Usando lógica booleana para fazer um interruptor ligar e desligar ao ser acionado por uma mesma ação.
Como funciona
- Um número aleatório entre 1 e 3 está armazenado em uma variável chamada flicker.
- Este número é usado para ligar e desligar LEDs aleatoriamente para fazê-lo parecer como uma chama trêmula.
- O LEDs do micro:bit são organizados em grade com colunas e linhas numeradas de 0 a 4. O programa plota (liga) e desplota (desliga) diferentes LEDs na linha de cima dependendo do número aleatório armazenado em variável flicker.
- As coordenadas dos LEDs sempre são dadas na coluna que cruza primeiro (o eixo X) , em seguida, a linha de cima e baixo (eixo Y). O centro da chama é a coordenad (2,0).

- Um loop infinito mantém a animação em execução.
- O programa também usa uma variável chamadalitpara verificar se a vela está acesa ou não. Esta é uma variável booleana. Variáveis booleanas podem armazenar apenas dois valores: verdadeiro (ligado) ou falso (desligado).
- Quando o microfone captar um som alto, por exemplo, quando você sopra no microfone, o código muda o valor de aceso para não aceso. Assim, quando você sopra no microfone, se aceso é verdade, isso se torna falso e a tela é acesa, desligando os LEDs.
- Se aceso fosse falso, isso se tornaria verdadeiro e religaria a animação.
O que você precisa
- Um micro:bit
- Editor MakeCode ou Python
- bateria (opcional)
Passo 2: É hora de programar
1from microbit import *
2import random
3
4lit = True
5
6while True:
7 if microphone.was_event(SoundEvent.LOUD):
8 lit = not lit
9 sleep(500)
10 if lit:
11 display.show(Image(
12 "00900:"
13 "09990:"
14 "09990:"
15 "09990:"
16 "09990"))
17 sleep(150)
18 flicker = random.randint(1, 3)
19 if flicker != 2:
20 display.set_pixel(2,0,0)
21 display.set_pixel(flicker,0,9)
22 sleep(150)
23 else:
24 display.clear()Passo 3: Vamos melhorar
- Crie seu próprio design para animação que desliga ou liga usando o som.
- Você pode criar o bloco de 'som de ligado' mais ou menos por adicionar um bloco de 'definir limiar do som' ao o bloco iniciar. Encontre isto debaixo de Input e '...mais.' Use números pequenos para sons mais baixos, números maiores para sons mais altos.
- Em Python, para mudar o limiar de sons altos, use
microphone.set_threshold(SoundEvent.LOUD, 128)antes do loop dewhile True:, mudando o número 128 para o valor de som que você quiser. Esse pode ser qualquer número entre 0 e 255, com o 255 sendo o som mais alto.


