Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Así que construí este proyecto para ver el funcionamiento de los 12 píxeles LED. Encontré este con 16 aquí. Y vi esta pulsera integrada, pero quería ver cómo diferentes anillos, diferentes tamaños funcionarían independientemente unos de otros.
Entonces, en lugar de conectar la salida digital de una placa a la entrada digital de la otra placa, como sugiere la segunda imagen, mi objetivo era tener una DI dedicada en cada placa.
Paso 1: Material
Paso 2: Código
Tenía el neon.ino para empezar, este era muy sencillo, lo encontré en línea y ajustando el puerto y el tamaño del anillo, funcionó.
Tenía la idea de que sería necesario replicar las variables, pero no estaba seguro de cuáles eran necesarias y cuáles podrían permanecer como están para todos los anillos de NeoPixel.
ORIGINAL
#incluir
#define PIN 2 // pin de entrada al que se adjunta Neopixel
#define NUMPIXELS 12 // número de neopixels en Ring
Adafruit_NeoPixel píxeles = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
NUEVO
#include #define PIN1 6 // conecte 12 tiras de Neopixel al PIN6 digital
#define PIN2 13 // conecte 6 tiras de Neopixel al PIN7 digital
#define PIN3 2 // conecte el anillo de 24 Neopixel al PIN8 digital
#define PIN4 10 // conecte el anillo de 16 Neopixel al PIN9 digital
#define PIN5 9 //
#define NUMPIXELS1 24
#define NUMPIXELS2 16
#define NUMPIXELS3 12
#define NUMPIXELS4 6
#define NUMPIXELS5 1
Adafruit_NeoPixel píxeles1 = Adafruit_NeoPixel (NUMPIXELS1, PIN1, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel píxeles2 = Adafruit_NeoPixel (NUMPIXELS2, PIN2, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels3 = Adafruit_NeoPixel (NUMPIXELS3, PIN3, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels4 = Adafruit_NeoPixel (NUMPIXELS4, PIN4, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels5 = Adafruit_NeoPixel (NUMPIXELS5, PIN5, NEO_GRB + NEO_KHZ800);
neonmultiple.txt
fue otro código que encontré, pero basado en el ajuste de botones para la velocidad… necesitaba fusionar ambos códigos.
por primera vez usé
bucle vacío () {
ring1 ();
ring2 ();
ring3 ();
ring4 ();
ring5 ();
Así que fue fácil ver todo el código y las variables que necesitaba "cuadriplicar" del Neon.ino original.
La parte de color establecida la guardé solo una vez, ya que todas las luces pueden cambiar aleatoriamente, por lo que no es necesario establecer color1, establecer color2 … etc.
void setColor () {redColor = random (0, 255); greenColor = aleatorio (0, 255); blueColor = aleatorio (0, 255); Serial.print ("rojo:"); Serial.println (color rojo); Serial.print ("verde:"); Serial.println (greenColor); Serial.print ("azul:"); Serial.println (blueColor); }
el código final que utilicé se llama multiple_rings1.ino
Paso 3: Resultado
solo se puede simular en thinkercad por ahora
www.tinkercad.com/things/0wTu8lCQSkQ-multiple-rings/editel?sharecode=0vbsPyNB7n9it870QBXkyNBV0DyDmmzPCLtHva5fRXk=