Facebook
From Expert TTA, 2 Months ago, written in C++.
This paste is a reply to Line Follower from Expert TTA - view diff
Embed
Download Paste or View Raw
Hits: 248
  1. #define m1 5  //Right Motor MA1
  2. #define m2 4  //Right Motor MA2
  3. #define m3 2  //Left Motor MB1
  4. #define m4 3  //Left Motor MB2
  5. #define e1 11  //Right Motor Enable Pin EA
  6. #define e2 10 //Left Motor Enable Pin EB
  7.  
  8. //**********5 Channel IR Sensor Connection**********//
  9. #define ir1 A1
  10. #define ir2 A2
  11. #define ir3 A3
  12. #define ir4 A4
  13. #define ir5 A5
  14. //*************************************************//
  15.  
  16. int speed = 150;
  17.  
  18. void setup() {
  19.   pinMode(m1, OUTPUT);
  20.   pinMode(m2, OUTPUT);
  21.   pinMode(m3, OUTPUT);
  22.   pinMode(m4, OUTPUT);
  23.   pinMode(e1, OUTPUT);
  24.   pinMode(e2, OUTPUT);
  25.  
  26.   pinMode(ir1, INPUT);
  27.   pinMode(ir2, INPUT);
  28.   pinMode(ir3, INPUT);
  29.   pinMode(ir4, INPUT);
  30.   pinMode(ir5, INPUT);
  31.  
  32. }
  33.  
  34. void loop() {
  35.  
  36.   CarTest();
  37.  
  38.   // //Reading Sensor Values
  39.   // int s1 = digitalRead(ir1);  //Left Most Sensor
  40.   // int s2 = digitalRead(ir2);  //Left Sensor
  41.   // int s3 = digitalRead(ir3);  //Middle Sensor
  42.   // int s4 = digitalRead(ir4);  //Right Sensor
  43.   // int s5 = digitalRead(ir5);  //Right Most Sensor
  44.  
  45.   // //if only middle sensor detects black line
  46.   // if((s1 == 1) && (s2 == 1) && (s3 == 0) && (s4 == 1) && (s5 == 1))
  47.   // {
  48.   //   //going forward with full speed
  49.   //   Forward(speed);
  50.   // }
  51.  
  52.   // //if only left sensor detects black line
  53.   // if((s1 == 1) && (s2 == 0) && (s3 == 1) && (s4 == 1) && (s5 == 1))
  54.   // {
  55.   //   //going right with full speed
  56.   //   Right(speed);
  57.   // }
  58.  
  59.   // //if only left most sensor detects black line
  60.   // if((s1 == 0) && (s2 == 1) && (s3 == 1) && (s4 == 1) && (s5 == 1))
  61.   // {
  62.   //   //going right with full speed
  63.   //   Right(speed);
  64.   // }
  65.  
  66.   // //if only right sensor detects black line
  67.   // if((s1 == 1) && (s2 == 1) && (s3 == 1) && (s4 == 0) && (s5 == 1))
  68.   // {
  69.   //   //going left with full speed
  70.   //   Left(speed);
  71.   // }
  72.  
  73.   // //if only right most sensor detects black line
  74.   // if((s1 == 1) && (s2 == 1) && (s3 == 1) && (s4 == 1) && (s5 == 0))
  75.   // {
  76.   //   //going left with full speed
  77.   //   Left(speed);
  78.   // }
  79.  
  80.   // //if middle and right sensor detects black line
  81.   // if((s1 == 1) && (s2 == 1) && (s3 == 0) && (s4 == 0) && (s5 == 1))
  82.   // {
  83.   //   //going left with full speed
  84.   //   Left(speed);
  85.   // }
  86.  
  87.   // //if middle and left sensor detects black line
  88.   // if((s1 == 1) && (s2 == 0) && (s3 == 0) && (s4 == 1) && (s5 == 1))
  89.   // {
  90.   //   //going right with full speed
  91.   //   Right(speed);
  92.   // }
  93.  
  94.   // //if middle, left and left most sensor detects black line
  95.   // if((s1 == 0) && (s2 == 0) && (s3 == 0) && (s4 == 1) && (s5 == 1))
  96.   // {
  97.   //   //going right with full speed
  98.   //   Right(speed);
  99.   // }
  100.  
  101.   // //if middle, right and right most sensor detects black line
  102.   // if((s1 == 1) && (s2 == 1) && (s3 == 0) && (s4 == 0) && (s5 == 0))
  103.   // {
  104.   //   //going left with full speed
  105.   //   Left(speed);
  106.   // }
  107.  
  108.   // //if all sensors are on a black line
  109.   // if((s1 == 0) && (s2 == 0) && (s3 == 0) && (s4 == 0) && (s5 == 0))
  110.   // {
  111.   //   //stop
  112.   //   Stop();
  113.   // }
  114.  
  115.   // delay(100);
  116. }
  117.  
  118. void Forward(int speed){
  119.   analogWrite(e1, speed); //you can adjust the speed of the motors from 0-255
  120.   analogWrite(e2, speed); //you can adjust the speed of the motors from 0-255
  121.  
  122.   digitalWrite(m1, HIGH);
  123.   digitalWrite(m2, LOW);
  124.   digitalWrite(m3, HIGH);
  125.   digitalWrite(m4, LOW);
  126. }
  127.  
  128. void Backward(int speed){
  129.   analogWrite(e1, speed); //you can adjust the speed of the motors from 0-255
  130.   analogWrite(e2, speed); //you can adjust the speed of the motors from 0-255
  131.  
  132.   digitalWrite(m1, LOW);
  133.   digitalWrite(m2, HIGH);
  134.   digitalWrite(m3, LOW);
  135.   digitalWrite(m4, HIGH);
  136. }
  137.  
  138. void Right(int speed){
  139.   analogWrite(e1, speed); //you can adjust the speed of the motors from 0-255
  140.   analogWrite(e2, speed); //you can adjust the speed of the motors from 0-255
  141.  
  142.   digitalWrite(m1, HIGH);
  143.   digitalWrite(m2, LOW);
  144.   digitalWrite(m3, LOW);
  145.   digitalWrite(m4, LOW);
  146. }
  147.  
  148. void Left(int speed){
  149.   analogWrite(e1, speed); //you can adjust the speed of the motors from 0-255
  150.   analogWrite(e2, speed); //you can adjust the speed of the motors from 0-255
  151.  
  152.   digitalWrite(m1, LOW);
  153.   digitalWrite(m2, LOW);
  154.   digitalWrite(m3, HIGH);
  155.   digitalWrite(m4, LOW);
  156. }
  157.  
  158. void Stop(){
  159.   digitalWrite(m1, LOW);
  160.   digitalWrite(m2, LOW);
  161.   digitalWrite(m3, LOW);
  162.   digitalWrite(m4, LOW);
  163. }
  164.  
  165.  
  166. void CarTest(){
  167.   Forward(150);
  168.   delay(1000);
  169.  
  170.   Backward(150);
  171.   delay(1000);
  172.  
  173.   Right(150);
  174.   delay(1000);
  175.  
  176.   Left(150);
  177.   delay(1000);
  178.  
  179.   Stop();
  180.   delay(1000);
  181. }

Replies to Re: Line Follower rss

Title Name Language When
Re: Re: Line Follower Expert TTA cpp 2 Months ago.