Корак 1: Уради
Шта је ово?
Време колико дуго су ваша светла укључена како бисте пратили потрошњу енергије. Овим пројектом такође можете да пратите колико је сунчаних сати у пројекту метеоролошка станица.
Овај пројекат део је серије направљене како би се понудиле активности за решавање проблема и дизајнирању прототипова за истраживање технологије као решења за изазове Глобалних циљева одрживог развоја.
Шта сте научили
- како користити сензоре и кôд за надгледање догађаја из свакодневног живота
 - поставите снимач података како бисте снимили поуздане податаке
 - прикупљати и упоређивати податке током времена да би се уочили обрасци у коришћењу енергије
 - тумачити и анализирати податке како би се извршиле промене у понашању
 - како корисник може да промени променљиве како би конфигурисао систем пре употребе
 
Како употребљавати
- Прво користите Пројекат мерач енергетске осветљености да бисте сазнали очитавања када се сијалица пали и гаси. Обавезно то радите на истом месту и у условима осветљења у којима ћете поставити надзорни micro:bit и уверите се да дневно светло не покреће лажно очитавање укључених сијалица.
 - Поставите очитавање осветљења у кôд где је постављена променљива СВЕТЛО. Дали смо вам број 100, али вероватно ћете морати да промените ово пре него што пребаците кôд на ваш micro:bit.
 - Повежите батерију и поставите micro:bit под светло које желите да надгледате. Требало би да видети тачку на екрану када је светло искључено, а екран светли када је светло укључено. Ако ово не успе, размислите о поновном коришћењу пројекта Мерач светла да бисте пронашли ниво светлости када је светло укључено или померите micro:bit.
 - Micro:bit ће чувати време и када притиснете дугме Б, приказаће се колико дуго је светло било укључено у минутима.
 
Како то ради
- Овај програм користи логичку променљиву која се назива timing која контролише програм. Логичке променљиве могу имати само две вредности: тачно или нетачно.
 - Ако је очитавање светлосног сензора изнад нивоа који сте поставили, покреће се тајмер и светли ЛЕД екран. Ако падне испод овог нивоа, зауставља се тајмер и приказује се тачка на екрану.
 - Овај пројекат користи хистерезис да би се осигурало да се тајмер не укључује и искључује пречесто када се ниво светлости незнатно мења око прага за покретање тајмера. Ствара већи опсег око прага који треба да се пређе пре укључивања или искључивања тајмера.
 - Хистереза је уобичајена карактеристика у контролним системима који користе сензоре, на пример у системима грејања који имају термостат. Ако термостат подесите на одређену температуру, не желите да се грејање непрекидно укључује и искључује често када се температура креће око вредности коју сте поставили. Хистереза спречава да се то догоди.
 
Шта вам је потребно
- micro:bit
 - MakeCode или Python уређивач
 - паковање батерија (препоручено)
 
Корак 2: Програмирај
1from microbit import *
2display.show('L')
3
4LIGHT = 100  # <<< Enter your 'measured' reading here
5
6HYSTERESIS = 8
7LIGHT -= (HYSTERESIS/2)
8DARK = LIGHT - HYSTERESIS
9ON_IMAGE = Image('99999:99999:99999:99999:99999')
10OFF_IMAGE = Image('00000:00000:00900:00000:00000')
11timing = False
12start_time = 0
13total_time = 0
14reading = display.read_light_level()
15sleep(1000)
16
17def show_number(n):
18    # Make number display the same as MakeCode
19    if len(str(n)) == 1:
20        display.show(n)
21    else:
22        display.scroll(n)
23
24while True:
25    reading = display.read_light_level()
26    if reading < DARK:
27        if timing:
28            # it has just gone dark, update timer for 'on' time
29            end_time = running_time()
30            total_time += (end_time - start_time)
31            timing = False
32        
33    elif reading >= LIGHT:
34        if not timing:
35            # it has just gone light, start the timer
36            start_time = running_time()
37            timing = True
38        
39    if button_b.was_pressed():
40        # calculate and display cumulative time in minutes
41        minutes = total_time / 60000
42        if timing:
43            # adjust live for current ON time
44            minutes += (running_time() - start_time) / 60000
45        display.clear()
46        show_number(round(minutes))  # whole numbers only
47        sleep(500)
48
49    # update the display with the ON/OFF state
50    if timing:
51        display.show(ON_IMAGE)
52    else:
53        display.show(OFF_IMAGE)
54    sleep(1000)
55
56        Корак 3: Унапреди
- Промените обрасце приказане на ЛЕД екрану како би батерије дуже трајале, или затамните екран.
 - Искористите забележено време да утврдите колико сте електричне енергије потрошили и колико та утрошена електрична енергија може да кошта. Детаљи су у нашем Пројекту калкулатор трошкова енергије
 - Користите исти кôд за мерење сати сунчеве енергије. Користите пројекат Мерач светла како бисте израчунали вредност светлости када сунце сија на micro:bit и када је облачно. Можда ћете морати да направите посуду за свој micro:bit са прозирним поклопцем против дифузног светла и заштитили micro:bit од кише, на пример можете да искористите стару пластичну посуду за храну.
 
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.