Skip to content

Instantly share code, notes, and snippets.

@laserlemon
Created January 23, 2014 19:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save laserlemon/8585164 to your computer and use it in GitHub Desktop.
Save laserlemon/8585164 to your computer and use it in GitHub Desktop.
Single LED color chaser
#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