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.


Cap comentari:

Publica un comentari a l'entrada

Deixa el teu comentari