Skip to content

Atividade

Alarme de porta

Intermediário | MakeCode, Python | Botões, Bússola, Visor LED | Magnetismo, Operadores relacionais, Seleção

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.