Skip to content

Activitat

alarma de llum

Expert | MakeCode, Python | Pantalla LED, Ràdio, Sensor de llum, So | Comunicació, Energia, Iteració, Llum, Operadors relacionals, Selecció, Sensors

Pas 1: Crea-ho

En què consisteix?

Una alarma controlada remotament per ràdio que t'avisa quan algú encén el llum - o quan algú obre un calaix o una bossa.

micro:bit mostrant una cara enfadada emetent ones de ràdio i una bombeta encesa

Com funciona

  • Com el projecte "Sensor de llum solar", aquest utilitza els leds de la micro:bit com un sensor de llum per mesurar quanta llum cau en la pantalla dels leds.
  • Fent servir un bucle, cada 10 segons el programa del sensor envia un missatge de ràdioper dir si hi ha llum o està fosc. Utilitza "selecció" per transmetre un missatge de "llums oberts" si la mesura de la llum és més gran que (>) 50, i "llums tancats" si és menys que (<) 50. Potser hauries de canviar aquests valors segons les condicions de llum d'on estàs.
  • Prement el botó A mostra la mesura de la llum a la pantalla dels leds que t'ajudarà a configurar la teva alarma, així pots canviar el 50 pel valor més adient per al teu nivell de llum ambient
  • El programa de l'alarma reacciona sempre que rebi un missatge. Si el missatge es igual a "llums tancats"llavors esborra la pantalla dels leds, però si es igual a"‘llums oberts" llavors mostra una cara enfadada i toca el so de l'alarma "BADDY (ENFADAT)".
  • Assegura't que el sensor i l'alarma fan servir el mateix grup de ràdio - qualsevol nombre entre 0 i 255.

Què necessites

  • 2 micro:bits, i almenys 1 d'elles amb paquet de piles
  • Alguna cosa valuosa que vulguis tenir vigilada
  • Opcionalment auriculars, brunzidors o altaveus amplificats per a l'alarma

Pas 2: Programa-ho

Sensor / transmissor:

1from microbit import *
2import radio
3radio.config(group=5)
4radio.on()
5
6while True:
7    if button_a.was_pressed():
8        display.scroll(display.read_light_level())
9    if display.read_light_level() > 50:
10        radio.send('lights on')
11    else:
12        radio.send('lights off')
13    sleep(10000)
14

Alarma / receptor:

1from microbit import *
2import music
3import radio
4radio.config(group=5)
5radio.on()
6
7while True:
8    message = radio.receive()
9    if message:
10        if message == 'lights off':
11            display.clear()
12        elif message == 'lights on':
13            display.show(Image.ANGRY)
14            music.play(music.BADDY)
15

Pas 3: Millora-ho

  • Combina aquest projecte amb el projecte "Alarma d'inclinació" per detectar quan alguna cosa es mou o si les llums s'engeguen.
  • Modifica el comportament de l'alarma perquè es desactivi si algú apaga el llum
  • Adapta-la per monitorar l'ús d'energia: utilitza una variable per comptar quants segons està encès el llum o per activar una alarma només si porta massa temps encés