Primeiro passo: o projeto
O que é?
Será que alguém esteve em seu quarto? Com um micro:bit, um conjunto de baterias e um ímã você pode criar um alarme para pegar os bisbilhoteiros.
Introdução
Código
Como funciona:
- Neste projeto, você fará um alarme de porta que funciona como um verdadeiro sensor de porta em um sistema de segurança residencial;
- O seu micro:bit possui um sensor de bússola integrado, chamado magnetômetro. Ele pode ser usado como uma bússola para medir o campo magnético da Terra ou para detectar a força dos campos magnéticos próximo a você;
- Prenda um ímã no canto de uma porta e prenda o micro:bit com este programa próximo a ele, no batente da porta, conforme mostrado no vídeo;
- O programa usa o sensor (magnetômetro) da bússola do micro:bit e um laço de repetição infinito (forever loop) para continuar medindo a força do campo magnético;
- A seleção é utilizada, e um rosto zangado é exibido, quando o campo magnético ficar abaixo de um determinado nível (limite ou limiar). Isto indica que o ímã se afastou do micro:bit — quando a porta foi aberta. Portanto, alguém pode estar no seu quarto!
- Pressionar o botão A mostra a leitura atual da força magnética e use esse valor para decidir qual será o limite (threshold) utilizado para fazer as leituras da porta aberta e fechada. Usamos 200 em nosso exemplo, mas isso depende do nível de força do seu ímã e da existência de outros campos magnéticos nas proximidades. O vídeo acima (da direita) mostra como fazer isso;
- Pressione o botão A para limpar o rosto zangado e reiniciar o alarme.
Itens necessários:
- Um micro:bit;
- Editor on-line de código MakeCode;
- Conjunto de baterias;
- Ímã;
- Algo para prender o ímã na porta e o micro:bit com o conjunto de baterias no batente da porta.
Segundo passo: é hora de programar
1# Python uses nanoteslas to measure magnetism.
2# Experiment with different numbers depending on the
3# strength of your magnet, which you can read by
4# pressing button A.
5
6from microbit import *
7
8while True:
9 if button_a.was_pressed():
10 display.scroll(compass.get_field_strength())
11 if compass.get_field_strength() < 200000:
12 display.show(Image.ANGRY)
Terceiro passo: vamos deixar o código ainda melhor
- Adicione um alto-falante e um alarme audível;
- Use uma variável para contar o número de vezes que a sua porta foi aberta: você precisará incrementar o código caso queira saber quando a porta foi aberta e fechada;
- Crie um cronômetro para saber quanto tempo a porta ficou aberta.
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.