25 de març 2015

Neo Pixel Ring



El Neo Pixel Ring és un conjunt de Neo Pixel connectats en cadena i muntats sobre una circumferència.

El control dels Neo Pixel Rings es fa des d'una única sortida digital del microcontrolador de manera que deixa totes les altres potes lliures per a altres funcions. A més, els Neo Pixel Rings es poden posar en cadena (connectant la sortida de l'un amb l'entrada del següent) tant amb Neo Pixel com amb altres Neo Pixel Ring i això permet controlar individualment un nombre elevat de leds fent servir una única sortida.

Neo Pixel Ring

Els borns de connexió del Neo Pixel Ring de 16 leds s'indiquen a la figura següent. Per fer servir un Neo Pixel cal connectar el born V+ al born positiu de l'alimentació, el born G al negatiu de l'alimentació i el born in amb una sortida digital del microcontrolador. En aquesta imatge també veiem les posicions de quatre dels leds, les posicions dels altres es poden deduir fàcilment.

Potes del NPR

El següent diagrama mostra com es connectarien dos Neo Pixel Rings a una placa de microcontrolador Flora. El positiu dels Neo Pixel Rings s'ha connectat al born VBATT i el negatiu al born GND. L'entrada de communicació dels Neo Pixel Rings s'ha connectat a la pota D6 del microcontrolador.


Connexió del NPR

Hem posat com exemple el Neo Pixel Ring de 16 leds (que té el mateix diàmetre exterior que la placa Flora) però també en podeu trobar de 12 leds, de 24 leds i de 60 leds.

La programació del Neo Pixel Ring és similar a la del Neo Pixel. A continuació trobareu un exemple en el que inicialment el led 0 està vermell, el 4 està verd, el 8 està blau i el 12 està groc. Al cap de mig segon els colors es desplacen una posició (leds 1, 5, 9 i 13) i així successivament.

Programa

18 de març 2015

Neo Pixel



