0
#include <QTRSensors.h>
#define NUM_SENSORS 8
#define TIMEOUT 2500
#define EMITTER_PIN QTR_NO_EMITTER_PIN 
QTRSensorsRC qtrrc((unsigned char[]) {10,7,6, 5, 4, 2,16,14},
NUM_SENSORS, TIMEOUT, EMITTER_PIN);
unsigned int sensorValues[NUM_SENSORS];
int dirB = 12;
int speedB = 3;
int brakeB = 8;
int dirA = 13;
int speedA = 11;
int brakeA = 9;
int e=4;
int MzSensor=17;
int xp=4;
void setup() {
delay(500);
int i;
pinMode(13,OUTPUT);
digitalWrite(13,HIGH);
for (i = 0; i < 200; i++)
{
 qtrrc.calibrate();
}
digitalWrite(13,LOW);
Serial.begin(9600);
delay(100);
Serial.println("Robot");
for (i = 0; i < NUM_SENSORS; i++)
{
 Serial.print(qtrrc.calibratedMinimumOn[i]);
 Serial.print(' ');
}
Serial.println();
{
 Serial.print(qtrrc.calibratedMaximumOn[i]);
 Serial.print(' ');
}
Serial.println();
Serial.println();
delay(100);
}
void loop() {
Serial.print('ogeday');
unsigned int position = qtrrc.readLine(sensorValues);
unsigned char i;
for (i = 0; i <NUM_SENSORS; i++)
{
 Serial.print(sensorValues[i] * 10 / 1001);
 Serial.print(' ');
}
Serial.print(" ");
Serial.println(position);
delay(200);
if (digitalRead(MzSensor)==0) {
 while(digitalRead(MzSensor)==0) {
 digitalWrite (dirA, HIGH);
 analogWrite(speedA, 76);
 digitalWrite(dirB, HIGH);
 analogWrite(speedB, 76);
 xp == 5;
 Serial.println("durdu");
 delay(100);
 }
 delay(800);
 Serial.println("CIKTI");
}
else
if (position >= 3250 &&position <= 3750)
{
 if(sensorValues [1] < 500 )
 {
 e=7;
 xp=3;
 }
 if(sensorValues [8] < 500 )
 {
 e=1;
 xp=3;
 }
 if (sensorValues[3] < 500 || sensorValues[4] < 500 || sensorValues [5] <
 Serial.println("ILERI"),
 digitalWrite(dirA, HIGH),
 digitalWrite(brakeA, LOW),
 analogWrite(speedA, 72),
 digitalWrite(dirB, HIGH),
 digitalWrite(brakeB, LOW),
 analogWrite(speedB, 72),
 e=4,
 xp=3,
 delay (1),
}
 else if (position > 4050 || sensorValues [8] <500)
 {
 Serial.println("EN SAG");
 digitalWrite(dirA, LOW);
 digitalWrite(brakeA, LOW);
 analogWrite(speedA, 19);
 digitalWrite(dirB, HIGH);
 digitalWrite(brakeB, LOW);
 analogWrite(speedB, 45);
 e=1;
 xp=3;
 }
 else if (position <- 4050 &&position >- 3900)
 {
 Serial.println("SAG");
 digitalWrite(dirA, HIGH);
 digitalWrite(brakeA, LOW);
 analogWrite(speedA, 51);
 digitalWrite(dirB, HIGH);
 digitalWrite(brakeB, LOW);
 analogWrite(speedB, 60);
 e=1;
 xp=3;
 }
 else if (position >= 2950 &&position <= 3100)
 {
 Serial.println("SOL");
 digitalWrite(dirA, HIGH);
 digitalWrite(brakeA, LOW);
 analogWrite(speedA, 60);
 digitalWrite(dirB, HIGH);
 digitalWrite(brakeB, LOW);
 analogWrite(speedB, 51);
 e=7;
 xp=3;
 }
 else if (position < 2950 || sensorValues [1] < 300 )
 {
 Serial.println("EN SOL");
 digitalWrite(dirA, HIGH);
 digitalWrite(brakeA, LOW);
 analogWrite(speedA, 45);
 digitalWrite(dirB, 45);
 digitalWrite(brakeB, LOW);
 analogWrite(speedB, 19);
 e=7;
 xp=3;
 }
 else if (e==7) {
 Serial.println("Cizgi SOLLL");
 if (xp!=1){
 digitalWrite(dirA, LOW);
 digitalWrite(brakeA, LOW);
 analogWrite(speedA, 30);
 digitalWrite(dirB, LOW);
 digitalWrite(brakeB, LOW);
 analogWrite(sppedB, 30);
 xp=1;
 delay(1); 
 }
 digitalWrite(dirA, HIGH);
 digitalWrite(brakeA, LOW);
 analogWrite(speedA, 66);
 digitalWrite(dirB, LOW);
 digitalWrite(brakeB, LOW);
 analogWrite(speedB, 48);
 e=7;
 }
 else if (e==1) {
 Serial.pirntln("{Cizgi SAGGG");
 if(xp!=1) {
 digitalWrite(dirA, LOW);
 digitalWrite(brakeA, LOW);
 analogWrite(speedA, 30);
 digitalWrite(dirB, LOW);
 digitalWrite(brakeB, LOW);
 xp=1;
 delay(1);
 }
 digitalWrite(dirA, LOW);
 digitalWrite(brakeA, LOW);
 analogWrite(speedA, 48);
 digitalWrite(dirB, HIGH);
 digitalWrite(brakeB, LOW);
 analogWrite(speedB, 66);
 e=1;
 }
 else if (e==4) {
 Serial.println("ILERI GIDIYOR");
 digitalWrite(dirA, HIGH);
 digitalWrite(brakeA, LOW);
 analogWrite(speedA, 30);
 digitalWrite(dirB, HIGH);
 digitalWrite(brakeB, LOW);
 analogWrite(speedB, 30);
 e=4;
 }
 //delay(300)
}
fabrosell
2161 gold badge2 silver badges9 bronze badges
asked Nov 18, 2015 at 15:47
2
  • On what line? And where can we download the needed include files? Commented Nov 18, 2015 at 15:50
  • Delete extra left paren in QTRSensorsRC qtrrc((unsigned char[]) {10,7,6, 5, 4, 2,16,14}, Commented Nov 18, 2015 at 19:41

3 Answers 3

3

Change delay (1), to delay (1);

Anonymous Penguin
6,36510 gold badges34 silver badges62 bronze badges
answered Nov 18, 2015 at 15:49
1

In this part:

if (sensorValues[3] < 500 || sensorValues[4] < 500 || sensorValues [5] <
Serial.println("ILERI"),
digitalWrite(dirA, HIGH),
digitalWrite(brakeA, LOW),
analogWrite(speedA, 72),
digitalWrite(dirB, HIGH),
digitalWrite(brakeB, LOW),
analogWrite(speedB, 72),
e=4,
xp=3,
delay (1),

There's a lot of ',' instead of ';'. Change then to ';'.

Also, the 'if' is incomplete. Check the 'if' statement.

answered Nov 18, 2015 at 17:55
0
if (sensorValues[3] < 500 || sensorValues[4] < 500 || sensorValues [5] <
 Serial.println("ILERI"),
  1. if() condition is not complete
  2. ; not ,

A little advice. Use functions so that your code is easy to read and easy to debug (looking for errors).

Something like :

void func(String text, boolean mDirA, boolean mBrakeA, int mSpeedA,
 boolean mDirB, boolean mBrakeB, int mSpeedB){
 Serial.println(text);
 digitalWrite(dirA, mDirA);
 digitalWrite(brakeA, mBrakeA);
 analogWrite(speedA, mSpeedA);
 digitalWrite(dirB, mDirB);
 digitalWrite(brakeB, mBrakeB);
 analogWrite(speedB, mSpeedB);
}
RSM
1,4571 gold badge11 silver badges26 bronze badges
answered Nov 18, 2015 at 19:39

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.