ambersy314

Untitled

Jun 12th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. /*
  2. * Amber
  3. * Version 1
  4. */
  5.  
  6. const int pinLed1 = 4;
  7. const int pinLed2 = 5;
  8. const int pinLed3 = 6;
  9. const int pinButt = 9;
  10. boolean readVal = 0;
  11. boolean flag = 0;
  12. boolean lastButton = 0;
  13. int counter = 0;
  14.  
  15. void setup() {
  16. // put your setup code here, to run once:
  17. pinMode (pinLed1, OUTPUT);
  18. pinMode (pinLed2, OUTPUT);
  19. pinMode (pinLed3, OUTPUT);
  20. pinMode (pinButt, INPUT);
  21.  
  22. Serial.begin (9600);
  23.  
  24. digitalWrite (pinLed1, HIGH);
  25. digitalWrite (pinLed2, HIGH);
  26. digitalWrite (pinLed3, HIGH);
  27. delay (500); ;
  28. digitalWrite (pinLed1, LOW);
  29. digitalWrite (pinLed2, LOW);
  30. digitalWrite (pinLed3, LOW);
  31. Serial.begin (9600);
  32. }
  33.  
  34. void loop()
  35. {
  36. // put your main code here, to run repeatedly:
  37.  
  38. readVal = debounce (lastButton);
  39. // will go and read the Button
  40. Serial.println (readVal);
  41.  
  42. if (lastButton == LOW && readVal == HIGH) // Checks if the button has been pressed
  43. {
  44.  
  45. counter++;
  46. }
  47. switch (counter)
  48. {
  49. case 1:
  50.  
  51. digitalWrite (pinLed1, HIGH);
  52. digitalWrite (pinLed2, LOW);
  53. digitalWrite (pinLed3, LOW);
  54. break;
  55. case 2:
  56.  
  57. digitalWrite (pinLed1, HIGH);
  58. digitalWrite (pinLed2, HIGH);
  59. digitalWrite (pinLed3, LOW);
  60. break;
  61.  
  62. case 3:
  63.  
  64. digitalWrite (pinLed1, HIGH);
  65. digitalWrite (pinLed2, HIGH);
  66. digitalWrite (pinLed3, HIGH);
  67. break;
  68. case 4:
  69.  
  70. digitalWrite (pinLed1, LOW);
  71. digitalWrite (pinLed2, LOW);
  72. digitalWrite (pinLed3, LOW);
  73. counter = 0;
  74. break;
  75. }
  76. lastButton = readVal;
  77. }
  78.  
  79. boolean debounce (boolean last)
  80. {
  81. boolean current = digitalRead(pinButt);
  82. if (last != current)
  83. {
  84. delay(5);
  85. current = digitalRead(pinButt);
  86. }
  87. return current;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment