Skip to content

Atividade

Alarme de porta simples

Intermédio | MakeCode, Python | Botões, Bússola, Ecrã LED | Magnetismo, Operadores relacionais, Seleção

Passo 1: Faz tu mesmo

O que é isto?

Alguém esteve no teu quarto? Podes fazer um alarme para apanhar bisbilhoteiros inesperados com um micro:bit, pilhas e um íman.

Introdução

Guia do código

Como é que funciona

  • Neste projeto vais fazer um alarme de porta que funciona como o sensor de um sistema de segurança a sério.
  • O teu micro:bit tem um sensor bússula integrado chamado magnetómetro. Podes usá-lo como bússula para medir o campo magnético da Terra, ou para perceber a força de um campo magnético próximo de ti!
  • Prende um íman à beirinha da porta e um micro:bit com o programa do sensor perto dele, agarrado à ombreira da porta (como na fotografia).
  • O programa usa o sensor de entrada bússula (magnetómetro) do micro:bit e um loop forever para medir continuamente a força do campo magnético.
  • É usada uma seleção que faz com que apareça uma cara zangada no ecrã de LEDs quando este valor vai abaixo de um certo nível (o limite). Isto quer dizer que o íman se afastou do micro:bit (quando a porta foi aberta) e que alguém entrou no teu quarto!
  • Ao carregares no botão A, aparece o valor atual da leitura do campo magnético. Podes usar este valor para ajustar o limite (tresholhd, em inglês) a ser usado para as leituras da porta aberta e fechada. Usamos 200 no nosso exemplo, mas isso depende da força do íman que estás a usar e se existem outros campos magnéticos por perto. O vídeo tutorial em cima mostra-te como se faz.
  • Carrega no botão A para apagar o ecrã e fazer reset ao alarme.

Do que é que precisas

  • um micro:bit
  • editor de código online MakeCode
  • suporte de pilhas
  • íman (magnetismo)
  • alguma forma de agarrar o íman, omicro:bit e as pilhas à porta e à ombreira da porta

Passo 2: Cria o teu código

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)

Passo 3: Melhora-o

  • Adiciona uma coluna e um alarme sonoro
  • Usa uma variável para contar o número de vezes que a porta foi aberta - vais ter de acrescentar código para saber quando foi aberta e (and) fechada
  • Cria um temporizador para saber quanto tempo a porta esteve aberta