Arduino Line Follower
Arduino Line Follower
#include <tcs3200.h>
/*
Initialize the variables
for colour sensor
*/
int red;
int green;
int blue;
String sensedColour = "none";
int delayTime = 500;
/*
Initialize the variables
for motor driver
*/
int leftMotorForward = 9;
int rightMotorForward = 10;
int RIR = 11;
int LIR = 12;
int redLED = 3;
int greeenLED = 13;
int redMarker = 0;
tcs3200 sensor(4, 5, 6, 7, 8); //S0, S1, S2, S3, output pin
void setup() {
pinMode(redLED, OUTPUT);
pinMode(leftMotorForward, OUTPUT);
pinMode(rightMotorForward, OUTPUT);
pinMode(RIR, INPUT);
pinMode(LIR, INPUT);
pinMode(greeenLED, OUTPUT);
Serial.begin(9600);
void loop() {
if(redMarker < 5){
readColour();
checkColour();
digitalWrite(redLED , LOW);
digitalWrite(greenLED , HIGH);
sensedColour = "none"; //Sets the sensed colour as ‘None’
if(redMarker == 5){
stop();
}
}
}
digitalWrite(leftMotorForward, HIGH);
digitalWrite(rightMotorForward, HIGH);
delay(delayTime);
digitalWrite(leftMotorForward, LOW);
digitalWrite(rightMotorForward, LOW);
digitalWrite(leftMotorForward, LOW);
digitalWrite(rightMotorForward, HIGH);
delay(delayTime);
digitalWrite(leftMotorForward, LOW);
digitalWrite(rightMotorForward, LOW);
digitalWrite(leftMotorForward, HIGH);
digitalWrite(rightMotorForward, LOW);
delay(delayTime);
digitalWrite(leftMotorForward, LOW);
digitalWrite(rightMotorForward, LOW);
void stop() {
digitalWrite(leftMotorForward, LOW);
digitalWrite(rightMotorForward, LOW);
delay(delayTime);
}
if (red > green && red > blue && red > 8) { //If the colour is red......
else if (green > red && green > blue && green > 8) { //If the colour is
green......
else if (blue > green && blue > red && blue > 8) { //If the colour is
blue......