17 de des. 2014

Fem servir un polsador



Les potes d’entrada del microcontrolador ens permeten llegir l’estat de polsadors i interruptors.
A primer cop d’ull podria semblar que connectant el polsador entre el positiu (VBATT) i la pota d’entrada n’hi hauria d’haver prou però no és així. Cal posar també una resistència entre el negatiu (GND) i l’entrada. Així quan no premem el polsador l’entrada queda connectada al negatiu a través d ela resistència i quan premem el polsador queda connectada al positiu.

Connexió del polsador


El valor concret de la resistència no és molt important però ha de ser prou gran ja que si no fos així gastaríem molta energia i podríem tenir una avaria. El valor més habitual sol ser 10 kΩ (que correspon a les ratlles de colors marró, negre, taronja i un quart que normalment serà daurat o platejat).
El següent programa llegeix el polsador i encén el led quan el polsador està premut i l’apaga quan el deixem anar.

Programa


Inicialment creem tres variables. La variable lectura és on s’hi guardarà el valor llegit del polsador. Les variables pols i led contindran el número de pota on hem connectat, respectivament, el polsador i el led. Així si més endavant decidíssim canviar de pota només caldria canviar el número en un únic lloc. El led que fem servir és el propi de la placa, per això hem posat un 7.

A la primera pota del loop es llegeix el polsador. Després hi ha una instrucció if-else. Aquesta instrucció compara la lectura amb el valor HIGH (que correspon a premut) i si es compleix fa el que hi ha dins de la primera parella de claus { }. Si, en canvi, la condició no es compleix es faran les instruccions que hi ha dins la segona parella de claus, la que hi ha després de la paraula else. El programa acaba amb un retard d’un quart de segon per assegurar que l’estat del polsador és estable.

10 de des. 2014

Connectem un led a la placa Flora



Ara que ja tenim una placa amb microcontrolador, podem posar un led connectat a aquest i així poder controlar quan s’encén i quan no. La connexió del led serà molt similar a la que fèiem quan no teníem microcontrolador però enlloc de connectar els elements a la pila el que farem serà connectar la resistència a la pota GND (negatiu o terra) de la placa i la pota llarga del led a la sortida triada. Quan activem la sortida s’encendrà el led.

Connexionat d'un led


La placa Flora disposa de vuit potes que poden actuar com a sortida encara que algunes d’elles tenen un nom especial a la serigrafia de la placa: 0 (RX), 1 (TX), 2 (SDA), 3 (SCL), 6, 9, 10 i 12. Els noms entre parèntesi són els que estan escrits a la placa. En el programa hem de posar el número de la sortida escollida.

El programa podria ser formalment igual al de l’entrada anterior però hauríem de canviar el número de la pota ja que llavors fèiem servir el 7 (led de la placa) i ara posarem el corresponent a la pota emprada. En el cas de la figura anterior posaríem un 12.

Si fem servir leds especials per cosir no hem de posar resistència i, per tant, connectem directament el led a la sortida escollida.

Connexionat del led especial per cosir


3 de des. 2014

Alimentem la placa amb piles o bateries



Mentre programem la placa del microcontrolador, aquesta s'alimenta a través del port USB. Però quan ja està al seu lloc definitiu necessita alimentar-se d'alguna manera. Una opció és fer servir piles. Amb un portapiles adequat. Millor si el portapiles porta un interruptor ja que així ens permetrà apagar sense haver de desconnectar els cables. Fent servir un portapiles de tres piles alimentarem la placa a 4,5 V.

Portapiles


Una alternativa que surt més cara d'entrada però que proporciona un estalvi a llarg termini és l'ús de bateries. Les bateries de liti-ió donen molt bon resultat. Podem trobar bateries de diferents capacitats. Les capacitats d'aquestes bateries es mesuren en mil·liampers-hora (mAh). Com més gran sigui la capacitat ens durarà més l'energia però la mida de la bateria serà més gran. Per exemple la bateria de la fotografia és de 500 mAh i porta un connector que es correspon amb el que tenen les plaques Flora i Gemma.

Bateria


Si fem servir bateries ens caldrà un carregador de bateries. Per aquestes bateries de poca energia penso que el més pràctic és un carregador USB com el de la figura ja que el pots portar a la butxaca per quan el puguis necessitar.


Carregador

26 de nov. 2014

El nostre primer programa



