//Code in C++
#include <Adafruit_NeoPixel.h>
//neopixel pins
int Power = 11;
int NEOPIN = 12;
#define NUMPIXELS 1
Adafruit_NeoPixel pixels(NUMPIXELS, NEOPIN, NEO_GRB + NEO_KHZ800);
//pins for each led color
int REDled = 1;
int GREENled = 26;
int BLUEled = 0;
//analog pins for the potenciometer
int REDpot = A1;
int GREENpot = A2;
int BLUEpot = A3;
//give the potenciometer value to each variable ()
int REDpwm = 0;
int GREENpwm = 0;
int BLUEpwm = 0;
//---------------------------------------------------------------------------------------------------
void setup() {
//neopixel
pixels.begin();
pinMode(Power,OUTPUT);
digitalWrite(Power, HIGH);
//output pinmode for each led (red, green, and blue)
pinMode(REDled, OUTPUT);
pinMode(GREENled, OUTPUT);
pinMode(BLUEled, OUTPUT);
}
//---------------------------------------------------------------------------------------------------
void loop() {
//apply the potenciometer values to the variables and adjust their values to go from 0 to 255
REDpwm = analogRead(REDpot)/4;
GREENpwm = analogRead(GREENpot)/4;
BLUEpwm = analogRead(BLUEpot)/4;
//turn on each led with their corresponding pwm
analogWrite(REDled, REDpwm);
analogWrite(GREENled, GREENpwm);
analogWrite(BLUEled, BLUEpwm);
//set the color to the neo pixel
pixels.setPixelColor(0, pixels.Color(REDpwm, GREENpwm, BLUEpwm));
delay(200);
pixels.show();
}