APPENDIX
APPENDIX
Code
void reading() {
sensor = 0; rmotor = rbase - PID;
sum = 0; lmotor = lbase + PID;
for (byte i = 0; i < 5; i++) { motor(lmotor, rmotor);
s[i] = analogRead(i); }
(s[i] < threshold) ? s[i] = 1 : s[i] = 0; }
//converts A0-A4 into digital
}
sensor += s[i] * base[i];
sum += s[i];
}
//Motor turns orientation
}
void motor(int a, int b) {
if (a > 0) {
digitalWrite(lmf, 1);
void PID_LINE_FOLLOW() {
digitalWrite(lmb, 0);
while(1) {
}
PID_reading();
else {
if(!s[0]&&!s[1]&&!s[2]&&s[3]&&s[4]){
a = -(a);
motor(-100,100);
digitalWrite(lmf, 0);
while(!s[1]&&!s[2]&&!s[3])
PID_reading(); digitalWrite(lmb, 1);
}
if (b > 0) {
digitalWrite(rmf, 1);
digitalWrite(rmb, 0);
}
else {
b = -(b);
digitalWrite(rmf, 0);
digitalWrite(rmb, 1);
}
analogWrite(lms, a);
analogWrite(rms, b);
}