Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- RGB LED Mood Light by HydroCorp Industries
- Coded by _______________________
- Help from Arduino Forums @ http://forum.arduino.cc
- This is licesened under the Attribution-NonCommercial 4.0 Internationa
- Basically, it means you just have to say the author was me, and don't use it to make money.
- Contact me at waterlubber@rocketmail.com for license exclusions
- ~~Changelog~~
- v1.0_beta: Basic colors. Red, Red/Green, Green, Green/Blue, Blue, Blue/Red
- v1.0: Added random number generation!
- */
- int redPower = 0; //Power level of red led from 0-255
- int redPin = 9; //Pin the red led is hooked up to.
- int greenPower = 0; //Power level of green...
- int greenPin = 10; //Pin the green led...
- int bluePower = 0; //etc.
- int bluePin = 11; //etc.
- int oldRedPower = 0;
- int oldGreenPower = 0;
- int oldBluePower = 0;
- void setup() {
- pinMode(redPin, OUTPUT); //Declares pins as outputs
- pinMode(greenPin, OUTPUT);
- pinMode(bluePin, OUTPUT);
- randomSeed(analogRead(0));//Resets the Random Number Generator
- }
- void loop() {
- redPower = random(256); //Gets some random numbers, then stores them as new 'goal' numbers
- greenPower = random(256);
- bluePower = random(256);
- while(oldRedPower < redPower) { //Increase brightness to get to the new number
- analogWrite(redPin, oldRedPower + 1);
- oldRedPower++;
- delay(5);
- }
- while(oldRedPower > redPower) { //Decrease brightness to get to the new number
- analogWrite(redPin, oldRedPower -1);
- oldRedPower--;
- delay(5);
- }
- while(oldGreenPower < greenPower) {
- analogWrite(greenPin, oldGreenPower + 1);
- oldGreenPower++;
- delay(5);
- }
- while(oldGreenPower > greenPower) {
- analogWrite(greenPin, oldGreenPower -1);
- oldGreenPower--;
- delay(5);
- }
- while(oldBluePower < bluePower) {
- analogWrite(bluePin, oldBluePower + 1);
- oldBluePower++;
- delay(5);
- }
- while(oldBluePower > bluePower) {
- analogWrite(bluePin, oldBluePower - 1);
- oldBluePower--;
- delay(5);
- }
- oldRedPower = redPower; //Age the young!
- oldGreenPower = greenPower;
- oldBluePower = bluePower;
- delay(random(5,20)*500); //Delay a random time
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement