Skip to content

Instantly share code, notes, and snippets.

@randrews
Last active August 29, 2015 14:01
Show Gist options
  • Save randrews/48f9798817ef5650e2af to your computer and use it in GitHub Desktop.
Save randrews/48f9798817ef5650e2af to your computer and use it in GitHub Desktop.
int angle = 0;
int redState = 0;
void setup() {
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
}
void loop() {
angle = (++angle) % 360;
double level0 = sin(angle * 3.14159 / 180.0);
double level1 = sin(((angle+180) % 360) * 3.14159 / 180.0);
if(angle == 0) redState = !redState;
analogWrite(0, convert(level0));
analogWrite(1, convert(level1));
digitalWrite(2, redState);
delay(8);
}
// Convert -1..1 to 0..255
int convert(double level){
return (level + 1.0) / 2.0 * 255.0;
}
@randrews
Copy link
Author

Because it's already in a loop, and I might want to do other things in loop() besides fade an LED. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment