int motor_left = 9, motor_right = 11; int photo_left = 5, photo_right = 0; int output_left, output_right; void setup(){ pinMode(9,OUTPUT); // pinMode(5,INPUT); // pinMode(0,INPUT); // pinMode(11,OUTPUT);//
Output data to left motor
Input data from left photosensor Input data from right photosensor Output data to right motor
Serial.begin(9600); //Set data transmisson rate to 9600 bits per second
} void loop(){ int value_left = analogRead(photo_left); //read input from left photosensor (R ange: 0-1023) int value_right = analogRead(photo_right); // read input from right photosenso r (Range: 0-1023) if (value_left<400 && value_right<400) //if both photosensors are in dark (man ually calibrated for linear motion) { analogWrite(motor_left,75); //set left motor speed to 75 units (Range: 0-25 5) analogWrite(motor_right,50); //set right motor speed to 50 units (Range: 0255) } if (value_left>400 && value_right<400) //if left photosensor is receiving brig ht light (left runs faster than right) { analogWrite(motor_left,75); //set left motor speed to 75 units (Range: 0-255 ) analogWrite(motor_right,110); //set right motor speed to 110 units (Range: 0 -255) } if (value_right>400 && value_left<400) //if right photosensor is receiving bri ght light (right runs fater than left) { analogWrite(motor_left,110); //set left motor speed to 110 units (Range: 0-2 55) analogWrite(motor_right,75); //set right motor speed to 75 units (Range: 0-2 55) } if (value_right>400 && value_left>400) //if both photosensors are in bright li ght (manually calibrated for linear motion) { analogWrite(motor_left,100); //set left motor speed to 100 units (Range: 0-2 55) analogWrite(motor_right,90); //set right motor speed to 90 units (Range: 0-2 55) } {
//block for easier debugging
Serial.print(value_left); //Prints values of left motor at end of each l oop iteration
Serial.print(","); //Prints comma for ease in reading
Serial.println(value_right); //Prints values of right motor at end of ea ch loop iteration } }