Skip to content

Atividade

Transmissor de proximidade

Avançado | MakeCode, Python | Rádio, Tela de LED | Comunicação, Ondas de rádio, Operadores aritméticos

Passo 1: Projeto

O que é?

Jogue 'mais quente ou mais frio' usando um par de micro:bits que enviam e recebem sinais de rádio.

Dois micro:bits e uma régua mostrando a distância entre eles

Como funciona

  • Como o projeto Transmissor de batimento cardíaco, ele usa um par de micro:bits para detectar quando um está perto do outro usando rádio mas esse programa também mede a força do sinal de rádio, para que você saiba quando está se aproximando (mais quente) ou mais longe ('mais frio').
  • Atualize o programa do receptor em um micro:bit e o transmissor (beacon) no outro. O transmissor (beacon) envia uma mensagem de rádio de baixa potência. Quando a mensagem é recebida, o programa receptor analisa a força do sinal de rádio: sinais fortes sugerem que você está perto do transmissor e sinais mais fracos sugerem que ainda está distante.
  • A versão MakeCode do programa exibe um gráfico de barras que aumenta quanto mais forte o sinal e mais próximo você está. Ele utiliza o bloco mapear para mapear os números de intensidade de sinal de rádio a partir do intervalo de -95 (fraco) a -42 (forte) para um intervalo de 0 a 9 e, em seguida, os desenha utilizando o bloco de gráfico de barras.
  • O Python não possui um gráfico de barras ou função de mapa integrados, portanto, funciona de maneira um pouco diferente. Todos os LEDs acendem quando você se aproxima do transmissor e, quanto mais perto você fica, mais brilhante eles ficam.
  • Isso é feito através da leitura de força de rádio usando o comando radio.receive_full(). Isso fornece a mensagem, a força do sinal e um registro de data e hora. Queremos apenas conhecer a força do sinal, então usamos signal = message[1] para extraí-lo e armazená-lo em uma variável chamada signal.
  • A intensidade do sinal pode estar no intervalo de -98 (mais fraco) a -45 (mais forte), e o programa Python define uma função chamada map para converter números nesse intervalo no intervalo de 0 a 9, que podemos usar para alterar o brilho dos LEDs: 0 significa desligado, 9 é o mais brilhante que um LED pode ficar. (Você pode querer reutilizar essa função em outros projetos Python, pois ela funciona muito parecido com o bloco de mapear no MakeCode).
  • O programa Python cria uma imagem 5x5 em branco chamada light usando o comando light = Image(5,5) Seu brilho é alterado usando o comando light.fill().

O que você precisa

  • 2 micro:bits e baterias
  • Editor MakeCode ou Python
  • bateria (opcional)

Passo 2: É hora de programar

Transmissor / beacon

Receptor

Passo 3: Vamos melhorar

  • Mude a potência do transmissor para cobrir uma área maior. A potência pode ser qualquer número de 0 a 7.
  • Tente alterar os números da faixa de intensidade do sinal para melhorar seu desempenho. Você pode testar quais são os pontos fortes do sinal escrevendo um programa para armazenar o sinal em uma variável e mostrá-lo no visor de LED ao pressionar um botão.
  • Use estes programas para criar um jogo de caça ao tesouro: oculte o transmissor (beacon) e desafie alguém a encontrá-lo. Você pode adicionar mais transmissores.