Skip to content

Atividade

Vaga-lumes

Avançado | MakeCode, Python | Rádio, Visor LED | Comunicação, Randomização, Seleção

Primeiro passo: o projeto

Transforme um conjunto de micro:bits em um esplêndido enxame de vaga-lumes via comunicação por rádio.

Conjunto de micro:bits acionando um ao outro por rádio para que brilhem brevemente

O que você aprenderá:

  • Como usar a comunicação por rádio entre micro:bits para acionar eventos;
  • Como controlar o brilho do visor LED do micro:bit para torná-lo mais (ou menos) luminoso;
  • Como usar probabilidade e números aleatórios para imitar comportamentos reais.

O que é?

Vaga-lumes são insetos que usam bioluminescência (luminosidade produzida pelos seus corpos) para se comunicar uns com os outros.

Este projeto imita o comportamento de vaga-lumes reais usando o recurso de comunicação por rádio do micro:bit. A versão Python foi criada por Nicholas H. Tollervey, na qual a versão do MakeCode é baseada.

Instale o programa em pelo menos três micro:bits, que devem estar no mesmo local (cômodo). Pressione o botão A em qualquer micro:bit e você poderá ver um "enxame" de micro:bits piscando, à medida que receberem uma mensagem de rádio. Isso funciona melhor em uma sala escura usando vários micro:bits.

Uma vez que um micro:bit receba a mensagem de rádio, há a probabilidade, de um em cada dez, dele transmitir sua própria mensagem de rádio e iniciar uma nova onda de luzes brilhantes nos outros micro:bits.

Quando as luzes finalmente pararem, pressione o botão A em qualquer micro:bit para reiniciar o processo.

Como funciona:

  • O programa usa comunicação via rádio para enviar a mensagem "flash" (brilhar) quando você pressiona o botão A em um dos micro:bits;
  • Quando cada micro:bit recebe a mensagem, eles esperam por um período aleatório entre 50 e 350 milissegundos. Em seguida, o visor LED brilha e apaga gradualmente, imitando o brilho de um vaga-lume;
  • Logo depois, um número aleatório entre 0 e 9 é gerado. Se o número é 0, o micro:bit envia sua própria mensagem de rádio "flash", acionando o brilho em outros micro:bits vaga-lumes. Assim, há uma chance em cada dez de acender mais luzes em outros micro:bits;
  • Você pode usar uma combinação de micro:bits antigos e novos, mas todos devem estar equipados com as versões do MakeCode ou do Python. A comunicação por rádio funciona de forma ligeiramente diferente em cada linguagem de programação. Programas MakeCode não podem se comunicar via rádio com programas Python e vice-versa.

Itens necessários:

  • Pelo menos 3 micro:bits: quanto mais, melhor;
  • Conjunto de baterias (opcional).

Segundo passo: é hora de programar

Terceiro passo: vamos deixar o código ainda melhor

  • Altere a imagem exibida quando a tela piscar;
  • Modifique o código para aumentar ou diminuir as chances de ativar o modo vaga-lume em outros micro:bits. O intervalo de números aleatórios pode corresponder ao número de micro:bits disponíveis: aumente a probabilidade se não houver muitos micro:bits;
  • Crie grupos menores de vaga-lumes usando grupos de rádio diferentes. Dessa maneira, apenas os micro:bits com o mesmo número de grupo poderão se comunicar uns com os outros;
  • Tente mudar a intensidade do sinal de rádio.
    Para isso, use o bloco "radio set transmit power" no MakeCode.
    No Python, use o radio.config(power=7)
    e escolha um número entre 0 (sinal de rádio mais fraco) e 7 (sinal mais forte).
    Qual é o efeito ao mudar a intensidade do sinal de rádio?