2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Então eu construí este projeto para ver o 12 LED Pixel funcionando. Eu encontrei este com 16 aqui. E eu vi essa pulseira integrada, mas queria ver como anéis e tamanhos diferentes funcionariam independentemente uns dos outros.
Portanto, em vez de conectar a saída digital de uma placa na entrada digital da outra placa, como a segunda imagem sugere, meu objetivo era ter uma DI dedicada em cada placa.
Etapa 1: Material
Etapa 2: Código
Eu tinha o neon.ino para começar, esse aqui era bem direto, achei online e ajustando a porta e o tamanho do ringue funcionou.
Tive a ideia de que haveria necessidade de replicar as variáveis, mas não tinha certeza de quais seriam necessárias e quais poderiam permanecer como estão para todos os anéis do NeoPixel.
ORIGINAL
#incluir
# definir PIN 2 // pino de entrada que Neopixel está anexado a
# define NUMPIXELS 12 // número de neopixels no anel
Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
NOVO
#include #define PIN1 6 // conecte 12 tiras de Neopixel ao Digital PIN6
# define PIN2 13 // conecta 6 tiras de Neopixel ao PIN7 digital
# definir PIN3 2 // conectar anel 24 Neopixel ao PIN8 digital
# define PIN4 10 // conecta o anel 16 Neopixel ao PIN9 digital
#define PIN5 9 //
#define NUMPIXELS1 24
#define NUMPIXELS2 16
#define NUMPIXELS3 12
#define NUMPIXELS4 6
#define NUMPIXELS5 1
Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel (NUMPIXELS1, PIN1, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels2 = 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
foi outro código que encontrei, mas com base em botões de ajuste para a velocidade … Eu precisava mesclar os dois códigos.
pela primeira vez eu usei
void loop () {
ring1 ();
anel2 ();
anel3 ();
anel4 ();
ring5 ();
Então foi fácil ver todo o código e variáveis que eu precisava para "quadruplicar" do Neon.ino original
A parte da cor definida eu mantive apenas uma vez, já que todas as luzes podem mudar aleatoriamente, então não há necessidade de setcolor1, setcolor2 … etc
void setColor () {redColor = random (0, 255); cor verde = aleatório (0, 255); cor azul = aleatório (0, 255); Serial.print ("vermelho:"); Serial.println (redColor); Serial.print ("verde:"); Serial.println (greenColor); Serial.print ("azul:"); Serial.println (blueColor); }
o código final que usei é chamado multiple_rings1.ino
Etapa 3: Resultado
só pode simular no thinkercad por enquanto
www.tinkercad.com/things/0wTu8lCQSkQ-multiple-rings/editel?sharecode=0vbsPyNB7n9it870QBXkyNBV0DyDmmzPCLtHva5fRXk=