Components
Les pràctiques que es presenten tot seguit s'han provat en un kit de Elecfreaks, Smart Home.
La idea és provar les pràctiques proposades i també els reptes proposats, a banda d'afegir altres reptes i altres pràctiques d'IoT (Internet of Things), d'un kit de la mateixa marca.
El primer que cal fer és comprovar que hi ha tots els materials que trobem a la llista.
En el kit es subministren també els cables de connexió. Són lleugerament diferents en els seus extrems, per tal de connectar-los al sensor si l'extrem té una connexió en forma de palanca. Al mòdul on es connecta la microbit hi va la part plana.
Mòdul de connexió
Aquest mòdul fa d'enllaç entre la microbit i els seus pins, on hi connectarem els sensors.
El pin 0 el tenim reservat per un altaveu (buzzer) i per a presa d'auriculars.. Pel que fa als altres pins, veiem a la figura que cada pin té tres connectors:
El groc és el pin de senyal del sensor
El vermell sempre és el positiu
El negre sempre és el negatiu
Veiem que alguns dels pins (del 3 al 7 i del 9 al 11 i del 13 al 15) són són compartits. Els que només permeten l'ús del pin són dedicats (a una sola funció).
Els pins analògics estan senyalitzats amb una etiqueta verda marcada amb una "tilde" en vertical.
Programa de prova
Com a programa de prova, elecfreaks proposa merry chritsmas. Provem que la targeta rep el programa i de pas provem el buzzer.
Ho fem amb un bucle While true, que s'activarà sempre que polsem A.
Es proposa que es faci un programa amb una melodia, per a tots la mateixa o que cadascú faci la que més li vingui de gust, per a arrodonir la prova.
Som-hi !!!
Muntatge
Sensor de llum al pin 3, buzzer al 2 i led RGB al 1
Recordar que els extrems dels cables NO són iguals, cal que el que és completament pla es connecti als pins i que el que té una petita palanca per a poder connectar-lo millor al sensor
Programa
Desactivem els leds del display per tal de fer servir els pins 1 , 2 i 3 com a analògics
Si hi ha prou llum exterior -el sensor de llum connectat al pin 1 ens donarà la infromació- la llum estarà apagada i no s'activarà
Si no hi ha prou llum exterior, activem la llum interior connectada al pin 3 amb la veu
La pausa de 10s és necessària per a ressetejar els sensors
Els paràmetres de llum i de so estan bé tal com estan, però se'n poden provar d'altres i veure si ajustem millor
Cal haver descarregat la llibreria SmartHome, que inclourà també la llibreria OLED (pantalla LCD) i la Neopixel (RGB)
Muntatge
Carregar el programa a la micro:bit i desconnectar-la de l'ordinador.
Connectar alimentació externa (3V) amb el porta-piles
El motor és de corrent continu, d'imant permanent
Programa
Llegim el valor de la temperatura pel pin 1 i l'emmagatzemem a a la variable temp
Les instruccions show corresponen a la llibreria OLED, que conté les instruccions referents a la pantalla
Si es superen els 30ºC, el ventilador s'engega durant 5 segons, després s'atura; i si no, continua aturat
El pin és digital, ja que en cap cas regulem la velocitat del motor
Muntatge
La contaminació acústica és un problema habitual a la nostra vida. Quan el valor del soroll és superior a 70 dB afectarà la nostra salut. Dissenyarem una finestra i/o una porta intel·ligents mitjançant micro:bit.
Amb la micro:bit es detecta si el valor del soroll és superior a 70 dB i es controla el servo per tancar la porta i la finestra.
Programa
Si el valor del soroll és superior a 70dB, configurem el pin d'escriptura servo P1 a 0 i la finestra romandrà tancada.
Si el valor del soroll és inferior 70dB, fem girar el servo un cert angle (P1 a 100) i s'obrirà la finestra.
Muntatge
L'armari intel·ligent es pot obrir automàticament amb un servo. Una petita pressió al final de cursa i ja està. La idea és que el soroll en l'obertura sigui mínim, per tal de no molestar a la nit
Programa
Recorda de carregar la llibreria SmartHome des de makecode
Per defecte, configurem el pin 2 a nivell alt, al revés que fem habitualment
Inicialitzem el servo a 180º, (els 0º de la circumferència)
Inicialitzem la variable door a -1
Si el final de cursa canvia de posició (activat seria un zero), aleshores entrem dins del segon if, ja que la variable door val 1 (l'hem multiplicat per -1)
Un cop activat el final de cursa, amb valor 0, s'encén el llum de dins de l'armari, en aquest cas triem el color blanc
Es mou el servo, fins als 0º, (els 180º de la circumferècia), obrim l'armari. Esperem un temps (els 2s haurien de ser més grans si volem treure alguna cosa de l'armari), amb el llum encès
Un cop passat el temps, el primer if controla si el final de cursa està activat o no. Si no ho està, l'armari es tanca, si estava obert. S'apaga el llum de l'armari (el color triat aquí ha de ser el negre -apagat.
Aquesta pràctica consisteix en detectar el nivell d'aigua amb un sensor d'humitat. Si el grau d'humitat és baix, voldrà dir que la superfície d'aigua que hi ha als extrems del sensor és també baixa. En aquest cas s'activarà un relé que engerará una bomba. Simularem així que omplim el dipòsit o la piscina fins a arribar al nivell programat.
Muntatge
El motor de la bomba s'activa amb un relé, connectat al pin 2
El relé bàsicament és una bobina que, connectada a tensió, genera un camp magnètic que fa moure els contactes del relé. Aquests contactes activen el motor que fa girar la bomba quan falta aigua al dipòsit
Si suposem que el muntatge és correcte, detectes algunes errades en el programa?
Programa
Per defecte, configurem el pin 2 a nivell alt, al revés que fem habitualment
Inicialitzem el servo a 180º, (els 0º de la circumferència)
Inicialitzem la variable door a -1
Si el final de cursa canvia de posició (activat seria un zero), aleshores entrem dins del segon if, ja que la variable door val 1 (l'hem multiplicat per -1)
Un cop activat el final de cursa, amb valor 0, s'encén el llum de dins de l'armari, en aquest cas triem el color blanc
Es mou el servo, fins als 0º, (els 180º de la circumferècia), obrim l'armari. Esperem un temps (els 2s haurien de ser més grans si volem treure alguna cosa de l'armari), amb el llum encès
Un cop passat el temps, el primer if controla si el final de cursa està activat o no. Si no ho està, l'armari es tanca, si estava obert. S'apaga el llum de l'armari (el color triat aquí ha de ser el negre -apagat.
Es pot simular fent un muntatge posant un servo que obri la porta, la qual s'ha d'enganxar amb paper cel·luloide per a una millor obertura.
En aquesta imatge podem veure la idea del muntatge per a fer la simulació
Els components que has de fer servir en aquest muntatge els pots veure en la imatge del damunt
En aquesta pràctica ja no et donem el muntatge, has de fer el muntatge en funció del programa. Tot seguit et donem les indicacions
Recorda importar la llibreria SmartHome, que inclou el mòdul OLED per a la pantalla LCD
Inhabilitem la matriu de leds de la microbit perquè puguem utilitzar els pins com a analògics o digitals segons el pin
Els 180º del servo són els zero graus de la circumferència, i al revés
El programa detecta la presència per soroll amb un sensor de so, que connectarem al pin 1, i el llegirem en forma analògica
Segons la lectura del final de cursa, connectat al pin 2, la porta s'obrirà o no
A la imatge podem veure que en aquest cas sí que utilitzem la matriu de leds per mostrar una cara, abans de fer la lectura del sensor de so i decidir què farà en funció de la quantitat de so que rebi, en decibels (dB)
En funció del nivell de so en dB, s'assigna un color. El valor mínim de so correspon al vermell i el màxim al negre
Les pauses són importants per a donar temps als sensors a reinicialitzar-se, ja que són més lents que el micorcontrolador i si llegeixen més d'una ordre a l'hora el programa deixaria de funcionar
La variable strip que hem creat i hem inicialitzat, és l'encarregada d'indicar al sensor-led RGB , de la marca Neopixel, quin color s'ha de visualitzar, segons la instrucció if rebuda
Carreguem la llibreria SmartHome
Inicialitzem la pantalla LCD. Les instruccions d'aquesta pantalla les podem trobar a la llibreria OLED. Mira de canviar els paràmetres d'inicialització, que al programa són 128 i 64, de manera que puguem utilitzar tota la pantalla
Un cop se'ns mostra la cara somrient -smiley-, ens apareix un missatge d'inici de joc, amb una pausa per donar temps als sensors a que responguin a les ordres i a reinicialitzar-se
Segons el nivell de decibels (dB), utilitzarem la matriu leds a mode de VU meter (vúmetre): com més nivell d'àudio, més files de leds il·luminats. Aquesta tècnica és habitual en els equips d'àudio, que a més tenen columnes de colors diferents e leds
El nivell d'àudio es mostra a la matriu de leds de la microbit en forma de files il·luminades, i també a la pantalla LCD, on apareix un número que indica el nivell.
El sensor de so el tenim programat al pin1
El programa està fet amb instruccions if. Això vol dir que un cop llegit el nivell de so, s'execurarà la instrucció if la condició de la qual sigui certa. Podem continuar provant, ja que les instruccions if estan dins d'un forever. Si les posem dins d'un start, només s'executarà una vegada
Enjoy !!!