Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. #include "SoftwareSerial.h"
  2. #include "DFRobotDFPlayerMini.h"
  3.  
  4.  
  5. #define start A0
  6. #define koniec A1
  7. #define srodek A2
  8.  
  9.  
  10. #define czerwona 5
  11. #define zielona 7
  12. #define zwora 8
  13. int led_pin = 6;
  14.  
  15. long timer_point;
  16. // randomowe zmienna do mrugania ledami
  17.  
  18.  
  19. int state = 0;
  20. // 0 -> blad
  21. // 1 -> byl na starcie
  22. // 2 -> jest cacy
  23.  
  24.  
  25.  
  26. SoftwareSerial mySoftwareSerial(3, 2); // RX, TX
  27. DFRobotDFPlayerMini myDFPlayer;
  28.  
  29. void setup()
  30. {
  31. mySoftwareSerial.begin(9600);
  32. Serial.begin(115200);
  33.  
  34.  
  35. if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.
  36. Serial.println(F("Unable to begin:"));
  37. Serial.println(F("1.Please recheck the connection!"));
  38. Serial.println(F("2.Please insert the SD card!"));
  39. while (true);
  40. }
  41. Serial.println(F("DFPlayer Mini online."));
  42. myDFPlayer.volume(30);
  43.  
  44.  
  45. pinMode(start, INPUT);
  46. pinMode(koniec, INPUT);
  47. pinMode(srodek, INPUT);
  48.  
  49. pinMode(czerwona, OUTPUT);
  50. pinMode(zielona, OUTPUT);
  51. pinMode(zwora, OUTPUT);
  52. pinMode(led_pin, OUTPUT);
  53.  
  54. digitalWrite(czerwona, HIGH);
  55. digitalWrite(zielona, LOW);
  56. digitalWrite(zwora, LOW);
  57. analogWrite(led_pin, 0);
  58. timer_point = 2000;
  59.  
  60. myDFPlayer.play(1);
  61.  
  62.  
  63.  
  64. }
  65.  
  66. void loop()
  67. {
  68. int odczyt = readBar();
  69. if (state == 0 && odczyt == 100)
  70. {
  71. delay(10);
  72. if (state == 0 && odczyt == 100)
  73. {
  74. state = 1;
  75. digitalWrite(czerwona, LOW);
  76. digitalWrite(zielona, HIGH);
  77. Serial.println("Wykonaj zagadkę");
  78. analogWrite(led_pin, 0);
  79. }
  80. }
  81.  
  82. if (state == 1 && odczyt == 0) {
  83. delay(10);
  84. if (state == 1 && odczyt == 0)
  85. {
  86. //win
  87. state = 2;
  88. digitalWrite(zwora, HIGH);
  89. Serial.println("Udało się! ;)");
  90. digitalWrite(led_pin, HIGH);
  91. myDFPlayer.play(2);
  92. while (1)
  93. ;
  94. }
  95. }
  96.  
  97. if (state == 1 && odczyt == -1)
  98. {
  99. delay(10);
  100. if (state == 1 && odczyt == -1)
  101. {
  102. state = 0;
  103. //zle, blad, BEEP
  104. Serial.println("ERROR - BŁĄD ! ");
  105. myDFPlayer.play(1);
  106. digitalWrite(czerwona, HIGH);
  107. digitalWrite(zielona, LOW);
  108. timer_point = millis();
  109. }
  110. }
  111.  
  112. if ((state == 0) && (millis() - timer_point < 1300))
  113.  
  114. {
  115. analogWrite(led_pin, random(255));
  116. delay(random(50));
  117. }
  118. else {
  119. analogWrite(led_pin, 0);
  120. }
  121.  
  122.  
  123. }
  124.  
  125.  
  126. int readBar()
  127. {
  128. if (digitalRead(start) == 1)
  129. {
  130. return 100;
  131. }
  132.  
  133. if (digitalRead(koniec) == 1)
  134. return 0;
  135.  
  136. if (digitalRead(srodek) == 1)
  137. return -1;
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement