A partir d'una proposta del centre educatiu "Institut de Flix" i la realització del curs "La qualitat de l'aire a les aules" per part de tot l'equip docent del CFGS de Sistemes Electrotècnics i Automatitzats, es determina la realització del projecte que aquí es tracta.
La idea inicial era il·luminar l'arbre de Nadal amb unes tires de led. A partir de conèixer l'estació i el panell de proves del curs de La qualitat de l'aire a les aules, l'equip docent que hi participa va iniciar una sèrie d'idees per evolucionar la idea inicial. Per exemple, es va originar la proposta de la LDR i els panells amb matrius leds 8x8. Amb una reunió informal amb els alumnes prèvia a l'inici del projecte, on es va explicar la proposta de projecte breument, va sorgir la idea de substituir les tires led per tires de Neopixel. Com es pot veure al següent apartat, a la reunió de llançament del projecte es van incorporar altres sensors i actuadors.
Respecte a l'alumnat, s'ha de tenir en compte que, tot i la seva capacitació per treballar amb PLC, dins la Formació Professional no ho han fet mai amb la plataforma oberta per microcontroladors tipus "Arduino" ni amb els sensors i actuadors específics d'aquest.
Com es pot veure més endavant, ja a l'inici de la primera fase del projecte ens vam adonar que la plataforma ArduinoBlocks ens limitava en alguns aspectes com ara el control independent de diferents tires de neopixels. Amb el propòsit d'obtenir el producte final desitjat i assolir tots els objectius tècnics, tots els implicats vam acordar utilitzar el programari Arduino IDE.
Amb tot anterior, i donades les capacitats clau i competències a treballar amb l'alumnat implicat en el projecte, es permet la cerca de codis realitzats per altres, els quals s'hauran de modificar i integrar al nostre projecte.
El producte final és un arbre de Nadal per a la decoració de l'Institut de Flix, equipat amb diferents sensors i actuadors controlats pel microcontrolador Arduino.
En una primera reunió per a una pluja d'idees, es resol que el principi bàsic de funcionament de l'arbre nomenat “Christmas Treeduino" és:
L'arbre s'il·lumina amb diverses tires de 30 neopixels controlades de forma independent a instal·lar en orientació vertical. Aquestes realitzen seqüències preprogrames de colors i intensitat lluminosa fins que, mitjançant un sensor PIR, es detecti una presència.
En detectar la presència, es reproduirà música de Nadal i les tires de colors passen a mode "vúmetre" a ritme de la música emesa. Per evitar moltes interrupcions, la música s'emet un mínim de 15 segons. Per al mode "vúmetre", s'utilitza un sensor de so (micròfon) pròxim als altaveus utilitzats. En acabar el cicle de vúmetre, les tires de neopixel han de tornar a la part de la seqüència on es produeix la detecció de presència. Amb la mateixa filosofia i per evitar repetibilitat, cada cop que es torni a reproduir la música, s'ha de fer des del moment en què s'ha parat anteriorment, és a dir, fer un "pause" en lloc d'un "play-stop".
D'altre costat, per respectar el medi ambient i atès el consum “alt” del neopixels, també s'acorda, que hi ha d'haver la captació de la lluminositat ambiental mitjançant un sensor basat en resistència LDR per a controlar la intensitat de les tires neopixels. Relacionat amb l'anterior, i dins del context del centre educatiu Institut de Flix, el seu entorn i la naturalesa dels cicles inclosos en la seva oferta educativa, es conclou utilitzar un sistema fotovoltaic aïllat (amb bateries) per alimentar tot el sistema del projecte “Christmas Treeduino”.
Finalment, com un dels objectius és donar visibilitat als cicles formatius dins de la cultura del centre, també s'inclouen en els requisits uns panells basats en matrius leds i controlador MAX7219.
A partir de l'apartat anterior, i després de la fase 1 del projecte, es constata que l'equipament principal necessari per a dur a terme el projecte es:
Microcontroladors ATMega328P o ATMega2560 (Arduino).
5 tires de 30 neopixels amb controladors WS2812B.
Reproductor de música DFPlayer Mini.
1 Targeta SD.
2 altaveus, no "buzzer", 3W, 8 ohms.
2 altaveus amb amplificador.
Sensor de so "micròfon" MAX4466 .
Sensor de presència HC SR501.
4 matrius led 8x32 amb controlador MAX7219.
Resistència LDR.
Panells fotovoltaics petits, regulador i bateria per alimentar elèctricament el sistema.
2 resistències de 10Kohm.
1 resistència 1Kohm.
5 resistències 470 ohms.
Protoboards i plaques PCB.
Conectors i cables de diferents colors.
En aquesta primera fase, es distribueix l'alumnat en parelles per a la cerca d'informació del funcionament i codis bàsics per a provar cada sensor o actuador. A més a més, l'alumnat té el repte d'adequar-se a l'entorn de programació Arduino IDE amb l'ajuda del professorat.
Per aquest sensor, inicialment es planteja utilitzar el sensor d'ultrasons per mesura distància, HC-SR04. Però, després d'un període de proves amb aquest sensor, es detecta que hi ha moltes lectures incorrectes i variables, el que dificulta el propòsit d'aquest.
Abans de descartar l'anterior sensor, el mateix grup d'alumnes realitza diverses proves amb un sensor de presència amb tecnologia PIR com és el sensor HC SR501 (aquest no mesura distàncies).
Davant del resultat de les proves de funcionament, el comportament del sensor HC SR501 té molta més fiabilitat. No obstant, per a la seva configuració i programació s'ha de tenir cura amb els dos potenciòmetres que incorpora (retard i sensibilitat) i la senyal emesa (trimer L-H).
L'esquema elèctric per a les proves realitzades és:
Cal recordar que la intenció del sensor de so és ser l'element de captació per al funcionament del vúmetre. En el grup de debat inicial, es va decidir això en lloc de l'activació amb "una palmada" de les tires de neopixel.
Amb aquest propòsit, el grup de treball, cerca informació del funcionament dels micròfons.
Durant aquesta cerca, la majoria d'informació fa referència a la sortida digital del micròfon KY-038, la qual només ofereix una sortida en alt o baix (0 o 1). Per tant, aquesta aplicació només ens serviria, per exemple, per activar o desactivar amb una palmada. Respecte a la sortida analògica, alguna informació genèrica dels micròfons pareixia indicar que era la solució.
Després de moltes proves, el grup responsable es va adonar que la sortida analògica del KY-038, només oferia un valor entre 0 i 1024 per al valor establert mitjançant el potenciòmetre.
Per l'anterior, es decideix adquirir uns dels sensors de so amb més bones crítiques, el MAX9814, el qual ofereix una sortida analògica del valor del so sensat.
Després d'un bon grapat de proves, es detecta que el valor que ofereix no és adequat al soroll ambient que simulem. Finalment, el grup d'alumnes, amb una cerca intensa d'informació, determina que el problema esdevé del control de guany i reducció del soroll que té el mateix micròfon, molt indicat per altres aplicacions però no per aquest projecte.
Finalment, després d'una altra cerca d'informació acurada, es decideix adquirir el micròfon MAX4466. Amb aquest s'assoleixen els resultats esperats, una sortida analògica amb valors entre 0 i 1024 i alimentant elèctricament el micròfon a 3,3V des de la targeta d'Arduino per a un "mapeig" més fi.
L'esquema elèctric per a les proves realitzades és:
Per aquesta part del sistema, coneguda la baixa qualitat de so que ofereixen els típics brunzidors, s'encomana al grup que busquin si existeix algún reproductor que acompleixi amb els requisits establerts a la reunió de llançament del projecte.
El reproductor seleccionat i adquirit pel centre es coneix com a "DFPlayer Mini" i requereix d'una targeta SD adicional per emmagatzemar els arxius MP3.
Aquest reproductor té diversos pins entre els quals destaquen:
La possibilitat de controlar la reproducció amb una comunicació amb Arduino mitjançant els seus pins RX/TX.
Sortida SPK_1 i SPK_2 per a altaveus de 3W i 8 ohms.
Sortida per altaveus amb amplificador DAC_R i DAC-_I i GND.
Sortida Busy per indicar si està reproduint o no (aquest PIN s'utilitzarà per a la integració de tot el sistema).
Alimentació VCC i GND a 5V.
Entrades ADKEY_1 i ADKEY_2 per controlar mitjançant polsadors i resistències les funcions del reproductor (descartat per aquest projecte però possibilitat de futura millora).
Es pot consultar informació detallada al següent enllaç:
L'objecte prioritari en l'aspecte tècnic és la il·luminació de l'arbre de Nadal.
Tot i què hi han molts exemples a la xarxa per a controlar una sola tira de Neopixels, la dificultat trobada per aquest grup radica en el requisit de controlar les 5 tires de forma independent. Per això, i juntament amb la inclusió del reproductor d'audio DFPlayer Mini, es decideix utilitzar l'entorn de programació Arduino IDE en lloc d'ArduinoBlocks.
Amb l'anterior, aquest grup localitaz un codi molt interessant per a una successió d'efectes amb les tires neopixel. Analitzant el codi i les llibreries associades, finalment aconsegueix el funcionament desitjat per a 5 tires controlades individualment.
En el següent video es poden observar els diferents efectes que realitzen els neopixels quan no actuen com a vúmetre:
Amb l'ajuda del grup 5, s'ha dut a terme una prova de vúmetre, però amb un potenciòmetre en lloc de captar l'àudio, el següent vídeo mostra el funcionament:
L'esquema elèctric del conexionat de les tires de neopixel per a les proves realitzades (sense potenciòmetre) és:
*Nota: molts fabricants indiquen la necessitat d'un condensador per a l'alimentació elèctrica de les tires, però després de diverses proves, es determina què ens genera errors a la resta d'equipament (per corrents de defecte a GND).
En aquesta primera fase, aquesta part és la que menys problemes representa gracies a la gran quantitat d'informació disponible a la xarxa.
Aquest mateix grup d'alumnes, en acabar les proves de la LDR, va realitzar el treball específic sobre les matrius led.
Tant per a analitzar el funcionament d'una resistència LDR, la connexió com codis d'exemple, s'ha utilitzat la informació disponible en el següent enllaç:
Un dels objectius del projecte es donar visibilitat als cicles formatius dins la cultura de l'Institut de Flix. Per això, el propòsit de les matrius led és el de anunciar els cicles formatius, l'institut i desitja bones festes, utilitzant diversos efectes per fer apareixer i desapareixer el text.
El repte principal al que s'enfronta aquest grup és la cerca de llibreries i la seva comprenssió per faciltar la programació amb Arduino IDE. Amb les llibreries principals, es realitzen una sèrie de proves per aprofundir en el funcionament d'aquestes tires. Finalment, es decideix utilitzar dues sortides de control del microprocessador, cadascuna controlan una serie de 8 matrius led de 8x8, és a dir, cada panell té 64x8 leds.
L'esquema del conexionat per a les proves realitzades és:
En aquesta nomenada segona fase, l'objectiu és realitzar una integració parcial dels components, és a dir, integrar alguns sensors amb actuadors. Un altre grup és l'encarregat de fer el disseny de la font d'energia renovable. Per això, s'uneixen els grups anteriors de la següent forma:
Grup A: compost pel grup 1 i el grup 3 per integrar el sensor de presència amb el reproductor de música. La intenció és que en detectar presència, l'equip reproductor d'àudio comenci a emetre música i es posi en pausa quan hagi passat un temps prudencial des de l'última detecció.
Grup B: compost pel grup 2 i el grup 4 per integrar el micròfon amb les tires neopixel. En aquest cas, els alumnes generen el codi per dur a terme un vúmetre.
Grup C: els components del grup 5, se n'encarreguen de dissenyar, fer el muntatge i posada en marxa de la font d'energia renovable, incloent-hi totes les proteccions elèctriques necessàries. També se n'encarrega de portar a cap la implementació física d'un interruptor de marxa/paro per petició del centre perquè l'arbre estarà ubicat en el passadís principal del centre en dies de classe. Aquest interruptor té la funció d'interrompre la música en la posició d'OFF però no detenir la il·luminació.
Dels elements preparats en l'anterior fase, es deixa pendent per a la fase 3, la integració de la resistència LDR per controlar la intensitat lluminosa dels neopixels.
Aquesta fase resulta ser la més difícil del projecte, donat el temps restant per finalitzar-lo i la dificultat que entranya el poc coneixement per part de l'equip docent i l'alumnat de l'entorn Arduino IDE (funcions, bucles, interrupcions,...). Per això, el rol dels tres docents implicats deixa de ser de guies i facilitadors i passen a integrar-se com un component més de cada un dels grups.
S'ha de ressaltar que, l'imclusió dels docents en els grups de treball com a iguals, es considera la part més enriquidora del projecte, tant per l'alumnat com per als professors. A permès als professors donar exemple d'aplicació de les capacitats clau d'una forma directa i conèixer amb més profunditat els problemes als que s'enfronten els alumnes per aquest tipus de projectes.
L'alumnat, per la seva part, ha mostrat molt més interés en quant s'ha adonat de l'importància de pertanyer a un grup o projecte col·lectiu on cada un té una funció vital per al bon desenvolupament del projecte i el producte final.
En aquesta fase s'han dut a terme constants reunions i intercanvis d'opinions, on algunes de les decisions tècniques més importants són:
Utilització de tres microprocessadors. Un per a controlar el sensor de presència amb el reproductor de música, un altre microprcessador per controlar el micròfon i les tires de neopixel i un tercer per a les matrius led. Aquesta decisió s'ha determinat pel comportament seqüencial de la programació i evitar que un "bucle llarg" com és una funció de les tires led, alenteixi la resta de funcions.
Les matrius led i el seu microcontrolador funcionen de forma totalment independent a la resta del sistema.
Per a la fase 3, s'integraràn els altres dos microprocessadors mitjançant una senyal d'interrupció d'un micro a l'altre en quant el primer comenci a emetre música.
L'interruptor de marxa i parada i la resistència LDR s'integraràn al final del projecte.
En aquesta fase, els alumnes realitzen la integració final del programari. Cada microcontrolador rep un valor númeric per diferenciar-los, així:
Arduino 1: micròfon amb tires neopixel i sensor LDR. També s'incorpora l'entrada de l'interruptor marxa/parada amb resistència pull-down.
Arduino 2: sensor de presència i reproductor de música.
Arduino 3: matrius led.
Un altre grup d'alumnes, se n'encarrega de implementar les maquetes realitzades sobre PCB mitjançant soldadures amb estany, anclatges, conectors i diverses adequacions necessaries per a un producte final més pròxim a la realitat.
En aquesta última fase, els grups d'alumnes són variables segons les necessitats en cada moment. Algunes de les tasques realitzades son:
Soldadura amb estany sobre PBC i proves de continuitat per un acabat més professional.
Ensamblatge muntatge i proves funcionament al taller.
Decoració arbre.
Instal·lacio a ubicacio final.
Posada en marxa i ajustaments finals (LDR, Micròfon, mesures tensió sistema fotovoltaic,...)
Documentació projecte.
L'esquema final per als Arduino 1 i 2 és (l'esquema Arduino 3 es pot consultar a la primera fase):
Al següent vídeo es mostra el resultat final:
Des d'aquí, l'equip docent també volem agraïr a tot l'alumnat la seva implicació en el projecte. 😀😍👍👏🎉