Skip to content

Aktywność

Alarm świetlny

Zaawansowany | MakeCode, Python | Czujnik światła, Dźwięk, Radio, Wyświetlacz LED | Czujniki, Energia, Iteracja, Komunikacja, Operatory relacji, Wybór, Światło

Krok 1: Wykonaj to

Co to jest?

Zdalny alarm sterowany radiem, więc gdy dowiesz się, że ktoś włączył światła – lub otworzył szufladę lub torbę.

micro:bit pokazujący zagniewaną twarz z wychodzącymi falami radia i świecący światłem

Jak to działa

  • Podobnie jak Projekt czujnika światła słonecznego, ten używa diod LED micro:bita jako czujnika światła do pomiaru ilości światła wpadającego na wyświetlacz.
  • Używając pętli , co 10 sekund program czujnika wysyła wiadomość radiową, aby powiadomić, czy jest jasno lub ciemno. Używa wyboru do przesłania komunikatu „światła włączone”, jeśli pomiar światła jest większy niż (>) 50, i „światła wyłączone”, jeżeli jest mniejszy niż (<) 50. Może zajść konieczność zmiany tych wartości w zależności od warunków oświetlenia.
  • Naciśnięcie przycisku A pokazuje pomiar światła na wyświetlaczu LED, co pomoże Ci skonfigurować alarm, abyś mógł zamienić 50 na najlepszą wartość dla Twojego otoczenia.
  • Program alarmu reaguje, gdy otrzymuje wiadomość. Jeśli wiadomość jest "światłą wyłączone", wtedy wyłącza wyświetlacz LED, ale jeśli jest „światła włączone”, to pokazuje zagniewaną twarz i odtwarza dźwięk alarmu „BADDY”.
  • Upewnij się, że czujnik i alarm używają tej samej grupy radiowej - jakiejkolwiek liczby między 0 i 255.

Czego potrzebujesz

  • 2 micro:bity, co najmniej jeden z pakietem baterii
  • coś cennego, aby przechowywać bezpiecznie
  • opcjonalne słuchawki, buzzery lub głośniki do alarmu

Krok 2: Zakoduj to

Czujnik / nadajnik:

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

Alarm / odbiornik:

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

Krok 3: Ulepsz to

  • Połącz to z Projektem alarm przechyłu, aby zrozumieć, kiedy coś jest przesuwane LUB jeśli światło będzie włączone.
  • Spraw, aby alarm działał przeciwnie, a więc się wyłącza, jeśli ktoś wyłączy światło.
  • Dostosuj go do monitorowania zużycia energii: użyj zmiennej do śledzenia czasu, w którym światła są włączone lub uruchamiają alarm dopiero po tym, jak świecą się zbyt długo.