El microcontrolador de la placa Flora té diverses potes que poden actuar com a entrades (llegir l’estat de polsadors i sensors) o com a sortides (encendre leds o activar altres elements). Moltes d’aquestes potes d’entrada i sortida estan connectades als punts de connexió de la placa (per exemple, D6, D9, etc.). Una d’aquestes potes del microcontrolador, la D7, està connectada a un led vermell que va muntat sobre la pròpia placa. Gràcies a aquest led, podem fer el primer programa sense haver de connectar fils. El primer programa que farem simplement encendrà aquest led.

Els programes per a aquests tipus de microcontrolador consten de dues parts principals: inicialització i bucle. La part d’inicialització (anomenada setup) es fa només en el moment d’activar el microcontrolador, és a dir quan el connectem a les piles o a l’acabar-lo de programar. La part del bucle (anomenada loop) comença quan acaba la inicialització i es repeteix indefinidament.

El nostre programa haurà d’indicar al microcontrolador que la pota D7 és de sortida. Això, atès que forma part de la configuració general, ho posarem a setup. Després el programa ha d’encendre el led i això ho posarem a loop. En aquest cas amb encendre’l una vegada n’hi hauria prou i ho podríem posar a setup però ho posem a loop per mantenir el mateix criteri que en programes posteriors. En la següent imatge hi podeu veure el programa:


Programa encendre led

El port que apareix a baix a la dreta (COM6) pot ser diferent ja que depèn de quin port USB estigueu fent servir. Podeu connectar la placa al port USB i enviar el programa per veure que certament s‘encén el led.

Podem fer un segon programa en el que el led s’encengui de manera intermitent afegint una segona línia al loop per apagar el led. Si ho proveu us semblarà que el led està encès ja que va tant de pressa que no es nota. Per poder-ho veure ens caldrà posar un temps de retard o espera entre les dues instruccions així com al final. El programa serà aquest:

Programa led intermitent

El retard que hem posat és de 500 mil·lisegons, o sigui, mig segon. El programa encén el led, espera mig segon, apaga el led, espera mig segon i com ja hem arribat al final es repeteix el bucle tornant a començar.

Per acabar, un darrer programa que fa dues intermitències i para un moment:

Programa doble intermitència





19 de nov. 2014

Entorn de programació per a la placa Flora



Les plaques Flora es programen, en principi, amb el mateix entorn que les plaques Arduino. Però cal una versió adaptada de l’entorn que inclogui les particularitats d’aquestes plaques. L’entorn, doncs, el descarregarem del web d’Adafruit i no del d’Arduino.

Per descarregar l’entorn anem a la pàgina de descàrregues d’Adafruit i triem l’opció que correspongui al nostre sistema operatiu (linux, Mac o Windows). Ens baixarà un fitxer ZIP que haurem de descomprimir i posar-lo en qualsevol lloc de l’ordinador (que després sapiguem trobar).

Un cop tinguem instal·lat l’entorn, podem obrir-lo. Aquest és l'aspecte de l'editor quan l'obrim:

Entorn de programació

A la part superior esquerra hi tenim el nom del fitxer amb el que estem treballant. Si hem fet un fitxer nou o hem obert directament l'entorn se'ns haurà assignat automàticament un nom de fitxer que conté la referència a la data del dia. El nom del fitxer també el tenim a la pestanya blanca.

A la part inferior dreta hi tenim el nom de la placa amb el que estem treballant i el port amb el que ens hi comunicarem. Si ens comuniquem per cable USB, el nom del port serà un port sèrie virtual (COM3, COM4, etc.). Abans de compilar o enviar el programa cal haver configurat correctament la placa (Adafruit Flora en el nostre cas) i el port; per tant, és recomanable fer-ho de bon començament. A l'apartat Eines del menú hi trobarem les opcions per canviar aquestes dues coses.

Menú de l'entorn de programació

La taula següent descriu per a què serveixen les diferents icones que podem trobar en aquesta finestra:

Icona Utilització
Comprova el programa per detectar errades
Comprova el programa i l'envia al microcontrolador
Crea un fitxer nou (buit)
Obre un fitxer existent
Desa el fitxer actual
Obre la finestra del monitor sèrie



Un dels avantatges de les plaques Arduino (i similars) és que poden enviar molt fàcilment dades a l'ordinador. Això ens permet veure si els programes fan el que volem ja que podem anar enviant missatges a l'ordinador. Els missatges enviats apareixen a la finestra Monitor sèrie a la que podem accedir des de l'apartat Eines del menú.

A la part inferior de la finestres (zones blava i negra) és on ens apareixeran els missatges que ens diran l'estat del sistema.