Skip to content

Atividade

Interruptor de luz IA

Intermediário | MakeCode | Acelerômetro, Rádio, Visor LED | Aprendizagem de máquina, Entendendo IA, Entrada/saída

Faça um interruptor de luz IA com micro:bit CreateAI que ligue a luz quando você bater palco e desligar quando você acena.

Guia do projeto passo a passo

Passo 1: Entender

Como funciona?

Neste projeto, você vai treinar um modelo de aprendizado de máquina (ML ou Machine Learning) para reconhecer quando você está aplaudindo e acenando.

Você combinará esse modelo com um programa MakeCode que envia um sinal de rádio 'lightsOn' para outro micro:bit sempre que aplauder, e um sinal de rádio "lightsOff" sempre que se onde.

Quando o receptor micro:bit receber o sinal ‘lighttsOn’, todos os seus LEDs acendem. Quando recebe o sinal 'lightsOff', limpa sua tela de LED.

O que é aprendizado de máquina?

Aprendizado de máquina (ML ou Machine Learning) é um tipo de inteligência artificial (IA) onde os computadores podem aprender e tomar decisões com base em dados.

Os modelos de ML são treinados por humanos para ajudá-los a tomar essas decisões, por exemplo, reconhecer diferentes 'ações' quando você move seu micro:bit de maneiras diferentes.

O que eu precisarei fazer?

Os sistemas de IA precisam de humanos para projetá-los, construí-los, testá-los e usá-los. Você vai coletar dados para treinar um modelo ML, testá-lo, melhorar, e combiná-lo com o código do computador para criar um dispositivo inteligente que usa I.A. Você usará um micro:bit e o site micro:bit CreateAI para fazer isso.

Passo 2: Criação

Itens necessários:

Colete amostras de dados

Quando você abrir o projeto no micro:bit CreateAI, verá que fornecemos algumas amostras de dados para as ações de ‘acenar’, ‘aplaudir’ e ‘ficar parado’

Você pode adicionar suas próprias amostras de movimento no micro:bit  através do sensor de movimento ou do acelerômetro.

No micro:bit CreateAI, clique no botão 'Conectar' para conectar seu micro:bit de coleta de dados e siga as instruções.

Foto do micro:bit com ícone cruzado em sua tela, anexada ao pulso de alguém.

Anexe o micro:bit ao seu pulso. Clique na primeira ação, "acenando" e clique em "Gravar". Caso cometa um erro, você pode excluir as amostras que não desejar. Também é possível pressionar o botão B no micro:bit para começar a gravar.

Se você quiser gravar continuamente por 10 segundos para obter 10 amostras, clique nos três pontos ao lado do botão de registro e selecione essa opção.

gora registre suas próprias amostras de dados para as ações de ‘clapping’ (bater palmas) e ‘still’ (ficar parado), certificando-se de, para ‘still’, coletar amostras em diferentes posições, como voltado para cima e para baixo.

Treine e teste o modelo

Clique no botão "Treine modelo" para treinar o modelo. Tente bater palmas, acenar e ficar parado para ver se essas ações são reconhecidas. Entregue seu micro:bit para outra pessoa usar (certifique-se de que ela o coloque no mesmo pulso e na mesma orientação) e veja se funciona bem para ela também.

Aprimore seu modelo

A maioria dos modelos pode ser aprimorada com mais dados. Se o modelo precisar de melhorias, clique em ‘← Editar amostras de dados’.

Você pode excluir quaisquer amostras de dados que achar inadequadas ou adicionar mais amostras.

Treine o modelo novamente e teste-o de novo.

Coloque o modelo e o código no seu micro:bit

No micro:bit CreateAI, clique em "Editar no MakeCode" para ver o código do projeto no editor MakeCode.

Você pode modificar o código ou apenas testá-lo como está. Conecte o primeiro micro:bit usando um cabo USB, clique no botão ‘Download’ na tela do MakeCode e siga as instruções para transferir seu modelo de IA e os blocos de código para ele. Depois, faça o download novamente para outro micro:bit.

Conecte um pacote de baterias ao micro:bit transmissor. Você pode manter o micro:bit receptor conectado ao computador ou conectá-lo a um pacote de baterias. Agora use o micro:bit transmissor e teste-o.

Como funcionam os blocos de código

Quando o programa inicia, o grupo de rádio é definido como 52. Os grupos de rádio são como canais, então qualquer micro:bit usando o mesmo grupo receberá a mensagem. É possível escolher qualquer número de grupo entre 0 e 255; Se você estiver usando este projeto em uma aula ou clube de programação, pode incentivar cada dupla ou grupo de alunos a usar um grupo de rádio diferente dos outros da turma.

Os blocos ‘on ML... start’ são acionados quando o modelo de ML do micro:bit transmissor decide que você começou a acenar, bater palmas ou ficar parado.

Se você estiver batendo palmas, o bloco ‘on ML clapping start’ faz aparecer um ícone de check no display de LEDs do micro:bit transmissor e envia a mensagem de rádio ‘lightsOn’ para o micro:bit receptor. Se você estiver acenando, o bloco ‘on ML waving start’ faz aparecer um ícone de X no display de LEDs do micro:bit transmissor e envia a mensagem de rádio ‘lightsOff’ para o micro:bit receptor.

Se você estiver parado ou o micro:bit transmissor não conseguir reconhecer seus movimentos, o display de LEDs é apagado e nenhuma mensagem de rádio é enviada.

Os blocos ‘on radio received’ acendem todos os LEDs no micro:bit receptor se for recebida uma mensagem dizendo ‘lightsOn’ e apagam a tela se for recebida uma mensagem dizendo ‘lightsOff’.

Os blocos ‘on radio received lightsOn / lightsOff’ vêm de uma extensão do MakeCode chamada ‘Radio broadcast’. Se quiser programar este projeto por conta própria, você pode encontrar os blocos clicando em ‘Extensões’ e escolhendo ‘Radio broadcast’.

Avaliação

Quão preciso é o interruptor de luz ao ligar e desligar em resposta aos seus movimentos? Como você poderia melhorá-lo, se necessário?

Quão útil seria este dispositivo na vida real? Como ele se compara a um interruptor de luz comum?

Passo 3: Melhorias

  • Você poderia iluminar uma sala colocando o mesmo código em vários micro:bits. Mantenha os outros micro:bits parados enquanto alguém move outro para ligar ou desligar todos.
  • Adicione uma quarta ação que faça o micro:bit receptor mostrar luzes fracas. Use o bloco ‘set brightness’, encontrado na seção de LEDs em ‘Mais’.