Skip to content

Aktywność

Radiowy alarm przy drzwiach

Zaawansowany | MakeCode, Python | Kompas, Radio, Wyświetlacz LED | Czujniki, Fale radiowe, Komunikacja, Magnetyzm, Operatory relacji, Wybór

Krok 1: Wykonaj to

Co to jest?

Bezprzewodowy alarm ostrzegający cię, gdy ktoś otwiera drzwi - lub zostawia je otwarte.

Jak to zrobić

  • Będziesz potrzebował dwóch micro:bitów, każdego z innym kodem. Jeden micro:bit działa jako nadajnik radiowy, a drugi jako odbiornik radiowy.
  • Przymocuj nadajnik micro:bit i pakiet baterii do narożnika ościeżnicy i przymocuj magnes w jego pobliżu w narożniku drzwi.
  • Umieść micro:bit odbiornik gdziekolwiek w pobliżu.
  • Jeśli alarm nie działa zgodnie z oczekiwaniami, może być konieczna zmiana wielkości siły magnetycznej w kodzie nadajnika. Naciśnięcie przycisku A pokazuje bieżący odczyt siły magnetycznej. Użyj tego, aby zdecydować o liczbie progowej, dokonując odczytów przy otwartych i zamkniętych drzwiach.

Jak to działa

  • Program nadajnika używa micro:bity kompas (magnetometer) czujnik wejścia i  pętla do pomiaru natężenia pola magnetycznego co dwa sekundy.
  • wykorzystuje selekcja więc, gdy natężenie pola magnetycznego spadnie poniżej określonego poziomu (progu), wysyła radio signal ‘otwarte’. Jeśli odczyt magnetyzmu jest ponad progiem, wysyła sygnał 'zamknięte'.
  • Kiedy odbiornik micro:bit otrzyma sygnał 'otwarte', na wyświetlaczu LED pojawia się krzyżyk i słuchać dźwięki alarmowe. Gdy otrzyma sygnał 'zamknięte', na ekranie LED pojawi się znacznik i nie jest odtwarzany dźwięk.

Czego potrzebujesz

  • dwa micro:bity i przynajmniej jeden pakiet baterii
  • magnes
  • trochę samoprzylepnej taśmy do przymocowania magnesu do drzwi i mikro:bitu do ościeżnicy
  • jeśli masz micro:bit V1 i chcesz usłyszeć dźwiękowy alarm, opcjonalne słuchawki, buzzer lub głośnik i klip krokodylkowy do ich przymocowania

Krok 2: Zakoduj to

Czujnik / nadajnik:

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

Alarm / odbiornik:

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

Krok 3: Ulepsz to

  • Użyj wielu micro-bitów do śledzenia stanu różnych drzwi poprzez wysyłanie różnych komunikatów radiowych, np. 'tylne drzwi otwarte'.
  • Użyj zmiennej do pomiaru, jak długo drzwi są otwarte - czy to może pomóc w oszczędzaniu energii ogrzewania?