Advertisement
manvi_m

Die Project

Jun 13th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.40 KB | None | 0 0
  1. /*
  2. * Manvi Mittal
  3. * Dice Prototype with 6 LEDs and random
  4. */
  5.  
  6. const int pinLed1 = 2;
  7. const int pinLed2 = 3;
  8. const int pinLed3 = 4;
  9. const int pinLed4 = 8;
  10. const int pinLed5 = 9;
  11. const int pinLed6 = 10;
  12. const int pinLed0 = 11;
  13. const int pinButt = 5;
  14. boolean buttPressed = 0;
  15. boolean ledOn = 0;
  16. boolean prevButt = 0;
  17. int randito = 0;
  18.  
  19. void setup()
  20. {
  21. // put your setup code here, to run once:
  22. pinMode (pinLed1, OUTPUT);
  23. pinMode (pinLed2, OUTPUT);
  24. pinMode (pinLed3, OUTPUT);
  25. pinMode (pinLed4, OUTPUT);
  26. pinMode (pinLed5, OUTPUT);
  27. pinMode (pinLed6, OUTPUT);
  28. pinMode (pinLed0, OUTPUT);
  29. pinMode (pinButt, INPUT);
  30.  
  31. Serial.begin (9600);
  32.  
  33. digitalWrite (pinLed1, HIGH);
  34. digitalWrite (pinLed2, HIGH);
  35. digitalWrite (pinLed3, HIGH);
  36. digitalWrite (pinLed4, HIGH);
  37. digitalWrite (pinLed5, HIGH);
  38. digitalWrite (pinLed6, HIGH);
  39. digitalWrite (pinLed0, HIGH);
  40. delay (500);
  41. digitalWrite (pinLed1, LOW);
  42. digitalWrite (pinLed2, LOW);
  43. digitalWrite (pinLed3, LOW);
  44. digitalWrite (pinLed4, LOW);
  45. digitalWrite (pinLed5, LOW);
  46. digitalWrite (pinLed6, LOW);
  47. digitalWrite (pinLed0, LOW);
  48. randomSeed (analogRead (A0));
  49.  
  50. }
  51.  
  52. void loop()
  53. {
  54. // put your main code here, to run repeatedly:
  55. buttPressed = digitalRead (pinButt);
  56. //Serial.print (buttPressed);
  57.  
  58. buttPressed = debounce (prevButt);
  59. if (prevButt == LOW && buttPressed == HIGH)
  60. {
  61. randito = random(6) + 1;
  62. /*
  63. * random (6) + 1 is the same as random (1, 7) which is [1, 7) because random 6 is [0, 6)
  64. */
  65. Serial.print (randito);
  66. }
  67.  
  68. switch (randito)
  69. {
  70. case 1:
  71. digitalWrite (pinLed0, HIGH);
  72. digitalWrite (pinLed1, LOW);
  73. digitalWrite (pinLed2, LOW);
  74. digitalWrite (pinLed3, LOW);
  75. digitalWrite (pinLed4, LOW);
  76. digitalWrite (pinLed5, LOW);
  77. digitalWrite (pinLed6, LOW);
  78. break;
  79.  
  80. case 2:
  81. digitalWrite (pinLed0, LOW);
  82. digitalWrite (pinLed1, HIGH);
  83. digitalWrite (pinLed2, LOW);
  84. digitalWrite (pinLed3, LOW);
  85. digitalWrite (pinLed4, LOW);
  86. digitalWrite (pinLed5, LOW);
  87. digitalWrite (pinLed6, HIGH);
  88. break;
  89.  
  90. case 3:
  91. digitalWrite (pinLed0, HIGH);
  92. digitalWrite (pinLed1, HIGH);
  93. digitalWrite (pinLed2, LOW);
  94. digitalWrite (pinLed3, LOW);
  95. digitalWrite (pinLed4, LOW);
  96. digitalWrite (pinLed5, LOW);
  97. digitalWrite (pinLed6, HIGH);
  98. break;
  99.  
  100. case 4:
  101. digitalWrite (pinLed0, LOW);
  102. digitalWrite (pinLed1, HIGH);
  103. digitalWrite (pinLed2, LOW);
  104. digitalWrite (pinLed3, HIGH);
  105. digitalWrite (pinLed4, HIGH);
  106. digitalWrite (pinLed5, LOW);
  107. digitalWrite (pinLed6, HIGH);
  108. break;
  109.  
  110. case 5:
  111. digitalWrite (pinLed0, HIGH);
  112. digitalWrite (pinLed1, HIGH);
  113. digitalWrite (pinLed2, LOW);
  114. digitalWrite (pinLed3, HIGH);
  115. digitalWrite (pinLed4, HIGH);
  116. digitalWrite (pinLed5, LOW);
  117. digitalWrite (pinLed6, HIGH);
  118. break;
  119.  
  120. case 6:
  121. digitalWrite (pinLed0, LOW);
  122. digitalWrite (pinLed1, HIGH);
  123. digitalWrite (pinLed2, HIGH);
  124. digitalWrite (pinLed3, HIGH);
  125. digitalWrite (pinLed4, HIGH);
  126. digitalWrite (pinLed5, HIGH);
  127. digitalWrite (pinLed6, HIGH);
  128. break;
  129. }
  130.  
  131. prevButt = buttPressed;
  132. }
  133.  
  134.  
  135.  
  136. boolean debounce(boolean last)
  137. {
  138. boolean current = digitalRead(pinButt);
  139. if (last != current)
  140. {
  141. delay(5);
  142. current = digitalRead(pinButt);
  143. }
  144. return current;
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement