Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. #include<SoftwareSerial.h>
  2. SoftwareSerial mySerial(10, 11);
  3. char data = 0;
  4.  
  5. #define IN1 2
  6. #define IN2 4
  7. #define IN3 6
  8. #define IN4 7
  9. #define EN1 5
  10. #define EN2 3
  11. void setup() {
  12. // put your setup code here, to run once:
  13. Serial.begin(9600);
  14. mySerial.begin(9600);
  15.  
  16. pinMode(IN1, OUTPUT);
  17. pinMode(IN2, OUTPUT);
  18. pinMode(IN3, OUTPUT);
  19. pinMode(IN4, OUTPUT);
  20. pinMode(EN1, OUTPUT);
  21. pinMode(EN2, OUTPUT);
  22.  
  23.  
  24. }
  25.  
  26. void loop()
  27. {
  28.  
  29. if (mySerial.available() )
  30. {
  31. data = mySerial.read();
  32. Serial.println(data);
  33. if (data == 'F')
  34. {
  35. Forward();
  36.  
  37. }
  38. else if (data == 'B')
  39. {
  40. Back();
  41. }
  42. else if (data == 'L')
  43. {
  44. Left();
  45. }
  46. else if (data == 'R')
  47. {
  48. Right();
  49. }
  50. else if (data == 'G')
  51. {
  52. ForwardLeft();
  53. }
  54. else if (data == 'I')
  55. {
  56. ForwardRight();
  57. }
  58. else if (data == 'H')
  59. {
  60. BackLeft();
  61. }
  62. else if (data == 'J')
  63. {
  64. BackRight();
  65. }
  66. else {
  67. Stop();
  68. }
  69.  
  70. }
  71.  
  72. }
  73.  
  74. void Forward() {
  75. digitalWrite(IN1, HIGH);
  76. digitalWrite(IN2, LOW);
  77. digitalWrite(IN3, HIGH);
  78. digitalWrite(IN4, LOW);
  79. digitalWrite(EN1, HIGH);
  80. digitalWrite(EN2, HIGH);
  81.  
  82.  
  83. }
  84.  
  85. void Back() {
  86. digitalWrite(IN1, LOW);
  87. digitalWrite(IN2, HIGH);
  88. digitalWrite(IN3, LOW);
  89. digitalWrite(IN4, HIGH);
  90. digitalWrite(EN1, HIGH);
  91. digitalWrite(EN2, HIGH);
  92. }
  93.  
  94. void Left() {
  95. digitalWrite(IN1, HIGH);
  96. digitalWrite(IN2, LOW);
  97. digitalWrite(IN3, LOW);
  98. digitalWrite(IN4, HIGH);
  99. digitalWrite(EN1, HIGH);
  100. digitalWrite(EN2, HIGH);
  101. }
  102.  
  103. void Right() {
  104. digitalWrite(IN1, LOW);
  105. digitalWrite(IN2, HIGH);
  106. digitalWrite(IN3, HIGH);
  107. digitalWrite(IN4, LOW);
  108. digitalWrite(EN1, HIGH);
  109. digitalWrite(EN2, HIGH);
  110.  
  111. }
  112. void Stop() {
  113. digitalWrite(IN1, LOW);
  114. digitalWrite(IN2, LOW);
  115. digitalWrite(IN3, LOW);
  116. digitalWrite(IN4, LOW);
  117. digitalWrite(EN1, LOW);
  118. digitalWrite(EN2, LOW);
  119. }
  120.  
  121. void ForwardLeft() {
  122. analogWrite(EN1, 255); //speed 0 - 255
  123. analogWrite(EN2, 50); //speed 0 - 255
  124. digitalWrite(IN1, HIGH);
  125. digitalWrite(IN2, LOW);
  126. digitalWrite(IN3, HIGH);
  127. digitalWrite(IN4, LOW);
  128. }
  129. void ForwardRight() {
  130. analogWrite(EN1, 50); //speed 0 - 255
  131. analogWrite(EN2, 255); //speed 0 - 255
  132. digitalWrite(IN1, HIGH);
  133. digitalWrite(IN2, LOW);
  134. digitalWrite(IN3, HIGH);
  135. digitalWrite(IN4, LOW);
  136. }
  137. void BackLeft() {
  138. analogWrite(EN1, 50); //speed 0 - 255
  139. analogWrite(EN2, 255); //speed 0 - 255
  140. digitalWrite(IN1, LOW);
  141. digitalWrite(IN2, HIGH);
  142. digitalWrite(IN3, LOW);
  143. digitalWrite(IN4, HIGH);
  144. }
  145. void BackRight() {
  146. analogWrite(EN1, 255); //speed 0 - 255
  147. analogWrite(EN2, 50); //speed 0 - 255
  148. digitalWrite(IN1, LOW);
  149. digitalWrite(IN2, HIGH);
  150. digitalWrite(IN3, LOW);
  151. digitalWrite(IN4, HIGH);
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement