Skip to content

Actividad

Alarma de puerta inalámbrica

Avanzado | MakeCode, Python | Brújula, Pantalla LED, Radio | Comunicación, Magnetismo, Ondas de radio, Operadores relacionales, Selección, Sensores

Paso 1: Hazlo

¿Qué es?

Una alarma inalámbrica que te advierte cuando alguien abre una puerta, o la deja abierta.

Cómo se hace

  • Necesitarás dos micro:bits con un código diferente en cada uno. Un micro:bit actúa como transmisor de radio y el otro como receptor.
  • Fija el transmisor micro:bit y la batería a la esquina del marco de una puerta y coloca un imán cerca en la esquina de la puerta.
  • Coloca el receptor micro:bit en cualquier lugar cercano.
  • Si la alarma no funciona como esperabas, es posible que tengas que cambiar el valor de la fuerza magnética en el código del transmisor. Al pulsar el botón A se muestra la lectura de la fuerza magnética actual. Utilízalo para decidir el valor de umbral, tomando lecturas con la puerta abierta y cerrada.

Cómo funciona

  • El programa transmisor utiliza la función brújula (magnetómetro), sensor de entrada del micro:bit y un bucle para medir la intensidad del campo magnético cada dos segundos.
  • Utiliza una selección, de modo que cuando la intensidad del campo magnético cae por debajo de un determinado nivel (el umbral), envía una señal de radio "abierta". Si la lectura del magnetismo supera el umbral, envía la señal "cerrada"..
  • Cuando el receptor micro:bit recibe la señal "abierta", aparece una cruz en la pantalla LED y suena una alarma acústica. Cuando recibe la señal de "cerrada", aparece una marca en la pantalla LED y no se reproduce ningún sonido.

Qué necesitas

  • dos micro:bits y al menos un paquete de baterías
  • un imán
  • un poco de adhesivo para fijar un imán a la puerta y un micro:bit al marco.
  • si tienes un micro:bit V1 y quieres oír una alarma sonora, auriculares opcionales, zumbador o altavoz y cables de pinza de cocodrilo para sujetarlos

Paso 2: Prográmalo

Sensor / transmisor:

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

Paso 3: Mejóralo

  • Usa múltiples micro:bits para controlar el estado de diferentes puertas enviando diferentes mensajes de radio, como "puerta trasera abierta".
  • Utiliza una variable para medir cuánto tiempo se queda cada puerta abierta – ¿podría ayudar a ahorrar en calefacción?