Created
January 23, 2014 19:26
-
-
Save laserlemon/8585164 to your computer and use it in GitHub Desktop.
Single LED color chaser
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Bridge.h> | |
#include <Console.h> | |
int red = 11; | |
int green = 10; | |
int blue = 9; | |
int redLevel = 255; | |
int greenLevel = 0; | |
int blueLevel = 0; | |
int defaultStep = 5; | |
int redStep = -defaultStep; | |
int greenStep = defaultStep; | |
int blueStep = 0; | |
int velocity = 0; | |
int velocityLevel = 127; | |
void setup() { | |
pinMode(red, OUTPUT); | |
pinMode(green, OUTPUT); | |
pinMode(blue, OUTPUT); | |
pinMode(velocity, INPUT); | |
} | |
void loop() { | |
analogWrite(red, redLevel); | |
analogWrite(green, greenLevel); | |
analogWrite(blue, blueLevel); | |
velocityLevel = analogRead(velocity); | |
redLevel = redLevel + redStep; | |
greenLevel = greenLevel + greenStep; | |
blueLevel = blueLevel + blueStep; | |
if (redLevel == 0 && redStep != 0) { | |
redStep = 0; | |
blueLevel = defaultStep; | |
blueStep = defaultStep; | |
} else if (redLevel == 255) { | |
redStep = -defaultStep; | |
} | |
if (greenLevel == 0 && greenStep != 0) { | |
greenStep = 0; | |
redLevel = defaultStep; | |
redStep = defaultStep; | |
} else if (greenLevel == 255) { | |
greenStep = -defaultStep; | |
} | |
if (blueLevel == 0 && blueStep != 0) { | |
blueStep = 0; | |
greenLevel = defaultStep; | |
greenStep = defaultStep; | |
} else if (blueLevel == 255) { | |
blueStep = -defaultStep; | |
} | |
delay((velocityLevel / 20) + 1); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment