Корак 1: Уради
Шта је ово?
Користите радио-везу како бисте утврдили колико је близу неки други micro:bit, па онда играјте игру лов на скривено благо или је користите како бисте људима помогли да знају да су на сигурној социјалној удаљености.
Увод
Водич за програмирање
Како то ради
- За ово вам је потребно најмање 2 micro:bit-а. Креираћемо два различита програма, један за предајник који непрекидно шаље радио поруку мале снаге. Други програм је за пријемник.
- Када пријемник прими поруку од предајника, он чува његову јачину у променљивој која се назива сигнал и приказује је на лед екрану.
- Радио сигнали постају све јачи што сте ближи предајнику, а то значи да ако је сигнал јак, други micro:bit је вероватно близу.
- Ако је радио сигнал слаб, други micro:bit је вероватно доста удаљен.
- Он приказује стубичасти графикон који се увећава што је сигнал јачи и што је микробит ближи. Користите математички блок мапе помоћу кога се јачина радио сигнала од опсега -95 (слаб) до -42 (јак) претвара у вредности до 0 до 9 које можемо да користимо за цртање стубичастих графикон.
Верзија у Python-у
- У Python-у не постоје уграђене функције за цртање графикона и мапирање па се ти процеси одвијају мало другачије. Када се приближите предајнику, све лед диоде се упале и светле све јаче како му се приближавате.
- Путем наредбе
radio.receive_full()
врши се очитавање вреднсти јачине радио сигнала. Ово обезбеђује поруку, јачину сигнала и време. Желимо да знамо само јачину сигнала, а тај део добијамо изсигнал=порука[1]
и чувамо у променљивој сигнал. - Јачина сигнала може да буде у опсегу од -98 (најслабији) до -45 (најјачи), а у Python програму се дефинише функција која се зове мапа и која те вредности претвара у вредности из опсега од 0 до 9 помоћу којих се одређује јачина светлости лед диода: 0 значи угашено, a 9 значи најсјајније. (Ову функцију можете да користите и у другим Python пројектима јер делују врло слично MakeCode блокумапа).
- Програм у Python-у креира празну слику величине 5x5 која се зове светлост помоћу наредбе
светлост=Слика(5,5)
.
Његово осветљење (јачина) се мења помоћу наредбесветлост.fill()
.
Шта вам је потребно
- 2 micro:bit-а и паковање батерија
- MakeCode или Python уређивач
- батерије (опционално)
Корак 2: Програмирај
Предајник / светионик
Пријемник
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)
21
Корак 3: Унапреди
- Спојите кôд за предајник са кодом за пријемник тако да један micro:bit обавља обе функције.
- Направите наруквице како бисте могли да носите своје детекторе близине.
- Колико је јак сигнал када сте удаљени 1 или 2 метра? Измените код да бисте активирали визуелни или звучни аларм када је неко преблизу.
- Искористите програм за игрицу Потрага за благом: сакријте предајник и поставите пријемни код на неколико micro:bit уређаја
- Ако сте на отвореном или у великом простору, експериментишите променом јачине предајника. То може бити било који број између 0 и 7
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.