Tecnologia vestible

Per començar Elements d'entrada Programació CircuitPython   Recursos CITCEA
Elements no electrònics Elements de sortida Programació Arduino    
Projectes Elements de control Dades pràctiques   Inici

NeoPixel Ring

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

El control dels NeoPixel 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 NeoPixel Rings es poden posar en cadena (connectant la sortida de l'un amb l'entrada del següent) tant amb NeoPixel com amb altres NeoPixel Ring i això permet controlar individualment un nombre elevat de LED fent servir una única sortida.

NeoPixel Ring

Existeixen cristalls difusors per als NeoPixels.

Els borns de connexió del NeoPixel Ring de 16 LED s'indiquen a la figura següent. Per fer servir un NeoPixel 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 LED, les posicions dels altres es poden deduir fàcilment.

NeoPixel Ring

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

Connexió de NeoPixel Rings

Hem posat com exemple el NeoPixel Ring de 16 LED (que té el mateix diàmetre exterior que la placa Flora) però també en podeu trobar de 12 LED, de 24 LED i de 60 LED (aquest es ven a quarts).

Els NeoPixel Ring es fabriquen en diferents tipus segons com es mostra el color blanc.

La programació del NeoPixel Ring és similar a la del NeoPixel. 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ó (LED 1, 5, 9 i 13) i així successivament.

#include <Adafruit_NeoPixel.h>
int  a1 = 0, a2 = 4, a3 = 8, a4 = 12;  // Varíables que comptaran la posició
Adafruit_NeoPixel cadena = Adafruit_NeoPixel(16, 6, NEO_GRB + NEO_KHZ800);  // Cadena de 16
void setup() {
	cadena.begin();  // Inicialitza els NeoPixels				
	cadena.show();
}
void loop() {
	if (a1 > 15){
		a1 = a1 - 16;
	}
	if (a2 > 15){
		a2 = a2 - 16;
	}
	if (a3 > 15){
		a3 = a3 - 16;
	}
	if (a4 > 15){
		a4 = a4 - 16;
	}
	for (int k = 0; k < 16; k++){
		cadena.setPixelColor(k, 0, 0, 0);  // Apaga tots els pixels (0 a 15)
	}
	cadena.setPixelColor(a1, 100, 0, 0);  // Pixel a1 vermell
	cadena.setPixelColor(a2, 0, 100, 0);  // Pixel a2 verd
	cadena.setPixelColor(a3, 0, 0, 100);  // Pixel a3 blau
	cadena.setPixelColor(a4, 100, 100, 0);  // Pixel a4 groc
	cadena.show(); // Actualitza
	delay(500);  // Espera mig segon
	a1++;
	a2++;
	a3++;
	a4++;
}

 

 

 

En aquest web, les fotografies marcades amb [AF] són del web d'Adafruit, les marcades amb [SF] del web d'Sparkfun i les marcades amb [AU] del web d'Arduino.

 

 

 

 

 

 

 

 

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.