Descripció de l’activitat
En aquesta activitat, l’alumnat assumeix el paper d’un equip d’enginyers de la base lunar Artemis One, encarregat de desenvolupar un sistema d’il·luminació intel·ligent que representi les fases de la Lluna. Mitjançant l’ús de plaques micro:bit i micro:shield i leds disposats en forma circular, els alumnes han de programar un dispositiu capaç de mostrar la fracció de llum visible corresponent a cada fase lunar, des de la lluna nova fins a la lluna plena (activitat adapatada a partir de l’activitat “Operació fracció lunar” de Sergi Calvo Barriuso).
Material necessari
- Ordinador
- Placa micro:bit.
- Placa d’extensió micro:shield.
- Components que es poden trobar als conjunts de sensors i actuadors (primària i bàsic secundària):
- Tira de leds Neopixel
- Cables GVS
- Material auxiliar:
- Tira de cartó (2 cm d’ample, 1 m de llarg).
- Tisores i cola/cinta adhesiva per construir el suport de leds.
- Tauler o base circular de cartó o cartolina per dibuixar angles i fraccions.
Orientacions pedagògiques
Introducció i motivació
- Plantejar la missió de manera narrativa: “Sou enginyers encarregats de salvar la fauna terrestre dissenyant un sistema d’il·luminació per simular les fases lunars.”
- Iniciar la sessió amb una discussió sobre les fases lunars i la seva relació amb la llum visible des de la Terra. Utilitzar imatges o vídeos per il·lustrar-ho.
- Relacionar les fases amb les fraccions (p. ex., lluna plena = 1/1, quart creixent = 1/4).
Desenvolupament
Sessió 1:
- Comprensió de les fraccions: Exercicis per calcular la proporció de leds que s’han d’encendre segons la fase lunar.
- Introducció a la programació amb micro:bit.
Sessió 2:
- Programació de la placa.
- Construcció del prototip
- Proves i simulacions
Sessió 3:
- Ampliacions (Opcional)
Adaptacions i atenció a la diversitat
- Dividir els grups segons el nivell d’autonomia dels alumnes.
- Sí a algun grup li sobra temps a la sessió 2, pot començar amb les ampliacions.
Elements de programació
- Seqüències bàsiques
- Esdeveniments
- Bucles
- Condicionals
- Operadors
- Variables
- Programació per blocs (vertical)
Eix | Àrea | Matèria
SEC – Matemàtiques
Competències específiques
CE01 – Interpretar, modelitzar i resoldre situacions de la vida quotidiana, pròpies de les matemàtiques i d’altres àmbits del coneixement aplicant diferents estratègies i formes de raonament per explorar procediments i obtenir solucions.
Sabers
Ús dels nombres enters, fraccions, decimals i arrels per a expressar quantitats en diferents contextos, inclosos els de la vida quotidiana, amb la precisió requerida.
1. Comprensió del problema
1.1 Analitzeu com les fases lunars (lluna nova, quart creixent, lluna plena, etc.) es corresponen amb diferents fraccions.
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | |
| 0/4 | |||||||||
| 0/8 |
1.2 Sabent que farem servir 30 LED per fer el cercle complet, quina és la relació entre cada fracció de la lluna i el nombre de leds que s’han d’encendre?
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | |
| 0/4 | |||||||||
| 0/30 |
2. Disseny i programació
Utilitzant una placa micro:bit, la micro:shield i una tira de leds Neopixel, programeu el dispositiu per:
- L’usuari ha de dir a la placa el numerador i el denominador de la fracció de la lluna.
- Calcular automàticament el nombre de leds a encendre en relació amb el total disponible.
- Encendre els leds de forma consecutiva, representant en una circumferència la fracció corresponent.
2.1 Interacció de l’usuari
Per introduir el numerador i denominador de la fracció, farem servir els botons de la placa micro:bit:
- Botó A: Cada vegada que pitgem el botó A, incrementarem en 1 el número per indicar el numerador.
- Botó B: Cada vegada que pitgem el botó B, incrementarem en 1 el número per indicar el denominador.
- Botó A+B: S’indica que la fracció ja està introduïda i la placa ha d’encendre els leds corresponents.
2.1.1 Crear variables
Una variable és com una “caixa” on guardem informació que podem utilitzar més endavant. Per exemple, si volem recordar el nom d’algú, podem posar el nom en una variable que es digui nom. Aquesta variable pot canviar: avui pot dir-se Anna i demà Marc.
De moment, necessitaràs 3 variables:
- Numerador. Guarda el número introduït amb A.
- Denominador. Guarda el número introduït amb B.
- Inici. Dona l’ordre d’encendre els LED corresponents.

2.1.2 Programar els botons
Els esdeveniments són blocs que inicien el codi quan passa alguna acció concreta:
- En iniciar. El contingut d’aquest bloc s’executa només un cop, quan s’engega la placa.
- Per sempre. El contingut d’aquest bloc s’executa després de: en inciar, i té forma de bucle, és a dir, que el codi que hi ha a dins, s’executa de dalt a baix, i un cop ha finalitzat torna a començar per la primera instrucció.
- Esdeveniments externs. Per exemple en prémer el botó A, en cas de sacsejar, el contingut d’aquests tipus de blocs s’executa quan interaccionem amb la placa d’alguna forma. En aquest cas, farem servir “en prémer el botó A”, “en prémer el botó B” i “en prémer el botó A+B”.

