I'm having this weird effect where my NeoPixel will blink/glitch after every cycle of a fading sketch. I'm not certain whether the issue is hardware or in my code. The blinking only occurs during the if statement portion of the code and not during the else statement which blinks red. I have tried multiple sources of power, 5V 2amp, 9V 1 amp, 12V 1amp and a Mac Usb and the problem persists on each power supply.
Any suggestions or ideas would be greatly appreciated.
#include <Adafruit_NeoPixel.h>
#include <DistanceGP2Y0A21YK.h>
#define PIN 6
#define PIXEL 16
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL, PIN, NEO_GRBW + NEO_KHZ800);
DistanceGP2Y0A21YK Dist;
int distance;
int R = 0;
int G = 0;
int B = 0;
void setup() {
strip.begin();
strip.show();
strip.setBrightness(127);
Serial.begin(9600);
Dist.begin(A0);
}
void loop() {
distance = Dist.getDistanceCentimeter();
Serial.print("\nDistance in centimers: ");
Serial.print(distance);
delay(2); //make it readable
if (distance > 10) {
for (R && G && B; R < 150 && G < 150 && B < 150; R++ && G++ && B++) {
for (int i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, strip.Color(R, G, B));
strip.show();
delay(1);
}
delay(2);
}
// fade off
for (R && G && B; R > -1 && G > -1 && B > -1; R-- && G-- && B--) {
for (int j = 0; j < strip.numPixels(); j++) {
strip.setPixelColor(j, strip.Color(R, G, B));
strip.show();
delay(1);
}
delay(1);
}
} else {
for (int j = 0; j < 256; j++) {
for (int i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, strip.Color(255, 0, 0));
strip.show();
}
delay (1);
//blink off
for (int j = 64; j > 0; j--) {
for (int i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, strip.Color(j, 0, 0));
strip.show();
}
delay (2);
}
}
}
}