Advertisement
diegocali86

Dado Electronico en Arduino Uno

Jun 18th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. double valor;
  2.  
  3. double i;
  4.  
  5. void actualizar_leds() {
  6. digitalWrite(2, LOW);
  7. digitalWrite(3, LOW);
  8. digitalWrite(4, LOW);
  9. digitalWrite(5, LOW);
  10. digitalWrite(6, LOW);
  11. digitalWrite(7, LOW);
  12. digitalWrite(8, LOW);
  13. if ((valor == 1)) {
  14. digitalWrite(5, HIGH);
  15.  
  16. }
  17. if ((valor == 2)) {
  18. digitalWrite(4, HIGH);
  19. digitalWrite(6, HIGH);
  20.  
  21. }
  22. if ((valor == 3)) {
  23. digitalWrite(4, HIGH);
  24. digitalWrite(5, HIGH);
  25. digitalWrite(6, HIGH);
  26.  
  27. }
  28. if ((valor == 4)) {
  29. digitalWrite(2, HIGH);
  30. digitalWrite(4, HIGH);
  31. digitalWrite(6, HIGH);
  32. digitalWrite(8, HIGH);
  33.  
  34. }
  35. if ((valor == 5)) {
  36. digitalWrite(2, HIGH);
  37. digitalWrite(4, HIGH);
  38. digitalWrite(5, HIGH);
  39. digitalWrite(6, HIGH);
  40. digitalWrite(8, HIGH);
  41.  
  42. }
  43. if ((valor == 6)) {
  44. digitalWrite(2, HIGH);
  45. digitalWrite(3, HIGH);
  46. digitalWrite(4, HIGH);
  47. digitalWrite(6, HIGH);
  48. digitalWrite(7, HIGH);
  49. digitalWrite(8, HIGH);
  50.  
  51. }
  52. }
  53.  
  54. double math_random_int(int a,int b) {
  55. if (a > b) {
  56. int c = a;
  57. a = b;
  58. b = c;
  59. }
  60. return (double)random(a,b+1);
  61. }
  62. void tirar_dado() {
  63. valor = 0;
  64. actualizar_leds();
  65. delay(2000);
  66. valor = math_random_int(1, 6);
  67. actualizar_leds();
  68. }
  69.  
  70. void esperar_pulsacion() {
  71. while ((!digitalRead(10))) {
  72. delay(50);
  73. }
  74. while (digitalRead(10)) {
  75. delay(50);
  76. }
  77. }
  78.  
  79. void test_inicio() {
  80. for (i = 1; i <= 6; i=i+1) {
  81. valor = i;
  82. actualizar_leds();
  83. delay(500);
  84. }
  85. valor = 0;
  86. actualizar_leds();
  87. }
  88.  
  89. void setup()
  90. {
  91. pinMode(2, OUTPUT);
  92. pinMode(3, OUTPUT);
  93. pinMode(4, OUTPUT);
  94. pinMode(5, OUTPUT);
  95. pinMode(6, OUTPUT);
  96. pinMode(7, OUTPUT);
  97. pinMode(8, OUTPUT);
  98. randomSeed(analogRead(0));
  99. pinMode(10, INPUT);
  100. test_inicio();
  101.  
  102. }
  103.  
  104.  
  105. void loop()
  106. {
  107.  
  108. esperar_pulsacion();
  109. tirar_dado();
  110.  
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement