Skip to content

Aktywność

Sygnalizator zbliżeniowy

Zaawansowany | MakeCode, Python | Radio, Wyświetlacz LED | Fale radiowe, Komunikacja, Operatory arytmetyczne

Krok 1: Wykonaj to

Co to jest?

Użyj radia, aby wyczuć, jak blisko jest inny micro:bit, a następnie stwórz grę w poszukiwanie skarbów lub użyj go, aby pokazać ludziom, że znajdują się w bezpiecznej odległości społecznej.

Wprowadzenie

Przewodnik po kodowaniu

Jak to działa

  • Potrzebujesz do tego co najmniej 2 micro:bity. Stworzymy dwa różne programy, jeden dla nadajnika (latarni), który stale wysyła wiadomość radiową o niskiej mocy. Drugi program działa na odbiorniku.
  • Gdy odbiornik odbiera wiadomość z nadajnika, przechowuje jej siłę w zmiennej o nazwie sygnał (signal) i pokazuje ją na wyświetlaczu LED.
  • Sygnały radiowe stają się silniejsze bliżej nadajnika, więc jeśli sygnał jest silny, oznacza to, że drugi micro:bit jest prawdopodobnie blisko.
  • Jeśli sygnał radiowy jest słaby, drugi micro:bit prawdopodobnie będzie oddalony.
  • Wyświetla wykres słupkowy, który powiększa się ze wzrostem siły sygnału i kiedy jesteś bliżej nadajnika. Wykorzystuje on blok przelicz z kategorii Matematyka, do przeliczenia siły sygnału radiowego z zakresu od -95 (słaby) do -42 (silny) na zakres od 0 do 9, który możemy użyć do narysowania wykresu słupkowego.

Wersja w Pythonie

  • Python nie ma wbudowanego wykresu słupkowego ani funkcji przeliczania, działa więc nieco inaczej. Wszystkie diody LED włączają się, gdy znajdziesz się blisko nadajnika i im bliżej jesteś tym bardziej się świecą.
  • Pobiera odczyty siły sygnału radiowego za pomocą polecenia radio.receive_full(). Zapewnia to komunikat, natężenia sygnału i znacznik czasu. Chcemy tylko znać natężenie sygnału, więc używamy sygnal = message[1] do rozpoznania tego i przechowywania go w zmiennej o nazwie sygnał.
  • Natężenie sygnału może mieścić się w zakresie od -98 (najsłabszy) do -45 (najsilniejszy), a program w Pythonie definiuje funkcję o nazwie map, aby przekonwertować liczby z tego zakresu na zakres 0 – 9, który możemy wykorzystać do zmiany jasności diod LED: 0 oznacza wyłączoną, 9 to najjaśniejsza dioda LED. (Możesz użyć tej funkcji w innych projektach Pythona, ponieważ działa podobnie, jak blok przelicz w MakeCode).
  • Program w Pythonie tworzy pusty obrazek 5x5 o nazwie światło (light) używając polecenia light = Image(5,5)
    Jego jasność jest zmieniana za pomocą polecenia light.fill()

Czego potrzebujesz

  • 2 micro:bity i pakiety baterii
  • MakeCode lub edytor Pythona
  • pakiet baterii (opcjonalnie)

Krok 2: Zakoduj to

Nadajnik / latarnia

Odbiornik

Krok 3: Ulepsz to

  • Połącz kody nadajnika i odbiornika, aby jeden micro:bit wykonywał oba zadania.
  • Stwórz opaski nadgarstka, aby móc nosić czujki zbliżeniowe.
  • Jak silny jest sygnał, gdy jesteś oddalony o 1 lub 2 metry? Zmodyfikuj kod, aby uruchomić alarm wizualny lub dźwiękowy, gdy ktoś jest zbyt blisko.
  • Użyj tych programów, aby stworzyć grę polowania na skarby: ukryj latarnię i umieść kod odbiornika na wielu micro:bitach
  • Jeśli jesteś na zewnątrz lub w dużej przestrzeni, eksperymentuj poprzez zmianę mocy nadajnika. Może to być dowolna liczba między 0 a 7