Skip to content

Atividade

Calculador de custo de energia

Avançado | MakeCode, Python | Botões, Ecrã LED, Sensor de luz | 13 Clima, Dinheiro, Divisão, Entrada/Saída, Lógica Booleana, Medições, Multiplicação, Sensores, Variáveis

Passo 1: Faz tu mesmo

O que é isto?

O terceiro de três projetos para te ajudar a compilar dados sobre o teu consumo de energia. Aprende a calcular o custo da energia e a fazer um temporizador que mede o valor da electricidade usada nas luzes que estão ligadas.

Este projeto é parte de uma série que oferece atividades que procuram solucionar problemas e criar protótipos, concebida para explorar a tecnologia enquanto solução para o desafio dos Objetivos de Desenvolvimento Sustentável.

Introdução

Guia do código

O que é que vais aprender

  • Como usar matemática para converter unidades: assistir a quilowatts e minutos a horas
  • Como calcular a energia usada em quilowatts-hora (kWh) a partir da potência medida em watts (W) e do tempo.
  • Como é que se pode usar variáveis para armazenar valores para um utilizador para configurar um sistema antes de o usar.

Como usá-lo

O projeto anterior, Temporizador de energia luminosa, media quanto tempo uma luz ficava acesa. Esta versão especial do mesmo projeto funciona de uma maneira semelhante, mas, em vez do tempo, calcula e mostra o custo da energia usada por uma lâmpada.
Para usá-lo, precisas de saber 3 números:

  • A leitura da luz quando esta está acesa. Este é o valor que encontraste quando usaste o primeiro projeto, o medidor de energia luminosa e é usado no projeto temporizador de energia luminosa
  • Quantos watts tem a tua iluminação. Este valor normalmente está escrito nas lâmpadas.
  • E quanto é que pagas pela tua eletricidade, o custo unitário por kWh

O programa armazena estes três números em variáveis que tens de editar antes de usar este projeto.

Usa o projeto Medidor de luz como antes para obter um número que tens de colocar na variável LIGHT.

Vê o valor dos watts que está escrito na lâmpada. Lembra-te que as lâmpadas podem ficar muito quentes e geralmente estão ligadas à eletricidade, pede a um adulto que faça isto por ti. Coloca esse número na variável WATTS.

Por fim, coloca o custo por kWh na variável COSTPERKWH. Pode precisar de pedir a um adulto que encontre este número por ti ou então tenta descubrir a empresa que abastece a tua energia e pesquisa na net qual é o custo unitário.

Descarrega este programa num micro:bit e liga-o a um suporte de pilhas. Instala este temporizador perto de uma fonte de luz. O micro:bit vai combinar as leituras do sensor de luz integrado e do temporizador do processador com as informações que lhe deste sobre a intensidade da luz, watts e o custo da eletricidade de maneira a monitorizar o custo da eletricidade utilizada ao longo de um período de tempo.

Podes fazer leituras de custos todos os dias ou todas as semanas à mesma hora, carregando no botão B. Volta a configurá-lo carregando no botão de reiniciar na parte de trás do micro:bit e confirma se ele voltou a zero carregando novamente no botão B.

Lembra-te de que isto é só uma lâmpada, por isso considera o custo de um prédio inteiro durante um ano.
Agora tens alguns dados sobre o uso de energia, que comportamentos mudarias nas pessoas para poupar energia e dinheiro, e talvez ajudar a combater as alterações climáticas?

Como é que funciona

  • O programa usa o sensor de luz do micro:bit para contar o tempo que uma luz é deixada acesa.
  • A quantidade de energia que usas é calculada multiplicando a potência da lâmpada pelo tempo. Isto mede-se em quilowatts-hora (kWh). Porquea potência de uma lâmpada é geralmente medido em watts, não em quilowatts, o programa converte os watts em quilowatts dividindo por 1000:
    watts ÷ 1000 = quilowatts
    Se, por exemplo, uma lâmpada com 60 watts usa 0.06 quilowatts de potência:
    60 W ÷ 1000 = 0,06 kW
  • O programa também converte as unidades de tempo. Para converter o tempo de segundos para horas, divide o tempo em segundos por 60. Portanto:
    600 minutos ÷ 60 = 10 horas
  • Para calcular o custo da energia utilizada num determinado período de tempo, o programa multiplica o uso de energia em quilowatts-hora pelo custo unitário por quilowatt-hora.
  • Se a minha energia custa £0.16 por kWh, deixar uma lâmpada de 60 watts acesa por 10 horas vai custar quase dez pences:
    0.6 kWh × 16p = 9.6p

Do que é que precisas

  • micro:bit
  • Editor MakeCode ou Python
  • suporte de pilhas (recomendado)

Passo 2: Cria o teu código

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        

Passo 3: Melhora-o

  • Usa vários micro:bits para medir o custo da iluminação em diferentes lugares.
  • Usa rádio para transmitir os dados de custo para outro micro:bit e reiniciar remotamente o temporizador.