Advertisement
safwan092

Untitled

Jun 22nd, 2022
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.58 KB | None | 0 0
  1.  
  2. unsigned char Bluetooth_val; //defining variable val
  3. #define Lpwm_pin 9 //enB
  4. #define Rpwm_pin 10 //enA
  5. int pinLF = 4; //in1
  6. int pinLB = 5; //in2
  7. int pinRF = 6; //in3
  8. int pinRB = 7; //in4
  9.  
  10. unsigned char Lpwm_val = 150;
  11. unsigned char Rpwm_val = 150;
  12.  
  13. int Car_state = 0;
  14.  
  15. void M_Control_IO_config(void)
  16. {
  17. pinMode(pinLB, OUTPUT);
  18. pinMode(pinLF, OUTPUT);
  19. pinMode(pinRB, OUTPUT);
  20. pinMode(pinRF, OUTPUT);
  21. pinMode(Lpwm_pin, OUTPUT); // pin 10 (PWM)
  22. pinMode(Rpwm_pin, OUTPUT); // pin 9 (PWM)
  23. }
  24. void Set_Speed(unsigned char Left, unsigned char Right)
  25. {
  26. analogWrite(Lpwm_pin, Left);
  27. analogWrite(Rpwm_pin, Right);
  28. }
  29. void turnR() // going forward
  30. {
  31. digitalWrite(pinRB, LOW); // making motor move towards right rear
  32. digitalWrite(pinRF, HIGH);
  33. digitalWrite(pinLB, LOW); // making motor move towards left rear
  34. digitalWrite(pinLF, HIGH);
  35. Car_state = 1;
  36. }
  37. void back() //turning right(dual wheel)
  38. {
  39. digitalWrite(pinRB, LOW); //making motor move towards right rear
  40. digitalWrite(pinRF, HIGH);
  41. digitalWrite(pinLB, HIGH);
  42. digitalWrite(pinLF, LOW); //making motor move towards left front
  43. Car_state = 4;
  44. }
  45. void advance() //turning left(dual wheel)
  46. {
  47. digitalWrite(pinRB, HIGH);
  48. digitalWrite(pinRF, LOW ); //making motor move towards right front
  49. digitalWrite(pinLB, LOW); //making motor move towards left rear
  50. digitalWrite(pinLF, HIGH);
  51. Car_state = 3;
  52. }
  53. void stopp() //stop
  54. {
  55. digitalWrite(pinRB, HIGH);
  56. digitalWrite(pinRF, HIGH);
  57. digitalWrite(pinLB, HIGH);
  58. digitalWrite(pinLF, HIGH);
  59. Car_state = 5;
  60. }
  61. void turnL() //back up
  62. {
  63. digitalWrite(pinRB, HIGH); //making motor move towards right rear
  64. digitalWrite(pinRF, LOW);
  65. digitalWrite(pinLB, HIGH); //making motor move towards left rear
  66. digitalWrite(pinLF, LOW);
  67. Car_state = 2;
  68. }
  69.  
  70. void forwardLeft() {
  71. advance();
  72. delay(50);
  73. turnL();
  74. delay(100);
  75. advance();
  76. delay(50);
  77. } //G
  78. void forwardRight() {
  79. advance();
  80. delay(50);
  81. turnR();
  82. delay(100);
  83. advance();
  84. delay(50);
  85. } //I
  86. void backLeft() {
  87. back();
  88. delay(50);
  89. turnR();
  90. delay(100);
  91. back();
  92. delay(50);
  93. } //H
  94. void backRight() {
  95. back();
  96. delay(50);
  97. turnL();
  98. delay(100);
  99. back();
  100. delay(50);
  101. } //J
  102.  
  103. void hornON(){digitalWrite(13,1);}
  104. void hornOFF(){digitalWrite(13,0);}
  105. void setup()
  106. {
  107. pinMode(13,OUTPUT);
  108. M_Control_IO_config();
  109. Set_Speed(Lpwm_val, Rpwm_val);
  110. Serial.begin(9600); //initialized serial port , using Bluetooth as serial port, setting baud at 9600
  111. stopp();
  112. }
  113.  
  114. void loop()
  115. {
  116. if (Serial.available()) //to judge whether the serial port receives the data.
  117. {
  118. Bluetooth_val = Serial.read(); //reading (Bluetooth) data of serial port,giving the value of val;
  119. switch (Bluetooth_val)
  120. {
  121. case 'F': advance(); //UP
  122. break;
  123. case 'B': back(); //back
  124. break;
  125. case 'L': turnL(); //Left
  126. break;
  127. case 'R': turnR(); //Right
  128. break;
  129. case 'S': stopp(); //stop
  130. break;
  131. case 'G': stopp();
  132. break;
  133. case 'I': stopp();
  134. break;
  135. case 'H': stopp();
  136. break;
  137. case 'J': stopp();
  138. break;
  139. case 'W': stopp();
  140. break;
  141. case 'w': stopp();
  142. break;
  143. case 'U': stopp();
  144. break;
  145. case 'u': stopp();
  146. break;
  147. case 'V': hornON();
  148. break;
  149. case 'v': hornOFF();
  150. break;
  151. case 'X': stopp();
  152. break;
  153. case 'x': stopp();
  154. break;
  155. case 'D': stopp();
  156. break;
  157. }
  158. }
  159. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement