Skip to content

Atividade

Calculadora de custo de energia

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

Primeiro passo: o projeto

O que é?

Este é o terceiro projeto, o qual te ajuda a coletar dados sobre sua utilização de energia. Aprenda a calcular o custo da energia e crie um temporizador que calcula quanto custa para deixar uma lâmpada ligada.

Este projeto é parte de uma série que oferece atividades voltadas para a solução de problemas e criação de protótipos, cujo objetivo é explorar a tecnologia enquanto solução para atingir os Objetivos Globais de Desenvolvimento Sustentável da ONU.

Introdução

Código

O que você aprenderá:

  • Como usar a matemática para converter unidades: watts em quilowatts e minutos em horas;
  • Como calcular a energia gasta em quilowatt-hora (kWh) a partir da energia medida em watts (W) e do tempo;
  • Como as variáveis podem ser usadas para armazenar valores a fim de que um usuário possa configurar um sistema antes de usá-lo.

Como usá-lo:

O projeto anterior, que se chama Cronômetro de uso da luz, mediu por quanto tempo uma lâmpada está ligada. Esta versão especial do mesmo projeto funciona de forma similar, mas ele calcula e exibe o custo da energia usada por uma lâmpada em vez do tempo;
Para usá-lo, você precisa saber três números:

  • O primeiro número é obtido a partir da leitura da luz, medido durante o tempo em que a lâmpada está ligada. Esta medida é encontrada usando o primeiro projeto, o Medidor de luz;
  • O segundo é a voltagem da sua lâmpada, que vem normalmente impresso na própria lâmpada;
  • O terceiro é o valor pago pela eletricidade: o custo por kWh.

O programa armazena esses três valores em variáveis, que precisam ser atribuídos antes da implementação deste projeto.

Use o projeto Medidor de luz (conforme descrito anteriormente) para obter o número que será atribuído à variável LIGHT (LUZ).

Verifique a lâmpada para descobrir quantos watts ela usa. Lembre-se: lâmpadas podem ficar muito quentes e estão normalmente conectadas à rede elétrica. Por isso, peça a um adulto para fazer isso por você. Use este número para atribuir à variável WATTS.

Por fim, defina a variável COSTPERKWH (custo por kWh) com o valor do custo por kWh. Talvez seja necessário pedir a um adulto para descobrir este número para você, ou quem sabe você mesmo possa descobrir quem é seu fornecedor de energia e pesquisar o valor da tarifa on-line.

Instale este programa no micro:bit e ligue-o ao conjunto de baterias. Coloque este temporizador perto de uma fonte de luz. Dessa maneira, o micro:bit usará as informações fornecidas sobre a intensidade da luz, voltagem da lâmpada e o valor da tarifa de eletricidade, que, combinados com as leituras do sensor de luz integrado e do temporizador, farão o cálculo do custo da eletricidade utilizada ao longo de um período.

Ao pressionar o botão B, é possível fazer as leituras em um horário específico: diariamente ou semanalmente. Redefina-o pressionando o botão reiniciar na parte traseira do micro:bit e verifique se a leitura zerou apertando B novamente.

Note que se trata apenas de uma lâmpada. Portanto, considere o custo de um edifício inteiro por um ano.
Agora que você tem alguns dados sobre o uso da energia, como seria possível não só mudar o comportamento das pessoas para poupar energia e dinheiro; mas também, talvez, combater as alterações climáticas?

Como funciona:

  • O programa cronometra por quanto tempo uma lâmpada é deixada ligada usando o sensor de luz do micro:bit;
  • A quantidade de energia usada é calculada multiplicando a potência da lâmpada pelo tempo em que esta ficou ligada. Isto é medido em quilowatt por hora (kWh). Como a potência de uma lâmpada é geralmente medida em watts, não em quilowatts, o programa converte de watts para quilowatts dividindo por 1000:
    watts ÷ 1000 = quilowatts
    Por exemplo, uma lâmpada com 60 watts usa 0,06 quilowatts de energia:
    60 W ÷ 1000 = 0,06 kW;
  • O programa também converte unidades de tempo. Para converter o tempo de segundos para horas, divida o tempo em segundos por 60. Portanto:
    600 minutos ÷ 60 = 10 horas;
  • Para calcular o custo da energia utilizada em um determinado período, o programa multiplica o uso de energia em quilowatt-hora pelo custo unitário por quilowatt-hora;
  • Se minha energia custa R$ 1,30 por kWh, deixar uma lâmpada de 60 watts ligada por 10 horas custará
    R$ 0,78 centavos:
    0.6 kWh x R$ 1,30 = R$ 0,78.

Itens necessários:

  • Um micro:bit;
  • Editor MakeCode ou Python;
  • Conjunto de baterias (recomendado).

Segundo passo: é hora de programar

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        

Terceiro passo: vamos deixar o código ainda melhor

  • Use vários micro:bits para medir os custos de iluminação em lugares diferentes;
  • Transmita os dados de custo para outro micro:bit via rádio e redefina o temporizador remotamente.