I am using 12 neo pixel rings. Also I am having them on separate pins vs being daisy chained due to how they are wired (which can't be changed)
I know this code is not efficient, but I am going for function over pretty for now anyway. Been working this for a few hours and here is where I am at. Pick it apart and let me know your thoughts. At this time the code loads but when I make input2 high, nothing happens....some how the code isn't registering that pin 13 is high or when it is high its not triggering the void Setpixels section...hoping when I get back to this tomorrow it comes to me or someone her can advise. Once I can get a single state to work, I can then add other statements that will equate to my true table provided before.
#include <Adafruit_NeoPixel.h>
const int Input1_Pin = 12; //Maestro PIN 23
const int Input2_Pin = 13; //Maestro PIN 22
int val1 = 0; //variable for reading the input1 pin status
int val2 = 0; //variable for reading the input2 pin status
#define PIN1 2 //Neo Pixel Ring 1
#define PIN2 3 //Neo Pixel Ring 2
#define PIN3 4 //Neo Pixel Ring 3
#define PIN4 5 //Neo Pixel Ring 4
#define NUMPIXELS 12
Adafruit_NeoPixel pixels1(NUMPIXELS, PIN1, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels2(NUMPIXELS, PIN2, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels3(NUMPIXELS, PIN3, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels4(NUMPIXELS, PIN4, NEO_GRB + NEO_KHZ800);
void setup()
{
pinMode(Input1_Pin, INPUT);
pinMode(Input2_Pin, INPUT);
pixels1.begin();
pixels2.begin();
pixels3.begin();
pixels4.begin();
}
void loop() {
val1 = digitalRead(Input1_Pin); //read input 1 value
val2 = digitalRead(Input2_Pin); //read input 2 value
if (val2 == HIGH) //Turn on Pixels
{
void SetPixels(); // Send the updated pixel colors to the hardware.
}
else
{
pixels1.show(); // set pixels to off
pixels2.show(); // set pixels to off.
pixels3.show(); // set pixels to off
pixels4.show(); // set pixels to off
}
}
void SetPixels()
{
// pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255
pixels1.setPixelColor(0, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(1, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(2, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(3, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(4, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(5, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(6, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(7, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(8, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(9, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(10, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(11, pixels1.Color(255, 0, 0));
pixels1.setPixelColor(12, pixels1.Color(255, 0, 0));
pixels1.show(); // Send the updated pixel colors to the hardware.
delay(100); // Delay for a period of time (in milliseconds).
// pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255
pixels2.setPixelColor(0, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(1, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(2, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(3, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(4, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(5, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(6, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(7, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(8, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(9, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(10, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(11, pixels2.Color(255, 0, 0));
pixels2.setPixelColor(12, pixels2.Color(255, 0, 0));
pixels2.show(); // Send the updated pixel colors to the hardware.
delay(100); // Delay for a period of time (in milliseconds).
// pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255
pixels3.setPixelColor(0, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(1, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(2, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(3, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(4, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(5, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(6, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(7, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(8, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(9, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(10, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(11, pixels3.Color(255, 0, 0));
pixels3.setPixelColor(12, pixels3.Color(255, 0, 0));
pixels3.show(); // Send the updated pixel colors to the hardware.
delay(100); // Delay for a period of time (in milliseconds).
// pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255
pixels4.setPixelColor(0, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(1, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(2, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(3, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(4, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(5, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(6, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(7, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(8, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(9, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(10, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(11, pixels4.Color(255, 0, 0));
pixels4.setPixelColor(12, pixels4.Color(255, 0, 0));
pixels4.show(); // Send the updated pixel colors to the hardware.
delay(100); // Delay for a period of time (in milliseconds).
}