Skip to content

Activitat

Sensor de porta oberta amb avís

Expert | MakeCode, Python | Brúixola (sensor magnètic), Pantalla LED, Ràdio | Comunicació, Magnetisme, Operadors relacionals, Ràdio, Selecció, Sensors

Pas 1: Crea-ho

En què consisteix?

Una alarma sense fil per avisar-te quan algú obre una porta o la deixa oberta.

Com fer-ho

  • Necessitaràs dos micro:bits amb un programa diferent a cada un. Una micro:bit actua com a transmissor de ràdio i l'altra com a receptor de ràdio.
  • Col·loca la micro:bit del transmissor i la bateria a la cantonada del marc d'una porta i col·loca un imant a prop d'ella a la cantonada de la porta.
  • Col·loca la micro:bit receptor a qualsevol lloc proper.
  • Si l'alarma no funciona com esperaves, és possible que hagis de canviar el número de força magnètica al codi del transmissor. En prémer el botó A es mostra la lectura actual de la força magnètica. Utilitza'l per decidir el número del llindar, fent lectures amb la porta oberta i tancada.

Com funciona

  • El programa transmissor utilitza la  brúixola (magnetòmetre)  del sensor d'entrada de la micro:bit i un bucle per mesurar la força del camp magnètic cada dos segons.
  • Fa servir  selecció  de manera que quan la intensitat del camp magnètic cau per sota d'un cert nivell (el llindar), envia un senyal de   ràdio  'obert'. Si la lectura del magnetisme supera el llindar, envia el senyal "tancat".
  • Quan el receptor micro:bit rep el senyal "obert", apareix una creu a la pantalla LED i sona una alarma acústica. Quan rep el senyal de "tancat", apareix una marca a la pantalla LED i no es reprodueix cap so.

Què necessites

  • dos micro:bits i almenys una bateria
  • Un imant
  • una mica de màstic adhesiu per fixar un imant a una porta i una micro:bit a un marc de porta
  • si tens una micro:bit V1 i vols escoltar una alarma acústica, auriculars opcionals, timbre o altaveu i cables de pinces de cocodril per connectar-los

Pas 2: Programa-ho

Sensor / transmissor:

1from microbit import *
2import radio
3radio.config(group=17)
4radio.on()
5
6while True:
7    if button_a.was_pressed():
8        display.scroll(compass.get_field_strength())
9    if compass.get_field_strength() < 100000:
10        display.show(Image.DIAMOND_SMALL)
11        radio.send('open')
12    else:
13        display.clear()
14        radio.send('closed')
15    sleep(2000)
16

Alarma / receptor:

1from microbit import *
2import music
3import radio
4radio.config(group=17)
5radio.on()
6
7while True:
8    message = radio.receive()
9    if message:
10        if message == 'open':
11            display.show(Image.NO)
12            music.play(["C4:4"])
13        if message == 'closed':
14            display.show(Image.YES)
15

Pas 3: Millora-ho

  • Utilitza diversos micro:bits per fer un seguiment de l'estat de diferents portes enviant diferents missatges de ràdio, p.e. 'porta del darrere oberta'.
  • Utilitza una variable per mesurar quant de temps es deixen obertes les portes: això us pot ajudar a estalviar energia de calefacció?