Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int BLED=9 ;
- const int GLED=10 ;
- const int RLED=11 ;
- const int BUTTON=2 ;
- boolean lastButton = LOW;
- boolean currentButton = LOW;
- int ledMode = 0 ;
- void setup()
- {
- pinMode (BLED, OUTPUT) ;
- pinMode (GLED, OUTPUT) ;
- pinMode (RLED, OUTPUT) ;
- pinMode (BUTTON, INPUT) ;
- }
- /*
- * Debouncing Function
- * Pass it the previous button state.
- */
- boolean debounce (boolean last)
- {
- boolean current = digitalRead (BUTTON) ;
- if (last != current)
- {
- delay (5) ;
- current = digitalRead (BUTTON) ;
- }
- return current;
- }
- /*
- * LED Mode Selection
- * Pass a number for the LED state and set it accordingly.
- */
- void setMode (int mode)
- {
- //RED
- if (mode == 1)
- {
- digitalWrite (RLED, HIGH) ;
- digitalWrite (GLED, LOW) ;
- digitalWrite (BLED, LOW) ;
- }
- //GREEN
- else if (mode == 2)
- {
- digitalWrite (RLED, LOW) ;
- digitalWrite (GLED, HIGH) ;
- digitalWrite (BLED, LOW) ;
- }
- //BLUE
- else if (mode == 3)
- {
- digitalWrite (RLED, LOW) ;
- digitalWrite (GLED, LOW) ;
- digitalWrite (BLED, HIGH) ;
- }
- //PURPLE (RED+BLUE
- else if (mode == 4)
- {
- analogWrite (RLED, 127) ;
- analogWrite (GLED, 0) ;
- analogWrite (BLED, 127) ;
- }
- //TEAL (BLUE+GREEN)
- else if (mode == 5)
- {
- analogWrite (RLED, 0) ;
- analogWrite (GLED, 127) ;
- analogWrite (BLED, 127) ;
- }
- //ORANGE (GREEN+RED)
- else if (mode == 6)
- {
- analogWrite (RLED, 127) ;
- analogWrite (GLED, 127) ;
- analogWrite (BLED, 0) ;
- }
- //WHITE (GREEN+RED+BLUE)
- else if (mode == 7)
- {
- analogWrite (RLED, 85) ;
- analogWrite (GLED, 85) ;
- analogWrite (BLED, 85) ;
- }
- //OFF (mode = 0)
- else
- {
- digitalWrite (RLED, LOW) ;
- digitalWrite (GLED, LOW) ;
- digitalWrite (BLED, LOW) ;
- }
- }
- void loop ()
- {
- currentButton = debounce(lastButton) ;
- if (lastButton == LOW && currentButton == HIGH)
- {
- ledMode++;
- }
- lastButton = currentButton;
- //if you've cycled through the different options,
- //reset the counter to 0
- if (ledMode == 8)
- {
- ledMode = 0 ;
- }
- setMode (ledMode) ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement