line follower robot -...
TRANSCRIPT
![Page 1: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/1.jpg)
Line Follower Robot
By:
Dr. Ahmed ElShafee
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 1
![Page 2: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/2.jpg)
•
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 2
![Page 3: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/3.jpg)
How to include motor shield library
• #include "DCM.cpp"
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 3
![Page 4: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/4.jpg)
How to define names for line follower sensor pins • #define R 2
• #define M 9
• #define L 10
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 4
![Page 5: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/5.jpg)
Initializing arduino serial port
• void setup()
• {
• Serial.begin(9600);
• Serial.println("******************************");
• Serial.println("welcome to line traker robot.");
• Serial.println("******************************");
• }
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 5
![Page 6: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/6.jpg)
Setup Ardiuno line follower sensor pins as inputs • void setup()
• {
• pinMode(R, INPUT);
• pinMode(M, INPUT);
• pinMode(L, INPUT);
• }
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 6
![Page 7: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/7.jpg)
loop{} function
• void loop()
• {
• // your code is written here
• }
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 7
![Page 8: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/8.jpg)
Initialize integer variables and read line follower sensor inputs • int Rv,Lv,Mv;
• Rv=digitalRead(R);
• Mv=digitalRead(M);
• Lv=digitalRead(L);
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 8
![Page 9: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/9.jpg)
Display line follower sensor readings on serial port • Serial.print(Lv);
• Serial.print("\t");
• Serial.print(Mv);
• Serial.print("\t");
• Serial.println(Rv);
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 9
![Page 10: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/10.jpg)
Check If user send command to arduino through serial port, arduino responds accordingly
• int inByte = Serial.read();
• switch(inByte)
• {
– case 'f':
• // do someting
– Break;
– Case ‘r’:
• //do something
– Break:
– Default:
• // do something
– Break;
• } Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 10
![Page 11: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/11.jpg)
Move robot forward for 500 mille seconds • motor(1, FORWARD, 255);
• motor(2, FORWARD, 255);
• delay(500);
• motor(1, RELEASE, 0);
• motor(2, RELEASE, 0);
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 11
![Page 12: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/12.jpg)
Move robot backward for 500 mille seconds • motor(1, BACKWARD, 255);
• motor(2, BACKWARD, 255);
• delay(500);
• motor(1, RELEASE, 0);
• motor(2, RELEASE, 0);
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 12
![Page 13: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/13.jpg)
Turn robot left r right for 250 mille seonds • motor(1, FORWARD, 255);
• delay(250);
• motor(1, RELEASE, 0);
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 13
![Page 14: Line Follower Robot - draelshafee.netdraelshafee.net/Spring2016/ee-1st-projects---line-follower-robot.pdfLine Follower Robot By: Dr. Ahmed ElShafee 1 Dr. Ahmed ElShafee, ACU : Spring](https://reader035.vdocuments.us/reader035/viewer/2022081418/5f01af377e708231d4008cca/html5/thumbnails/14.jpg)
Thanks,..
See you next week (ISA),…
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 14