Per incrementar, per exemple el numerador, farem servir els blocs de la variable Numerador, en concret podem fer servir el bloc “Canvia Numerador en 1”.

2.1.3 Mostrar un número a la matriu LED
La placa micro:bit ens permet escriure i dibuixar en la matriu de leds que disposa. Per saber el número que estem introduint, cal indicar que mostri el contingut de la variable Numerador.

2.1.4 L’hora de programar
Continua el codi per tal que el botó B i els botons A+B facin la seva funció. Quan ho tinguis, fes una prova.

Pots fer servir el simulador amb la micro:bit que tens a makecode sense haver de connectar una placa.

2.1.5 Mostrar la fracció introduïda
Per saber en tot moment el valor de la fracció a representar, dins del bloc per sempre, mostra la fracció amb el format Numerador / Denominador.

2.2 Càlcul dels leds a encendre
2.2.1 Operacions matemàtiques
La micro:bit pot efectuar operacions matemàtiques, de fet té una categoria de blocs dedicats a aquestes operacions.

Necessitaràs dues variables:
- NumLeds, on hauràs de guardar el resultat de l’operació matemàtica per passar de la fracció introduïda al nombre de Leds a encendre.
- TotalLeds. Necessites saber quants leds tens en total. Aquest valor pot canviar en funció de la tira de leds que facis servir.
Assigna a la variable NumLeds les operacions necessàries fent servir les variables TotalLeds, Numerador i Denominador. Quina és l’operació necessària?
2.2.2 Quan hem de fer el càlcul?
Si recordes, en prémer els botons A+B, hem fet que la variable Inici valgui “cert”. Per tant, dins del per sempre, hem de comprovar si la variable Inici = Cert?. Per fer aquesta comparació, farem servir un bloc que es diu Condicional. Els condicionals tenen la següent estructura:
Si [Condició] Llavors [Acció].

Fixa’t en l’última línia dins del bloc condicional. Quina funció i quina importància té en el codi, assignar a Inici el valor fals?
2.3 Encendre els leds neopixel
2.3.1 Afegir l’extensió Neopixel
La tira de leds neopixel, és una tira LED que ens permet encendre cadascun dels leds per separat, i a més podem triar el color en què el volem encendre individualment. Per controlar els leds neopixel, farem servir una Extensió.


Si t’hi fixes en el menú dels blocs, t’ha aparegut una categoria nova que es diu Neopixel.

2.3.2 Inicialitzar la tira LED
Al bloc “en inciar”, hem d’indicar quants leds té la nostra tira LED. Aprofitarem la variable TotalLeds per assegurar-nos que si canviem el nombre de leds, només ho haguem de fer en punt del codi.

Fixa’t que diu Neopixel at pin P1. És molt important que ens fixem en quin valor posem aquí, ja que ens indica on hem de connectar la tira Neopixel a la nostra micro:shield.!!
2.3.3 Encendre els leds
Si anem a la categoria Neopixel just a sota, hi ha l’opció Més. Per encendre un LED concret, farem servir el següent bloc:

Aquest bloc encén els leds un a un, però per exemple si volem encendre ½, que seria equivalent a 15 leds (dels 30 que tenim), haurem de posar tants blocs com leds vulguem encendre.

Això en programació és un gran error. Quan hem de fer tasques repetitives, farem servir un bucle. En concret farem servir aquest bucle, ja que té una diferència respecte als altres que ens interessa molt.

Cada vegada que es fa una volta dins del bucle, la variable índex incrementa en 1, començant al 0 fins al número que li diguem, en aquest cas és el 4. A més, el bucle repetirà totes les instruccions que hi hagi dins fins que arribi al número indicat, en aquest cas el 4.

Per tal que s’encenguin els leds de la Neopixel, sempre hem de posar el bloc Strip show, fins i tot si fem servir Strip Clear, després igualment hem d’afegir el show per tal que es faci efectiu.
3. Construcció del prototip
3.1 Connexions
3.1.1 Encaixar la micro:bit a la micro:shield

3.1.2 Encaixar la micro:bit a la micro:shield

3.1.3 Programar i comprovar el funcionament
3.2 Panell de control lunar
- Tenint en compte la dimensió de la tira LED, retalla una tira de cartó de 2 cm d’ample, i longitud igual a la longitud de la tira LED, si fas servir la de 30 leds, serà 1 m.
- Uneix els extrems de la tira de cartó formant un cercle.
- Enganxa la tira LED al cartó, formant un cercle.
- Si vols millorar la visibilitat dels leds, enganxa el cartó amb la tira LED en una circumferència de diàmetre superior al de la tira LED. D’aquesta manera, la llum dels leds es reflectirà en el cartó.
4. Prova i simulació
Introduïu diverses fraccions associades a les fases lunars i comproveu si el dispositiu les representa correctament.
5. Ampliació
Introduïu diverses fraccions associades a les fases lunars i comproveu si el dispositiu les representa correctament.
5.1 Reiniciar numerador i denominador
Per a tornar a començar el procés sense haver d’apagar la placa, fes que en prémer el logotip, Numerador i denominador es posin a 0 per poder tornar a començar.

5.2 Numerador major que el denominador
Fes una prova, si el numerador és més gran que el denominador, que passa?
Modifica el programa per tal que, si afegim una fracció on el numerador és major al denominador, pinti el cercle sencer d’un color, i els leds corresponents després de completar la unitat d’un altre color.
Per exemple, 5/4 = 4/4 + ¼, per tant, hauria de pintar la volta sencera de color vermell, i després ¼ de color groc.











