Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int greenLed = 11;
- int redLed = 10;
- int blueLed = 9;
- int yellowLed = 6;
- class FADE {
- private:
- int fadeAmount = 0;
- enum ledState {
- fullOff,
- fullOn
- };
- enum ledState currentState = fullOff;
- public:
- void fadeLed(int ledPin, int fadeSpeed, int fadeRate) {
- fadeAmount = constrain(fadeAmount, 0, 255);
- switch (currentState) {
- case fullOff:
- fadeAmount += fadeRate;
- analogWrite(ledPin, fadeAmount);
- delay(fadeSpeed);
- if (fadeAmount >= 255) {
- currentState = fullOn;
- }
- break;
- case fullOn:
- fadeAmount = fadeAmount - fadeRate;
- analogWrite(ledPin, fadeAmount);
- delay(fadeSpeed);
- if (fadeAmount <= 0) {
- currentState = fullOff;
- }
- break;
- }
- Serial.println(fadeAmount);
- }
- };
- FADE greenFade;
- FADE redFade;
- FADE blueFade;
- FADE yellowFade;
- void setup() {
- // put your setup code here, to run once:
- pinMode(greenLed, OUTPUT);
- pinMode(redLed, OUTPUT);
- pinMode(blueLed, OUTPUT);
- pinMode(yellowLed, OUTPUT);
- Serial.begin(9600);
- }
- void loop() {
- greenFade.fadeLed(greenLed, 30, 20);
- redFade.fadeLed(redLed, 30, 10);
- blueFade.fadeLed(blueLed, 30, 15);
- yellowFade.fadeLed(yellowLed, 30, 25);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement