0

Using more than one Neopixel
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Using more than one Neopixel

by rkohrt on Wed Jun 13, 2018 10:39 am

Neopixel_5.txt
Arduino File First attempt
(2.07 KiB) Downloaded 48 times


Sorry, I am am new in this area and I need help using more than one Neopixel ring, one 60-ring and one 24-ring, with an Arduino uno:

i want to know, how to initialize both rings, and how to manage LEDs in the first or in the second ring.

My first attempt see below.

Thank you.

Code: Select all | TOGGLE FULL SIZE
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

int i=0; //Zähler für die LEDs in 60er Ring
int j=0; //Zähler für die LEDs in 24er Ring

#define PIN 9;
#define PIN2 11; // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define NUMPIX 60; // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define NUMPIX2 24; // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIX, PIN, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels2 = Adafruit_NeoPixel(NUMPIX2, PIN2, NEO_GRB + NEO_KHZ800);

int pause=500; // 100 Millisekunden Pause bis zur Ansteuerung der nächsten LED.

void setup()
{
  pixels.begin(); // Initialisierung der NeoPixel60
  pixels2.begin();// Initialisierung der NeoPixel24
  for (int k=0;k<60;k++) pixels.setPixelColor(k, pixels.Color(0,0,100));//60er Ring blau vorbelegen
  pixels.show;
  for (int m=0;m<24;m++) pixels2.setPixelColor(m, pixels.Color(0,100,0));//24er Ring grün vorbelegen
  pixels2.show();

}

void loop()
{
pixels.setPixelColor(i, pixels.Color(100,0,0)); // Pixel leuchtet in der Farbe Grün
pixels.setPixelColor(i-1, pixels.Color(0,0,100)); // Der vorherige Pixel wird blau geschaltet
pixels.show(); // Durchführen der Pixel-Ansteuerung
 
if (i==0) pixels.setPixelColor(59, pixels.Color(0,0,100)); // Im Fall von Pixel "0" muss die vorherige (59) blau geschaltet werden.
pixels.show(); // Durchführen der Pixel-Ansteuerung
delay (pause);
i=i+1; // Die Variable "i" wird um eine Zahl vergrößert. Die neue Zahl "i" ist dann die nächste LED im Led-Ring
if (i==60)
 {
  i=0; // Wenn die Variable den Wert 40 erreicht hat, wird die Variable auf den Wert "0" zurück gesetzt, da die Nummerierung der LEDs nur von 0 bis 39 geht.
  j++;
  pixels2.setPixelColor(j, pixels2.Color(100,0,0)); // Pixel leuchtet in der Farbe Grün
  pixels2.setPixelColor(j-1, pixels2.Color(0,100,0)); // Der vorherige Pixel wird abgeschaltet
  pixels2.show(); // Durchführen der Pixel-Ansteuerung
  if (j==24) j=0;
 }
}
Last edited by adafruit_support_bill on Wed Jun 13, 2018 10:46 am, edited 1 time in total.
Reason: added code in-line

rkohrt
 
Posts: 3
Joined: Wed Jun 13, 2018 10:27 am

Re: Using more than one Neopixel

by adafruit_support_bill on Wed Jun 13, 2018 10:47 am

It looks like you are defining and initializing them properly. Is it not working as you intended?

adafruit_support_bill
 
Posts: 69235
Joined: Sat Feb 07, 2009 10:11 am

Re: Using more than one Neopixel

by rkohrt on Wed Jun 13, 2018 10:53 am

the error message in line 15 is:

exit status 1
expected primary-expression before '(' token

I have no idea!

rkohrt
 
Posts: 3
Joined: Wed Jun 13, 2018 10:27 am

Re: Using more than one Neopixel

by adafruit_support_bill on Wed Jun 13, 2018 10:58 am

Code: Select all | TOGGLE FULL SIZE
#define PIN 9;
#define PIN2 11; // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define NUMPIX 60; // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define NUMPIX2 24; // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben


You are using semicolons in your symbol definition macros. That is causing the syntax error when you try to use those symbols:

Eliminate the semicolons:
Code: Select all | TOGGLE FULL SIZE
#define PIN 9
#define PIN2 11 // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define NUMPIX 60 // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define NUMPIX2 24 // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben

adafruit_support_bill
 
Posts: 69235
Joined: Sat Feb 07, 2009 10:11 am

Re: Using more than one Neopixel

by rkohrt on Wed Jun 13, 2018 2:28 pm

Thank you, that works.

rkohrt
 
Posts: 3
Joined: Wed Jun 13, 2018 10:27 am

Re: Using more than one Neopixel

by adafruit_support_bill on Wed Jun 13, 2018 2:31 pm

That is good to hear. Thank you for the follow-up. :)

adafruit_support_bill
 
Posts: 69235
Joined: Sat Feb 07, 2009 10:11 am

Please be positive and constructive with your questions and comments.