El Neo Pixel és un led RGB (és a dir, un led tricolor) que incorpora un circuit intern que permet controlar si està encès o no i el seu color. Un Neo Pixel té un diàmetre de menys de 14 mm (més petit que una moneda d'un cèntim) i un gruix inferior als 3  mm. Això facilita el seu us incorporant-los a elements tèxtils.

El control dels Neo Pixels es fa des d'una única sortida digital del microcontrolador de manera que deixa totes les altres potes lliures per a altres funcions. A més, els Neo Pixels es poden posar en cadena (connectant la sortida de l'un amb l'entrada del següent) i això permet controlar individualment un nombre elevat de leds fent servir una única sortida.

NeoPixel
 
Per fer servir un Neo Pixel cal connectar el born + (superior a la foto) al born positiu de l'alimentació, el born - (inferior a la foto) al negatiu de l'alimentació i el born amb una fletxa entrant (el de la dreta a la foto) amb una sortida digital del microcontrolador. Si fem una cadena connectarem el born marcat amb la fletxa sortint d'un amb el born marcat amb la fletxa entrant del següent.

El següent diagrama mostra com es connectarien dos Neo Pixels a una placa de microcontrolador Flora. El positiu dels Neo Pixels s'ha connectat al born VBATT i el negatiu al born GND. L'entrada de communicació dels Neo Pixels s'ha connectat a la pota D6 del microcontrolador.

NeoPixel


Per fer servir els Neo Pixels ens caldrà la NeoPixel library. Si ja hem instal·lat la versió de l'entorn de programació Arduino que proporciona Adafruit és probable que ja tinguem aquesta llibreria instal·lada. Podem comprovar-ho en la pestanya Sketch del menú:

Comprovem si tenim la llibreria


Un cop ja tinguem la llibreria, podem fer els nostres programes. A la part inicial, hem de carregar la llibreria corresponent. A la part de declaració de variables, hem de crear un objecte Adafruit_NeoPixel per a cada cadena de leds. Considerem que formen una cadena tots els que estan connectats un després de l'altra a una mateixa sortida del microcontrolador. En aquest cas l'objecte s'anomena cadena i correspon a un conjunt de 10 Neo Pixels (primer valor dins el parèntesi) connectats a la pota 6 del microcontrolador (segon paràmetre dins el parèntesi). El tercer paràmetre (NEO_GRB + NEO_KHZ800) indica quin tipus de Neo Pixels fem servir i com es comuniquen. Els que estan actualment disponibles són els Neo Pixel v2 que es corresponen amb els indicats en el programa d'exemple.

Encara que no és imprescindible, es recomana inicialitzar els Neo Pixels de la cadena. Això ho podem fer a la inicialització (setup) del programa. El nostre programa s'encarregarà d'anar encenent els Neo Pixels amb els colors desitjats.



Les dues primeres instruccions del programa principal serveixen per indicar el color d'un Pixel concret. El primer paràmetre és el número de Pixel (0 és el més proper al microcontrolador, 1 el segon, etc.) i els altres tres són la codificació RGB del color, és a dir les quantitats de vermell, verd i blau desitjades (valors entre 0, apagat, i 255). La tercera instrucció transfereix de cop tots els canvis; d'aquesta manera, tots els Pixels canviaran simultàniament. Després d'un segon, es modifiquen els colors seguint una seqüència.
Aquest mètode és senzill però implica anar definint els colors cada cop a base de tres nombres. Hi ha una altra manera més compacta que consisteix en definir una variable d'un tipus específic que guardi un color concret.


11 de març 2015

Codi de colors per a les resistències



Les resistències de potències petites (les que normalment fem servir per a tecnologia vestible) solen portar el valor indicat mitjançant ratlles de colors. Podem trobar resistències amb quatre o cinc ratlles.

         

Normalment hi ha una ratlla que està una mica separada de les altres. Aquesta és la franja que indica la precisió (tolerància) del valor de la resistència (sol ser de color daurat o platejat, però no sempre). Les resistències es llegeixen posant la ratlla de tolerància a la dreta. Llavors la ratlla de la dreta és la tolerància, l'anterior és el multiplicador i les altres dues o tres indiquen les xifres significatives del valor i es llegeixen d'esquerra a dreta.

La taula següent ens indica el significat de cada un dels colors en cada posició. Si la casella és buida vol dir que el color no es fa servir en aquella posició.

Color Valor Multiplicador Tolerància
        Negre 0 1 Ω 1 Ω  
        Marró 1 10 Ω 10 Ω ± 1%
        Vermell 2 100 Ω 100 Ω ± 2%
        Taronja 3 1000 Ω 1 kΩ  
        Groc 4 10 000 Ω 10 kΩ  
        Verd 5 100 000 Ω 100 kΩ ± 0,5%
        Blau 6 1000 000 Ω 1 MΩ ± 0,25%
        Violat 7     ± 0,1%
        Gris 8      
        Blanc 9      
        Daurat   0,1 Ω 100 mΩ ± 5%
        Platejat   0,01 Ω 10 mΩ ± 10%

Cal tenir presents les següents equivalències:

 1 Ω   =   1000 mΩ
 1 kΩ   =   1000 Ω
 1 kΩ   =   1 000 000 mΩ
 1 MΩ   =   1000 kΩ
 1 MΩ   =   1 000 000 Ω
 1 MΩ   =   1 000 000 000 mΩ


Els valors més habituals de les xifres significatives serien els de la taula següent:

 10   12   15   18   22   27   33   39   47   56   68   82 

Per llegir una resistència primer calculem el valor significatiu amb les dues o tres primeres bandes i el multipliquem pel que correspon segons la penúltima banda.

A continuació veurem alguns exemples amb resistències de quatre bandes i de cinc bandes:


Colors Significat Valor resistència
                1 5 10 Ω ± 10% 150 Ω 0,15 kΩ
                4 7 100 Ω ± 10% 4700 Ω 4,7 kΩ
                1 0 1 kΩ ± 10% 10 000 Ω 10 kΩ
                1 2 100 kΩ ± 10% 1200 kΩ 1,2 MΩ

Colors Significat Valor resistència
                    2 2 0 10 Ω ± 5% 220 Ω 0,22 kΩ
                    6 8 0 10 Ω ± 5% 6800 Ω 6,8 kΩ
                    2 7 0 100 Ω ± 5% 27 000 Ω 27 kΩ
                    1 5 0 100 kΩ ± 5% 15 000 kΩ 15 MΩ

4 de març 2015

Codificació RGB dels colors



Ara que ja coneixem els leds RGB, convé entendre com es codifiquen els diferents colors.

Qualsevol color es pot descomposar en combinacions de tres colors primaris. En el cas de la llum els tres colors primaris són vermell, verd i blau i, per això, les pantalles consten de puntets d'aquests tres colors. Anomenem píxel a un bloc de tres puntets, un de cada color.

En el cas de la pintura o la tinta, els tres colors primaris són els complementaris dels comentats, és a dir, el groc, el magenta i el cian que es corresponen amb els dels cartutxos de tinta per a les impressores.

Així doncs, en sistemes digitals és força habitual fer servir les proporcions de vermell (R), verd (G) i blau (B) per codificar els colors. Les lletres R, G i B són les inicials dels tres colors en anglès (red, green, blue).
La proporció dels colors es podria representar en tant per cent però el més habitual és fer-ho amb un número entre 0 i 255 ja que aquest és el rang de valors que es pot emmagatzemar en un byte de memòria.
En la següent taula trobareu els codis RGB d'alguns colors habituals:


Color Vermell (R) Verd (G) Blau (B)
        Vermell 255 0 0
        Verd 0 255 0
        Blau 0 0 255
        Groc 255 255 0
        Magenta 255 0 255
        Cian 0 255 255
        Blanc 255 255 255
        Taronja 255 128 0
        Marró 192 128 64
        Or vell 192 192 0
        Gris clar 192 192 192
        Gris mig 128 128 128
        Gris fosc 64 64 64
        Negre (led apagat) 0 0 0

Partint d'un color determinat, podem fer-lo més clar augmentant de la mateixa forma els valors més baixos i podem fer-lo més fosc reduïnt els més alts. Per exemple:

Color Vermell (R) Verd (G) Blau (B)
        0 255 0
        64 255 64
        128 255 128
        192 255 192
        255 255 255

Color Vermell (R) Verd (G) Blau (B)
        0 255 0
        0 192 0
        0 128 0
        0 64 0
        0 0 0

Una manera senzilla de trobar el codi corresponent a un color concret és fer servir un programa de dibuix; per exemple el Paint. Imaginem que volem saber el codi del color principal del logo d'Arduino. Descarregarem el fitxer del logo i l'obrirem amb el Paint. Amb l'eina Comptagotes picarem en algun punt de la imatge en el que hi hagi el color desitjat. Tot seguit picarem al botó Edita els colors i se'ns obrirà l'editor de colors amb els valors corresponents al color triat. En aquest cas els valors són 0, 146 i 159.

Paint

També podem triar directament el color en aquest selector de colors. Fixem-nos que tenim una parrilla quadrada i una barra de desplaçament vertical. A l'eix horitzontal de la parrilla podem triar el to del color desitjat des del vermell (esquerra) fins al violat (dreta). En l'eix vertical de la parrilla podem triar la saturació del color i a la part superior hi trobarem els colors més purs mentre que a la inferior els més apagats (grisos). Per a una mateixa combinació, la barra de desplaçament vertical ens permet triar la lluminositat del color; des del màxim (blanc) fins al mínim (negre).

Paint