//Matt Justice RYB led controller
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
int rr = 255;
int gg = 255;
int bb = 255;
int red = 9;
int green = 10;
int blue = 11;
// the loop routine runs over and over again forever:
void loop() {
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
int sensorValue = analogRead(A0);
float volt = sensorValue * (360 / 1024.0);
if (volt < 60) {
rr = 0;
}
if (volt >= 120 && volt <= 240 ) {
rr = 255;
}
if (volt >= 300) {
rr = 0;
}
if (volt >= 60 && volt <= 180) {
gg = 0;
}
if (volt >= 240 ) {
gg = 255;
}
if (volt < 120 ) {
bb = 255;
}
if (volt >= 180 && volt <= 300) {
bb = 0;
}
// linear color change
if (volt < 60 ) {
gg = (255 / 60) * volt;
gg = 255 - gg;
gg = abs(gg);
}
if (volt >= 120 && volt <= 180) {
bb = (255 / 60) * (volt - 120);
bb = 255 - bb;
bb = abs(bb);
}
if (volt >= 240 && volt <= 300) {
rr = (255 / 60) * (volt - 240);
rr = 255 - rr;
rr = abs(rr);
}
if (volt >= 180 && volt <= 240) {
gg = -1 * ((255 / 60) * (volt - 180));
gg = 255 - gg;
gg = abs(gg);
}
if (volt >= 60 && volt <= 120) {
rr = -1 * ((255 / 60) * (volt - 60));
rr = 255 - rr;
rr = abs(rr);
}
if (volt >= 300 && volt <= 360) {
bb = -1 * ((255 / 60) * (volt - 300));
bb = 255 - bb;
bb = abs(bb);
}
analogWrite(red, rr);
analogWrite(green, gg);
analogWrite(blue, bb);
// Serial.println(volt);
// Serial.println(rr);
// Serial.println(gg);
// Serial.println(bb);
}
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
int rr = 255;
int gg = 255;
int bb = 255;
int red = 9;
int green = 10;
int blue = 11;
// the loop routine runs over and over again forever:
void loop() {
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
int sensorValue = analogRead(A0);
float volt = sensorValue * (360 / 1024.0);
if (volt < 60) {
rr = 0;
}
if (volt >= 120 && volt <= 240 ) {
rr = 255;
}
if (volt >= 300) {
rr = 0;
}
if (volt >= 60 && volt <= 180) {
gg = 0;
}
if (volt >= 240 ) {
gg = 255;
}
if (volt < 120 ) {
bb = 255;
}
if (volt >= 180 && volt <= 300) {
bb = 0;
}
// linear color change
if (volt < 60 ) {
gg = (255 / 60) * volt;
gg = 255 - gg;
gg = abs(gg);
}
if (volt >= 120 && volt <= 180) {
bb = (255 / 60) * (volt - 120);
bb = 255 - bb;
bb = abs(bb);
}
if (volt >= 240 && volt <= 300) {
rr = (255 / 60) * (volt - 240);
rr = 255 - rr;
rr = abs(rr);
}
if (volt >= 180 && volt <= 240) {
gg = -1 * ((255 / 60) * (volt - 180));
gg = 255 - gg;
gg = abs(gg);
}
if (volt >= 60 && volt <= 120) {
rr = -1 * ((255 / 60) * (volt - 60));
rr = 255 - rr;
rr = abs(rr);
}
if (volt >= 300 && volt <= 360) {
bb = -1 * ((255 / 60) * (volt - 300));
bb = 255 - bb;
bb = abs(bb);
}
analogWrite(red, rr);
analogWrite(green, gg);
analogWrite(blue, bb);
// Serial.println(volt);
// Serial.println(rr);
// Serial.println(gg);
// Serial.println(bb);
}
No comments:
Post a Comment