Krok 1: Wykonaj to
Co to jest?
Czas, jak długo świecą się Twoje światła, aby śledzić zużycie energii. Możesz również użyć tego projektu do śledzenia godzin nasłonecznienia w projekcie stacji pogodowej.
Projekt ten jest częścią serii stworzonej w celu zaoferowania działań w zakresie rozwiązywania problemów i prototypowania, do zbadania nowych technologii jako rozwiązania wyzwań Globalnych Celów Zrównoważonego Rozwoju.
Czego się nauczysz
- jak używać czujników i kodu do monitorowania wydarzeń w otaczającym nas świecie
- umieść rejestrator danych do zapisania wiarygodnych wartości
- zbierz i zestaw dane z upływem czasu, aby wykryć wzorce zużycia energii
- zinterpretuj i zanalizuj dane, aby mieć wpływ na zmianę zachowań
- jak zmienne mogą być modyfikowane przez użytkownika, aby skonfigurować system przed użyciem
Jak go używać
- Najpierw użyj Projektu miernika energi światła, aby otrzymać odczyty, gdy Twoje światła są włączone i wyłączone. Upewnij się, że robisz to w tym samym miejscu i warunkach oświetlenia, w którym umieścisz monitorowanie micro:bit, i upewnij się, że światło dzienne nie powoduje fałszywego odczytu włączonych świateł.
- Umiesć odczyt światła do kodu, w którym ustawiona jest zmienna LIGHT. Ustawilismy wartość 100, ale prawdopodobnie będziesz musiał to zmienić przed wgraniem kodu na swój micro:bit.
- Załącz pakiet baterii i umieść swój micro:bit pod źródłem światła, które chcesz monitorować. Powinieneś zobaczyć kropkę na ekranie, gdy światło jest wyłączone, a światłą wyświetlacza po włączeniu światła. Jeśli to nie zadziała, rozważ ponowne użycie Projektu licznika światła, aby znaleźć poziom światła, gdy światło jest włączone, lub przesuń micro:bit.
- micro:bit zmierzy czas i po naciśnięciu przycisku B pokaże, jak długo światło zostało włączone w minutach.
Jak to działa
- Program używa zmiennej logicznej o nazwie timing do kontroli programu. Zmienne logiczne mogą mieć tylko dwie wartości: prawda (true) lub fałsz (false).
- Jeśli odczyt czujnika światła jest powyżej ustawionego poziomu, to uruchamia timer i zapala wyświetlacz LED. Jeśli spadnie poniżej tego poziomu, to zatrzymuje czasomierz i pokazuje kropkę na wyświetlaczu.
- Ten projekt używa histerezy, aby zapewnić, że zegar nie włącza się i wyłącza zbyt często, gdy poziom światła zmienia się nieznacznie blisko progu uruchamiania zegara. Tworzy większe pasmo wokół progu, które musi zostać przekroczone przed włączeniem lub wyłączeniem timera.
- Hystereza jest zwykłą cechą systemów sterowania, wykorzystujących czujniki, na przykład w systemach ogrzewania wyposażonych w termostat. Jeśli ustawisz termostat na określoną temperaturę, nie chcesz, aby ogrzewanie było wielokrotnie włączane i wyłączane zaraz po tym, gdy wartość zmieni się w stosunku do ustawionej temperatury. Histereoza zapobiega temu zjawisku.
Czego potrzebujesz
- micro:bit
- MakeCode lub edytor Pythona
- pakiet baterii (zalecane)
Krok 2: Zakoduj to
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
Krok 3: Ulepsz to
- Zmień wzory wyświetlane na wyświetlaczu LED, aby baterie wytrzymały dłużej, lub przyciemnij wyświetlacz.
- Użyj zarejestrowanego czasu świecenia do określenia ilości zużytej energii elektrycznej i oblicz, ile to może kosztować. Szczegóły znajdują się w naszym Projekcie kalkulatora kosztów energii
- Użyj tego samego kodu, aby zmierzyć godziny nasłonecznienia. Użyj projektu miernika światła, aby obliczyć wartość nasłonecznienia, gdy słońce świeci na micro:bit i kiedy jest pochmurnie. Konieczne może być stworzenie pojemnika dla swojego micro:bit za pomocą przezroczystej pokrywy, aby rozproszyć światło i chronić micro:bit przed deszczem, uzywając na przykład starego plastikowego pojemnika na żywność.
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.