JMJ Marist Brothers Notre Dame of Dadiangas University General Santos City White Line Follower CPE 416 – Feedback and Control System Submitted by: John Lloyd Sarez Elijah Patrick San Pedro Keith Walter Torreblanca Jerry Bel Tolosa Alvenn Donald Tutor Submitted to: Engr. Feln Lily Canonigo PROFESSOR PROGRAM CODES (ARDUINO) const int MRForward = 2; const int MRBackward = 3; const int MLForward = 4; const int MLBackward = 5; const int ProxSensorLeft=6; const int ProxSensorMiddle=7; const int ProxSensorRight=8; void setup() { // put your setup code here, to run once: pinMode(MRForward, OUTPUT); pinMode(MRBackward, OUTPUT); pinMode(MLForward, OUTPUT); pinMode(MLBackward, OUTPUT); pinMode(10, OUTPUT); pinMode(9, OUTPUT); pinMode(ProxSensorLeft,INPUT); pinMode(ProxSensorMiddle,INPUT); pinMode(ProxSensorRight,INPUT); Serial.begin(9600); Serial.println("Serial port open"); } void loop() { // put your main code here, to run repeatedly: left = digitalRead(ProxSensorLeft); middle = digitalRead(ProxSensorMiddle); right = digitalRead(ProxSensorRight); if (left == 1 && middle == 0 && right == 1) { digitalWrite(MRForward, HIGH); digitalWrite(MRBackward, LOW); digitalWrite(MLForward, LOW); digitalWrite(MLBackward, HIGH) ; analogWrite(10,85) ; // M2 power backmotor //150 analogWrite(9, 85) ; // M1 front motor } else if ( left == 0 && middle == 1 && right == 1) { digitalWrite(MRForward, LOW); digitalWrite(MRBackward, HIGH); digitalWrite(MLForward, LOW); digitalWrite(MLBackward, HIGH) ; analogWrite(10,85) ; // M2 power backmotor //150 analogWrite(9, 85) ; // M1 front motor } else if ( left == 0 && middle == 0 && right == 1) { digitalWrite(MRForward, LOW); digitalWrite(MRBackward, HIGH); digitalWrite(MLForward, LOW); digitalWrite(MLBackward, HIGH) ; analogWrite(10,85) ; // M2 power backmotor //150 analogWrite(9, 85) ; // M1 front motor } else if ( left == 1 && middle == 1 && right == 0) { digitalWrite(MRForward, HIGH); digitalWrite(MRBackward, LOW); digitalWrite(MLForward, HIGH); digitalWrite(MLBackward, LOW) ; analogWrite(10,85) ; // M2 power backmotor //150 analogWrite(9,85) ; // M1 front motor } else if ( left == 1 && middle == 0 && right == 0) { digitalWrite(MRForward, HIGH); digitalWrite(MRBackward, LOW); digitalWrite(MLForward, HIGH); digitalWrite(MLBackward, LOW) ; analogWrite(10, 85) ; // M2 power backmotor //150 analogWrite(9, 85) ; // M1 front motor } // stop else if ( left == 0 && middle == 0 && right == 0) { digitalWrite(MRForward, HIGH); digitalWrite(MRBackward, LOW); digitalWrite(MLForward, LOW); digitalWrite(MLBackward, HIGH) ; analogWrite(10, 85) ; // M2 power backmotor //150 analogWrite(9, 85) ; // M1 front motor } else if ( left == 1 && middle == 1 && right == 1) { digitalWrite(MRForward, HIGH); digitalWrite(MRBackward, LOW); digitalWrite(MLForward, LOW); digitalWrite(MLBackward, HIGH) ; analogWrite(10, 85) ; // M2 power backmotor //150 analogWrite(9, 85) ; // M1 front motor } } Documentations (Pictures)