Skip to content

활동

에너지 비용 계산기

고급 | MakeCode, Python | LED, 버튼, 빛 센서 | 13 날씨, 곱셈, 나눗셈, , 변수, 불 논리, 센서, 입력/출력, 측정

1단계: 만들어 보세요.

프로젝트 소개

3개의 프로젝트 중 3번째 프로젝트에서는 사용하는 에너지에 대한 데이터를 수집할 수 있도록 도와줍니다. 에너지 비용을 계산하는 방법과 전등을 사용할 때의 비용을 측정하는 타이머를 만드는 방법을 배워보세요.

이 프로젝트는 전세계 지속가능발전 문제들에 대한 해결 방법 중 하나로서, 컴퓨터과학기술을 탐색하고 활용해서 새로운 물건들을 만들어 내는 문제해결 과정을 경험할 수 있도록 만들어진 프로젝트들 중 하나 입니다.

소개

프로그래밍 가이드

학습 내용

  • 단위를 바꾸는 방법: 와트를 킬로와트로 바꾸고 분을 시간을 바꾸는 방법
  • 와트 (W) 수와 시간을 측정한 킬로와트시 (kWh) 를 이용해서 에너지 사용량을 계산하는 방법
  • 어떤 시스템에 필요한 값들을 저장해서 사용하기 위해서 필요한 변수들을 선언하고 사용하는 방법

사용방법

이전 프로젝트인, 에너지 빛 타이머에서는 불 빛이 켜져 있는 시간을 측정했습니다. 이 프로젝트는 같은 프로젝트의 특별한 버전으로서 비슷한 과정으로 작동합니다. 하지만, 시간을 측정하는 것이 아니라 불 빛이 소모하는 에너지의 비용을 계산하고 화면에 표시합니다.
그러기 위해서, 3개의 수 값을 알아야 합니다.:

  • 불 빛을 켰을 때, 그 때의 밝기를 읽은 값. 이 값은 첫 번째 프로젝트인 에너지 빛 측정기를 사용해서 알아낼 수 있는 값입니다. 에너지 빛 타이머 프로젝트에서도 이 값이 사용 되었습니다.
  • 불 빛의 와트 수. 일반적으로 전등을 살펴보면 그 전등이 소모하는 전기 와트 수가 쓰여있습니다.
  • 전기사용량에 따른 요금 비율, 즉 킬로와트시(kWh) 당 요금이 필요합니다.

이 프로젝트에서는 3개의 값을 변수에 저장하고, 변수에 저장된 값을 편집해서 사용합니다.

이전의 빛 측정기 프로젝트를 사용해서 LIGHT 변수에 저장할 값을 가져옵니다.

불 빛 전등이 몇 와트를 소모하는지를 찾아서 확인해보세요. 불 빛이 켜져있던 전등은 매우 뜨겁고 전기가 연결된 상태로 흐르고 있을 수 있기 때문에, 반드시 어른들에게 부탁해서 물어봐주세요. 그렇게 알아낸 전등의 와트 수를 WATTS 변수의 값으로 설정합니다.

마지막으로 킬로와트시(kWh) 당 요금을 COSTPERKWH 변수에 저장합니다. 킬로와트시(kWh) 당 요금을 의미하는 전력량 요금은 어른들에게 물어보거나, 여러분의 집에 전기를 공급하는 회사에 물어보거나, 온라인으로 찾아보며 연구해 보아야 할 수도 있습니다.

이 프로그램을 micro:bit 에 업로드하고 배터리 팩을 연결하세요. 이 타이머를 불 빛 근처에 가져다 놓으면, micro:bit 의 빛 센서로 부터 감지되는 전등 불 빛의 밝기, 입력한 불 빛의 와트 수, 전력량 요금, micro:bit 타이머로 기록한 시간을 이용하고 결합해서 전기 요금을 계산할 것입니다.

B 버튼을 누르면, 매일 또는 매주 기간으로의 전기 요금도 확인할 수 있습니다. micro:bit 뒷면의 리셋 버튼을 누르면 초기화되고, B 버튼을 눌러 0 값으로 초기화 되었는지 확인할 수 있습니다.

하지만, 이러한 것은 전등 불 빛 1개를 가정한 것이기 때문에, 1년 동안 건물 전체에 대해서 생각해 보아야 한다.
이제 여러분들은 에너지 사용과 관련한 정보를 어느 정도 얻었습니다. 에너지 사용과 돈을 절약하고, 기후 변화에 대처하는데 도움이 될 수 있도록, 사람들의 행동을 어떻게 변화시킬 수 있을까요?

