Skip to content

Activitat

Calculadora de costos energètics

Expert | MakeCode, Python | Botons, Pantalla LED, Sensor de llum | 13 Clima, Diners, Divisió, Entrada/sortida, Lògica booleana, Mesura, Multiplicació, Sensors, Variables

Pas 1: Crea-ho

En què consisteix?

El tercer de tres projectes per ajudar-te a recollir dades sobre el teu consum d'energia. Aprèn a calcular el cost de l'energia i a fer un temporitzador que mesura el cost de tenir els llums elèctrics encesos.

Aquest projecte forma part d'una sèrie d'activitats de prototipatge i resolució de problemes que té per objectiu explorar solucions tecnològiques als reptes dels ODS Objectius de Desenvolupament Sostenible (Global Goals).

Introducció

Guia de programació

Què aprendràs?

  • Com utilitzar les matemàtiques per convertir unitats: de watts a kilowatts i de minuts a hores
  • Com calcular l'energia consumida en kilowatts hora (kWh) a partir de la potència mesurada en watts (W) i del temps.
  • Com utilitzar variables per guardar valors que permetran a un usuari configurar un sistema abans de començar a utilitzar-lo.

Instruccions d'ús

El projecte anterior, el "Temporitzador d'energia de la llum", mesura quant de temps està encès un llum. Aquesta versió particular del mateix projecte funciona de manera similar, però calcula i mostra el cost de l'energia consumida per la bombeta en lloc del temps que ha estat encesa.
Per utilitzar-lo necessites saber 3 dades:

  • La mesura de la intensitat de la llum quan la bombeta està encesa. Aquest és el número que has trobat utilitzant el primer projecte, el mesurador de l'energia de la llum, i que ja has utilitzat en el projecte del "temporitzador de l'energia de la llum",
  • La potència del teu llum. Habitualment el trobaràs imprès a la bombeta.
  • I quin és el preu de l'energia elèctrica, el cost per kWh.

El programa guarda aquestes tres dades en variables que has d'editar abans d'utilitzar aquest projecte.

Utilitza el projecte "Mesurador d'intensitat de llum" per a obtenir el valor que cal assignar a la variable LIGHT (LLUM).

Mira la bombeta per saber quants watts consumeix. Recorda que les bombetes poden estar molt calentes i normalment estan connectades a la xarxa elèctrica, així que demana a una persona adulta que ho faci per tu. Assigna aquest valor a la variable WATTS.

Finalment, posa el cost del kWh a la variable COSTPERKWH. Potser hauràs de demanar a un adult que et busqui aquesta dada, o que esbrini qui subministra l'energia elèctrica i busqui a internet quin és el seu cost unitari.

Transfereix el programa a la micro:bit i connecta-hi un paquet de piles. Posa aquest cronòmetre a prop d'una font de llum, i la micro:bit utilitzarà les dades que li vas proporcionar sobre la intensitat de llum, la potència de la bombeta i el cost de l'energia elèctrica combinades amb les mesures del seu sensor de llum i el temporitzador del processador per monitorar el cost de l'electricitat consumida durant un període de temps.

Pots prendre mesures del cost prement el botó B a la mateixa hora cada dia, o cada setmana . Restableix el comptador a zero prement el botó de la part del darrera de la micro:bit i comprova que ha tornat a zero pitjant una altra vegada el botó B.

Recorda que això és només per a una bombeta, per tant, considera el cost de tot un edifici durant tot un any.
Ara tens algunes dades sobre el consum d'energia. Com prodries canviar els hàbits de la gent per estalviar energia i diners i, potser, ajudar a combatre el canvi climàtic?

Com funciona

  • El programa utilitza el sensor de llum de la micro:bit per cronometrar el temps que un llum es deixa encès.
  • L'energia consumida es calcula multiplicant la potència de la bombeta pel temps que està encesa. Això es mesura en kilowatts hora (kWh). Com que la potència de les bombetes sol expressar-se en watts, no en kilowatts, el programa passa de watts a kilowatts dividint per 1000:
    watts ÷ 1000 = kilowatts
    Així doncs, una bombeta de 60 W, per exemple, consumeix 0,06 kilowatts de potència:
    60 W ÷ 1000 = 0,06 kW
  • El programa també converteix les unitats de temps. Per convertir el temps de minuts a hores, cal dividir el temps expressat en minuts per 60. Per tant:
    600 minuts ÷ 60 = 10 hores
  • Per calcular el cost de l'energia consumida en un període de temps determinat, el programa multiplica l'energia utilitzada en kilowatts hora pel cost unitari d' 1 kilowatt hora.
  • Si l'energia té un cost de 0,16 € per kWh, deixar una bombeta de 60 W encesa durant 10 hores tindrà un cost de 9,6 cèntims:
    0,6 kWh × 0,16€ = 0,096 €

Què necessites

  • Micro:bit
  • Editor MakeCode o Python
  • Paquet de piles (recomanat)

Pas 2: Programa-ho

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        

Pas 3: Millora-ho

  • Utilitza diverses micro:bits per mesurar el cost de la il·luminació de diferents llocs.

  • Utilitza la ràdio per transmetre dades del cost a una altra micro:bit i reiniciar el temporitzador de manera remota.