Advertisement
Braulio777

Arduino LED Die

Nov 17th, 2014
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.01 KB | None | 0 0
  1. //Arduino LED Die
  2. /*LED DIE*/
  3. //Select your led pins
  4. int ledPins[7] = {6, 7, 8, 9, 10, 11, 12};
  5. int dicePatterns[7][7] = {
  6. {0, 0, 0, 0, 0, 0, 1}, // 1
  7. {0, 0, 1, 1, 0, 0, 0}, // 2
  8. {0, 0, 1, 1, 0, 0, 1}, // 3
  9. {1, 0, 1, 1, 0, 1, 0}, // 4
  10. {1, 0, 1, 1, 0, 1, 1}, // 5
  11. {1, 1, 1, 1, 1, 1, 0}, // 6
  12. {0, 0, 0, 0, 0, 0, 0} // BLANK
  13. };
  14. int switchPin = 13 ;
  15. int blank = 6;
  16. void setup()
  17. {
  18. for (int i = 0; i < 7; i++)
  19. {
  20. pinMode(ledPins[i], OUTPUT);
  21. digitalWrite(ledPins[i], LOW);
  22. }
  23. randomSeed(analogRead(0));
  24. }
  25. void loop()
  26. {
  27. if (digitalRead(switchPin))
  28. {
  29. rollTheDice();
  30. }
  31. delay(100);
  32. }
  33. void rollTheDice()
  34. {
  35. int result = 0;
  36. int lengthOfRoll = random(15, 25);
  37. for (int i = 0; i < lengthOfRoll; i++)
  38. {
  39. result = random(0, 6); // result will be 0 to 5 not 1 to 6
  40. show(result);
  41. delay(50 + i * 10);
  42. }
  43. for (int j = 0; j < 3; j++)
  44. {
  45. show(blank);
  46. delay(500);
  47. show(result);
  48. delay(500);
  49. }
  50. }
  51. void show(int result)
  52. {
  53. for (int i = 0; i < 7; i++)
  54. {
  55. digitalWrite(ledPins[i], dicePatterns[result][i]);
  56. }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement