Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define B1 2
- #define B2 4
- #define B3 3
- #define L1 7
- #define L2 5
- boolean b1L=false;
- boolean b2L =false;
- boolean b3L =false;
- boolean debounce(boolean last, int pin){
- boolean current = digitalRead(pin);
- if(last!=current) {
- delay (5);
- current = digitalRead(pin);
- }
- return current;
- }
- void setup() {
- // put your setup code here, to run once:
- pinMode(B1, INPUT);
- pinMode(B2, INPUT);
- pinMode(B3, INPUT);
- pinMode(L1, OUTPUT);
- pinMode(L2, OUTPUT);
- Serial.begin(9600);
- }
- void loop() {
- boolean b1A, b2A, b3A;
- b1A = debounce(b1L, B1);
- b2A = debounce(b2L, B2);
- b3A = debounce(b3L, B3);
- Serial.print(b1A);
- Serial.print(b2A);
- Serial.println(b3A);
- //one button //don't turn on light if two or three
- digitalWrite(L1, (b1A ^ b2A ^b3A) && (!((b1A&&b2A)||(b1A&&b3A)||(b2A&&b3A)) || (b1A && b2A && b3A)));//||(b1A && b2A && b3A)
- //two buttons //don't turn on if three
- digitalWrite(L2, ((b1A&&b2A)||(b1A&&b3A)||(b2A&&b3A)) );
- //three buttons
- b1L = b1A;
- b2L = b2A;
- }
Advertisement
Add Comment
Please, Sign In to add comment