//This c++ code is generated by PictoBlox
//Gloabl Variables are declared here
float average;
float threshold;
float val_left;
float val_right;
float val1;
float val2;
float valueX;
float valueY;
//User Defined Functions
void forward() {
digitalWrite(15, true);
digitalWrite(2, false);
digitalWrite(18, true);
digitalWrite(19, false);
}
void backward() {
digitalWrite(15, false);
digitalWrite(2, true);
digitalWrite(18, false);
digitalWrite(19, true);
}
void stop() {
digitalWrite(15, false);
digitalWrite(2, false);
digitalWrite(18, false);
digitalWrite(19, false);
}
void setup() {
//put your setup code here, to run once:
pinMode(39, INPUT);
pinMode(36, INPUT);
pinMode(15, OUTPUT);
pinMode(2, OUTPUT);
pinMode(18, OUTPUT);
pinMode(19, OUTPUT);
pinMode(34, INPUT);
pinMode(35, INPUT);
average = 150;
threshold = 4;
val_left = 0;
val_right = 0;
}
void loop() {
//put your main code here, to run repeatedly:
for(int i = 0; i < average; i++) {
val1 = analogRead(39);
val2 = analogRead(36);
val_left = (val_left + val1);
val_right = (val_right + val2);
}
val_left = (val_left / average);
val_right = (val_right / average);
if(((val_left > threshold) && (val_right < threshold))) {
forward();
delay(0.2 * 1000);
}
else {
if(((val_right > threshold) && (val_left < threshold))) {
backward();
delay(0.2 * 1000);
}
else {
stop();
}
}
valueX = analogRead(34);
valueY = analogRead(35);
if((valueY < 50)) {
forward();
}
else {
if((valueY > 3000)) {
backward();
}
else {
stop();
}
}
}