Upload
others
View
67
Download
1
Embed Size (px)
Citation preview
Line Follower Robot
By:
Dr. Ahmed ElShafee
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 1
•
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 2
How to include motor shield library
• #include "DCM.cpp"
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 3
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
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
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
loop{} function
• void loop()
• {
• // your code is written here
• }
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 7
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
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
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
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
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
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
Thanks,..
See you next week (ISA),…
Dr. Ahmed ElShafee, ACU : Spring 2016, Course Name 14