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żywamysygnal = 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ą polecenialight.fill() 
Czego potrzebujesz
- 2 micro:bity i pakiety baterii
 - MakeCode lub edytor Pythona
 - pakiet baterii (opcjonalnie)
 
Krok 2: Zakoduj to
Nadajnik / latarnia
Odbiornik
1from microbit import *
2import radio
3radio.config(group=1)
4radio.on()
5light = Image(5,5) # create an empty image
6
7# function to map signal stength to LED brightness
8def map(value, fromMin, fromMax, toMin, toMax):
9    fromRange = fromMax - fromMin
10    toRange = toMax - toMin
11    valueScaled = float(value - fromMin) / float(fromRange)
12    return toMin + (valueScaled * toRange)
13
14while True:
15    message = radio.receive_full()
16    if message:
17        signal = message[1]
18        brightness = map(signal, -98, -44, 0, 9)
19        light.fill(round(brightness))
20        display.show(light)
21Krok 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
 
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.


