Top Banner
Line Follower Robot By: Dr. Ahmed ElShafee Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 1
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

Jun 04, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thanks,..

See you next week (ISA),…

Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 14