granteeric

led btn 1 2 et 1 3 exemple

May 13th, 2022
1,262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define PIN_BTN_1             5
  2. #define PIN_BTN_2             6
  3. #define PIN_BTN_3             7
  4. #define PIN_LED_VERTE         8
  5. #define PIN_LED_ROUGE         9
  6. #define TIME_ANTIREBOND     250
  7.  
  8. unsigned long timeBtn1 = 0;
  9. unsigned long timeBtn2 = 0;
  10. unsigned long timeBtn3 = 0;
  11. int btn1Pressed = 0;
  12. int btn2Pressed = 0;
  13. int btn3Pressed = 0;
  14.  
  15. void setup(){
  16.   pinMode(PIN_BTN_1, INPUT_PULLUP);
  17.   pinMode(PIN_BTN_2, INPUT_PULLUP);
  18.   pinMode(PIN_BTN_3, INPUT_PULLUP);
  19.   pinMode(PIN_LED_VERTE, OUTPUT);
  20.   pinMode(PIN_LED_ROUGE, OUTPUT);
  21.  
  22. }
  23.  
  24. void loop(){
  25.   if( ((millis() - timeBtn1) >= TIME_ANTIREBOND) & !btn1Pressed & !digitalRead(PIN_BTN_1) ){
  26.     timeBtn1 = millis();
  27.     btn1Pressed = 1;
  28.   }
  29.  
  30.   else if( ((millis() - timeBtn2) >= TIME_ANTIREBOND) & !btn2Pressed & !digitalRead(PIN_BTN_2) & btn1Pressed ){
  31.       timeBtn2=millis();
  32.       digitalWrite(PIN_LED_VERTE, HIGH);
  33.       //tu peux aussi mettre en bascule on et off
  34.       //digitalWrite(PIN_LED_VERTE, !digitalRead(PIN_LED_VERTE));
  35.       //on reinitialise
  36.       btn1Pressed = 0;
  37.       btn2Pressed = 0;
  38.   }
  39.  
  40.   else if( ((millis() - timeBtn3) >= TIME_ANTIREBOND) & !btn2Pressed & !digitalRead(PIN_BTN_2) & btn1Pressed ){
  41.       timeBtn3=millis();
  42.       digitalWrite(PIN_LED_ROUGE, HIGH);
  43.       //tu peux aussi mettre en bascule on et off
  44.       //digitalWrite(PIN_LED_ROUGE, !digitalRead(PIN_LED_ROUGE));
  45.       //on reinitialise
  46.       btn1Pressed = 0;
  47.       btn3Pressed = 0;
  48.   }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment