Vários anéis NeoPixel independentes: 3 etapas
Vários anéis NeoPixel independentes: 3 etapas
Anonim
Vários anéis neoPixel independentes
Vários anéis neoPixel independentes
Vários anéis neoPixel independentes
Vários anéis neoPixel independentes

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

Material
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

Resultado
Resultado
Resultado
Resultado

só pode simular no thinkercad por enquanto

www.tinkercad.com/things/0wTu8lCQSkQ-multiple-rings/editel?sharecode=0vbsPyNB7n9it870QBXkyNBV0DyDmmzPCLtHva5fRXk=