Advertisement
Guest User

willam

a guest
Jan 18th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. /* Auteur: Willam "No dox" Crane
  2. Laatst geweizigd: 18-01-2017
  3. */
  4.  
  5. const int led16 = 3; // the PWM pin the LED is attached to
  6. const int led06 = 5;
  7. const int led63 = 6;
  8. const int led59 = 9;
  9. const int outcomeLed = 4;
  10. const int lButton = 1;
  11. const int rButton = 2;
  12. const int stateHigh = 255;
  13. const int stateLow = 10;
  14.  
  15. const int led16opslag = 0;
  16. const int led06opslag = 1;
  17. const int led63opslag = 2;
  18. const int led59opslag = 3;
  19.  
  20. int ledStates[] = { 0, 0, 0, 0 };
  21. int ledPins[] = { 3, 5, 6, 9 };
  22.  
  23. int userState = 0;
  24. int ledState = stateLow;
  25.  
  26. int lastlButton = 0;
  27. int lastrButton = 0;
  28. int lButtonState = 0;
  29. int rButtonState = 0;
  30.  
  31. // the setup routine runs once when you press reset:
  32. void setup() {
  33. // declare pin 9 to be an output:
  34. pinMode(led16, OUTPUT);
  35. pinMode(led06, OUTPUT);
  36. pinMode(led63, OUTPUT);
  37. pinMode(led59, OUTPUT);
  38. pinMode(outcomeLed, OUTPUT);
  39. pinMode(lButton, INPUT);
  40. pinMode(rButton, INPUT);
  41. }
  42.  
  43. // the loop routine runs over and over again forever:
  44. void loop() {
  45.  
  46. lastlButton = lButtonState;
  47. lButtonState = digitalRead(lButton);
  48.  
  49.  
  50. if (debounceL(lButtonState) == HIGH && lastlButton == LOW){
  51. userState++;
  52. if (userState > 5){
  53. userState = 0;
  54. }
  55. }
  56. else if (debounceL(lButtonState) == LOW && lastlButton == HIGH){
  57. lastlButton = lButtonState;
  58. }
  59. switch(userState){
  60. case 0:
  61. //analogWrite(led16, ledWijzig(analogRead(3)));
  62. ledWijzig(ledPins[led16opslag]);
  63. break;
  64. case 1:
  65. //analogWrite(led06, ledWijzig(analogRead(5)));
  66. ledWijzig(ledPins[led06opslag]);
  67. break;
  68. case 2:
  69. //analogWrite(led63, ledWijzig(analogRead(6)));
  70. ledWijzig(led63);
  71. break;
  72. case 3:
  73. //analogWrite(led59, ledWijzig(analogRead(9)));
  74. ledWijzig(led59);
  75. break;
  76. case 4:
  77. willam();
  78. break;
  79. case 5:
  80. dimmed();
  81. digitalWrite(outcomeLed, LOW);
  82. break;
  83. }
  84. }
  85.  
  86. void dimmed(){
  87. analogWrite(led16, stateLow);
  88. analogWrite(led06, stateLow);
  89. analogWrite(led63, stateLow);
  90. analogWrite(led59, stateLow);
  91. }
  92.  
  93. int ledWijzig(int ledNummer)
  94. {
  95. lastrButton = rButtonState;
  96. rButtonState = digitalRead(rButton);
  97. if (debounceR(rButtonState) == HIGH && lastrButton == LOW){
  98.  
  99. ledState = ( ledState == stateLow ? stateHigh : stateLow ); // Trinary operator, look it up!
  100. analogWrite(ledNummer, ledState);
  101.  
  102. }
  103. else if (debounceR(rButtonState) == LOW && lastrButton == HIGH){
  104. lastrButton = rButtonState;
  105. }
  106. }
  107.  
  108. void willam(){
  109. if (((!led16 && led06) || (led63 || led59)) == true){
  110. digitalWrite(outcomeLed, HIGH);
  111. }
  112. else {
  113. digitalWrite(outcomeLed, LOW);
  114. }
  115. }
  116.  
  117. boolean debounceL(boolean state){
  118. delay(10);
  119.  
  120. boolean stateNow = digitalRead(lButton);
  121.  
  122. if(state != stateNow){
  123. stateNow = LOW;
  124. }
  125.  
  126. return stateNow;
  127. }
  128.  
  129. boolean debounceR(boolean state){
  130. delay(10);
  131.  
  132. boolean stateNow = digitalRead(rButton);
  133.  
  134.  
  135. if(state != stateNow){
  136. stateNow = LOW;
  137. }
  138. return stateNow;
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement