1 X Panel Mount 10K potentiometer (Breadboard Friendly) – 10K Linear
3 X Jumper Wires Premium 6″ M/M
1 X Project #2 – Lens – LED – Mk3
LensLEDMk4.3.ino
// ***** Don Luc *****
// Software Version Information
// 4.1 - 4.2 - 4.3
// sensorNumber
#include
// Which pin on the Arduino is connected to the NeoPixels?
#define PIN 6
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 2
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Panel Mount 1K potentiometer Brightneed
const int sensorPin = A0;
// Panel Mount 1K potentiometer
const int sensorDelay = A1;
// Panel Mount 1K potentiometer
const int sensorNumber = A2;
// variables:
int sensorValue = 0; // the sensor value
int sensorMin = 1023; // minimum sensor value
int sensorMax = 0; // maximum sensor value
int red = 0;
int green = 0;
int blue = 0;
int x = 0;
long delayVal = 0;
long xp = 0;
int y = 0;
int z = 0;
void loop() {
z = analogRead(sensorNumber);
y = (z / 127);
// range value:
switch (y) {
case 0:
// Blue
red = 0;
green = 102;
blue = 204;
neopix();
break;
case 1:
// Yellow
red = 255;
green = 255;
blue = 0;
neopix();
break;
case 2:
// Pink
red = 255;
green = 153;
blue = 203;
neopix();
break;
case 3:
// White
red = 255;
green = 255;
blue = 255;
neopix();
break;
case 4:
// Green
red = 0;
green = 255;
blue = 0;
neopix();
break;
case 5:
// Orange
red = 255;
green = 102;
blue = 0;
neopix();
break;
case 6:
// Violet
red = 204;
green = 102;
blue = 204;
neopix();
break;
case 7:
xp = analogRead(sensorDelay);
delayVal = (1000 * xp);
// range value:
switch (x) {
case 0:
// Blue
red = 0;
green = 102;
blue = 204;
neopix();
delay(delayVal); // Delay for a period of time (in milliseconds).
x = 1;
break;
case 1:
// Yellow
red = 255;
green = 255;
blue = 0;
neopix();
delay(delayVal); // Delay for a period of time (in milliseconds).
x = 2;
break;
case 2:
// Pink
red = 255;
green = 153;
blue = 203;
neopix();
delay(delayVal); // Delay for a period of time (in milliseconds).
x = 3;
break;
case 3:
// White
red = 255;
green = 255;
blue = 255;
neopix();
delay(delayVal); // Delay for a period of time (in milliseconds).
x = 4;
break;
case 4:
// Green
red = 0;
green = 255;
blue = 0;
neopix();
delay(delayVal); // Delay for a period of time (in milliseconds).
x = 5;
break;
case 5:
// Orange
red = 255;
green = 102;
blue = 0;
neopix();
delay(delayVal); // Delay for a period of time (in milliseconds).
x = 6;
break;
case 6:
// Violet
red = 204;
green = 102;
blue = 204;
neopix();
delay(delayVal); // Delay for a period of time (in milliseconds).
x = 0;
break;
}
break;
}
}
neopin.ino
void neopix() {
for(int i=0; i<NUMPIXELS; i++){
// read the sensor:
sensorValue = analogRead(sensorPin);
// apply the calibration to the sensor reading
sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255);
// in case the sensor value is outside the range seen during calibration
sensorValue = constrain(sensorValue, 0, 255);
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setBrightness( sensorValue );
pixels.setPixelColor(i, pixels.Color(red,green,blue));
pixels.show(); // This sends the updated pixel color to the hardware.
delay(50); // Delay for a period of time (in milliseconds).
}
}
setup.ino
void setup() {
pixels.begin(); // This initializes the NeoPixel library.
}
Don Luc