설명

  • 프로그램은 micro:bit 의 빛 센서를 사용해서, 불 빛이 켜져있던 시간을 측정합니다.
  • 에너지 사용량은 전등 불 빛의 시간당 전기 사용량을 곱하는 방법으로 계산이 됩니다. 전기 사용량은 킬로와트시 (kWh) 단위로 측정됩니다. 일반적으로 전등의 소비 전력은 킬로와트(kilowatts)가 아닌 와트(watts) 단위로 측정되기 때문에, 프로그램에서는 와트 단위를 1000으로 나누어 킬로와트 단위로 변환을 합니다.:
    와트 단위 ÷ 1000 = 킬로와트 단위
    예를 들어, 60 와트 전등은 0.06 킬로와트인 것입니다.:
    60 W ÷ 1000 = 0.06 kW
  • 프로그램에서는 시간 단위도 변환합니다. 초 단위를 시간 단위로 변환하려면, 초 단위를 60으로 나누어 분 단위로 만들고, 분 단위를 다시 60으로 나누면 시간 단위로 변환 할 수 있습니다. 따라서:
    600 분 ÷ 60 = 10 시간
  • 프로그램에서는 주어진 시간 동안에 사용된 에너지 사용 비용을 계산하기 위해서, 시간당 킬로와트 단위 비용인 킬로와트시 단위를 곱합니다.
  • 만약, 전력량요금이 킬로와트시당 88.3원이라고 하고, 60 와트 전등을 10시간 동안 사용한다고 하면, 약 52.98원 정도의 전기 요금을 계산할 수 있습니다.:
    0.6 kWh × 88.3 원 = 52.98원

준비물

  • micro:bit
  • MakeCode 또는 Python 편집기
  • 배터리 팩 (권장)

2단계: 프로그래밍 해보세요.

1from microbit import *
2display.show('L')
3
4LIGHT = 114  # <<< Enter your 'measured' reading here
5WATTS = 1000  # <<< Enter your bulb wattage here
6COSTPERKWH = 0.18  # <<< Enter unit electricity cost here
7
8HYSTERESIS = 8
9LIGHT -= (HYSTERESIS/2)
10DARK = LIGHT - HYSTERESIS
11ON_IMAGE = Image('99999:99999:99999:99999:99999')
12OFF_IMAGE = Image('00000:00000:00900:00000:00000')
13timing = False
14start_time = 0
15total_time = 0
16reading = display.read_light_level()
17sleep(1000)
18
19def calc_cost(m):
20    # Calculate cost of electricity for this number of mins
21    kw = WATTS / 1000.0  # answer as a decimal
22    hours = m / 60.0  # answer as a decimal
23    kwh = kw * hours
24    cost = kwh * COSTPERKWH
25    return cost  # as pounds and pence
26    
27def show_number(n):
28    # Scroll number as 3 decimal places
29    display.scroll("%.3f" % n)
30
31while True:
32    reading = display.read_light_level()
33    if reading < DARK:
34        if timing:
35            # it has just gone dark, update timer for 'on' time
36            end_time = running_time()
37            total_time += (end_time - start_time)
38            timing = False
39        
40    elif reading >= LIGHT:
41        if not timing:
42            # it has just gone light, start the timer
43            start_time = running_time()
44            timing = True
45        
46    if button_b.was_pressed():
47        # calculate and display cumulative cost in pounds and pence
48        minutes = total_time / 60000
49        if timing:
50            # adjust live for current ON time
51            minutes += (running_time() - start_time) / 60000
52        display.clear()
53        show_number(calc_cost(minutes))
54        sleep(500)
55
56    # update the display with the ON/OFF state
57    if timing:
58        display.show(ON_IMAGE)
59    else:
60        display.show(OFF_IMAGE)
61    sleep(1000)
62
63        

3단계: 더 좋게 만들어 보세요.

  • 여러 개의 micro:bit 를 사용해서, 여러 장소에 있는 전등들의 에너지 사용 비용을 동시에 측정해보세요.
  • 무선 라디오 기능을 사용해서 비용 데이터를 다른 micro:bit 에 전송하고, 타이머를 리셋시켜 보세요.