Skip to content

Активност

Аларм за светло

Напредно | MakeCode, Python | Звук, Лед екран, Радио, Сензор светла | Енергија, Итерација (понављање), Комуникација, Одабир, Оператори поређења, Светло, Сензори

Корак 1: Уради

Шта је ово?

Даљински аларм којим се управља путем радио-везе, како бисте знали да ли је неко укључио светла - или отворио фиоку или торбу.

micro:bit приказује љутито лице помоћу радио-таласа и извором светлости који на њему светли

Како то ради

  • Као и кодпројекта Сензор сунчеве светлости (Sunlight sensor), овде се користе micro:bit-ове лед диоде као сензор за светлост како би се измерила количина светлости која пада на екран микробита.
  • Програм помоћупетље шаљерадио-везом сваких 10 секунди поруке о томе да ли је светло или тамно. На основу очитане вредности micro:bit шаље поруку 'упаљено' ако је измерено више од (>) 50, а поруку 'угашено' ако је измерено мање од (<) 50. Можда ћете морати да промените ове вредности у зависности од услова осветљења у просторији у којој се налазите.
  • Притиском надугме А, налед екрану ће се као излаз приказати измерена количина светлости, која нам може помоћу да подесимо наш аларм, тако да можете вредност 50 заменити неком другом вредношћу која више одговара вашем окружењу.
  • Програм за аларм реагује када год добије поруку. Ако је порука једнака 'угашено' тада се брише лед екран, а ако јеједнака 'упаљено' тада се приказује љуто лице и микробит се оглашава тоном ‘ЛОШ’.
  • Водите рачуна да сензор и аларм користе исту радио-групу - неки број између 0 и 255.

Шта вам је потребно

  • 2 micro:bit-а, и најмање једно паковање батерија
  • нешто драгоцено за чување
  • опционално слушалице, зујалица или звучници за аларм.

Корак 2: Програмирај

Сензор / предајник:

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

Аларм / пријемник:

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

Корак 3: Унапреди

  • Комбинујте ово са пројектом Аларм нагиба (Tilt alarm) како бисте осетили да се нешто померило или да су светла упаљена.
  • Направите да аларм ради на другачији начин, да се искључи када неко угаси светло.
  • Прилагодите програм тако да се прати потрошња електричне енергије: користите променљиву која прати колико је секунди било укључено светло или активирајте аларм тек након што је светло предуго било укључено.