Guest User

Untitled

a guest
Jun 22nd, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. #include <SoftwareSerial.h>
  2.  
  3. int AO = 8;
  4. int AT = 11;
  5. int AS = 9;
  6. int BO = 12;
  7. int BT = 13;
  8. int BS = 10;
  9.  
  10. int duration;
  11. int distance;
  12.  
  13. const int buzzerPin = 6;
  14.  
  15. const int trigPin = 4;
  16. const int echoPin = 5;
  17.  
  18. int spead = 254;
  19.  
  20. byte s = 0;
  21. SoftwareSerial BLE (2, 3); //Purple TX (BLE) to pin 2
  22. //Yellow RX (BLE) on pin 3
  23.  
  24. void setup() {
  25. Serial.begin(9600);
  26. BLE.begin(9600);
  27. pinMode(AO, OUTPUT);
  28. pinMode(AT, OUTPUT);
  29. pinMode(AS, OUTPUT);
  30. pinMode(BO, OUTPUT);
  31. pinMode(BT, OUTPUT);
  32. pinMode(BS, OUTPUT);
  33. pinMode(trigPin, OUTPUT);
  34. pinMode(echoPin, INPUT);
  35. }
  36.  
  37. void loop() {
  38. Serial.println(distancecm());
  39. if (BLE.available() > 0) {
  40. char c = BLE.read();
  41. Serial.println(c);
  42. switch(c) {
  43. case 'A':
  44. forward();
  45. break;
  46. case 'B':
  47. right();
  48. break;
  49. case 'C':
  50. back();
  51. break;
  52. case 'D':
  53. left();
  54. break;
  55. case 'a':
  56. forward();
  57. break;
  58. case 'b':
  59. right();
  60. break;
  61. case 'c':
  62. back();
  63. break;
  64. case 'd':
  65. left();
  66. break;
  67. case 'H':
  68. buzz();
  69. break;
  70. case 'h':
  71. buzz();
  72. break;
  73. default:
  74. finish();
  75. }
  76. }
  77. }
  78.  
  79. int distancecm() {
  80. digitalWrite(trigPin, LOW); // Added this line
  81. delayMicroseconds(5); // Added this line
  82. digitalWrite(trigPin, HIGH);
  83. delayMicroseconds(10); // Added this line
  84. digitalWrite(trigPin, LOW);
  85. duration = pulseIn(echoPin, HIGH);
  86. distance = (duration/2) / 29.1;
  87. return distance;
  88. }
  89. void forward() {
  90. int cm = distancecm();
  91. if (30 > cm && cm > 0) {
  92. Serial.println(cm);
  93. tone(buzzerPin, 600, 350);
  94. finish();
  95. return;
  96. }
  97. analogWrite(AS, spead);
  98. analogWrite(BS, spead);
  99. digitalWrite(AO, HIGH);
  100. digitalWrite(AT, LOW);
  101. digitalWrite(BO, LOW);
  102. digitalWrite(BT, HIGH);
  103. }
  104.  
  105. void back() {
  106. analogWrite(AS, spead);
  107. analogWrite(BS, spead);
  108. digitalWrite(AO, LOW);
  109. digitalWrite(AT, HIGH);
  110. digitalWrite(BO, HIGH);
  111. digitalWrite(BT, LOW);
  112.  
  113. }
  114.  
  115. void left() {
  116. analogWrite(AS, spead);
  117. analogWrite(BS, spead);
  118. digitalWrite(AO, HIGH);
  119. digitalWrite(AT, LOW);
  120. digitalWrite(BO, HIGH);
  121. digitalWrite(BT, LOW);
  122. }
  123.  
  124. void right() {
  125. analogWrite(AS, spead);
  126. analogWrite(BS, spead);
  127. digitalWrite(AO, LOW);
  128. digitalWrite(AT, HIGH);
  129. digitalWrite(BO, LOW);
  130. digitalWrite(BT, HIGH);
  131. }
  132.  
  133. void finish() {
  134. digitalWrite(AO, LOW);
  135. digitalWrite(AT, LOW);
  136. digitalWrite(BO, LOW);
  137. digitalWrite(BT, LOW);
  138. }
  139.  
  140. void buzz() {
  141. tone(buzzerPin, 400, 500);
  142. }
Add Comment
Please, Sign In to add comment