Expected unqualified-id before { token

I want make garbage collector robot but i take mistake

pls i need help

#include<Servo.h>
Servo kova_a;
Servo kova_b;
Servo kaldir;
Servo bos;

const byte echo = 12;
const byte trig = 13;
int sure =0;
int mesafe =0;
int cop =0;

#define Hiz 5
#define SolMotorileri 3
#define SolMotorgeri 2
#define SagMotorileri 7
#define SagMotorgeri 4

void setup() {

Serial.begin(9600);
pinMode(SolMotorileri,OUTPUT);
pinMode(SolMotorgeri,OUTPUT);
pinMode(SagMotorileri,OUTPUT);
pinMode(SagMotorgeri,OUTPUT);
pinMode(Hiz,OUTPUT);
pinMode(echo,INPUT);
pinMode(trig,OUTPUT);

kova_a.attach(6);
kova_b.attach(9);
kaldir.attach(10);
bos.attach(11);

kova_a.write(10); // aç
kova_b.write(100);
kaldir.write(160);
bos.write(75);
delay(1000);

analogWrite(Hiz,140);
}

void loop() {

kova_a.write(10); // aç
kova_b.write(100);
kaldir.write(160);
bos.write(75);

bak();
{
mesafe = mesafe_olc();
Serial.print ("beyaz zemin engel ariyor mesafe="); Serial.println(mesafe);
if (mesafe < 15)
{ engel_var(); }
if (mesafe > 14 )
{ Serial.println("engel yok tarıyor");
for (int a = 0; a < 200; a++)
{

Serial.print("solu tarıyor "); Serial.println(a);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorgeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorgeri, HIGH);

bak();

}

for (int a = 0; a < 400; a++)
{

Serial.print("sagi tarıyor "); Serial.println(a);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorgeri, HIGH);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorgeri, LOW);

bak();

}

for (int a = 0; a < 100; a++)
{

Serial.print("ileri tarıyor "); Serial.println(a);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorgeri, LOW);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorgeri, LOW);

bak();
delay(1);
}}}}

int mesafe_olc()

{
digitalWrite(trig , HIGH);
delayMicroseconds(1000);
digitalWrite(trig , LOW);
sure = pulseIn(echo ,HIGH);
mesafe = (sure / 2) / 28.5 ;
if (mesafe < 0)

 {
  mesafe =60;
 }
  return mesafe;

 }

 void bak()

{ mesafe = mesafe_olc();
  Serial.print("engel sorgulandı");Serial.println(mesafe);

  if(mesafe > 14 ; mesafe < 60);
  {
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorgeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorgeri, LOW);

delay(600);
ileri();
  }
  if (mesafe < 15)
{
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorgeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorgeri, LOW);
delay(600);
engel_var();
}
}

void ileri ()
{
  Serial.print("uzakta engel var "); Serial.println(mesafe);
  
  {Serial.print("engel gordu ileri gidiyor engel ="); Serial.println(mesafe);

digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorgeri, LOW);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorgeri, LOW);

  mesafe = mesafe_olc(); 
  }
}




void engel_var ()
{

digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorgeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorgeri, LOW);
delay(1000);


 
mesafe = mesafe_olc();
Serial.print("mesafe = "); Serial.println(mesafe);

while (mesafe < 9 )

{ Serial.print("engel var geri geliyor mesafe = "); Serial.println(mesafe);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorgeri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorgeri, HIGH);

mesafe = mesafe_olc();
 if (mesafe > 14) { loop(); } 

}
}

{ while (mesafe > 9 ; mesafe <15 );
{
Serial.print("engel var ileri geliyor mesafe = ");Serial.println(mesafe);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorgeri, LOW);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorgeri, LOW);}

  mesafe = mesafe_olc();
 if (mesafe > 14);
 {
  loop();
 }
}


digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorgeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorgeri, LOW);

delay(500);
digitalWrite(trig,HIGH);
delayMicroseconds(1000);
digitalWrite(trig,LOW);
sure = pulseIn(echo ,HIGH);
mesafe = (sure / 2) / 28.5 ;
delay(50);
if (mesafe < 0);

  mesafe = 60;
}
if(mesafe > 14);
{
  loop();
}
delay(500);



for(int a = 160; a > 16; a--);

   kaldir.write(a);//indir digitalWrite(trig,HIGH);
   delay(20);
}
 delay(1550);
 kova_b.write(10); kova_a.write(100);
 delay(1550);
 kaldir.write(160);//kaldır
 delay(1550);
 kova_a.write(20); kova_b.write(60);
 delay(1550);
 cop++;   
}



if (cop == 1) //ÇOP SAYISI BU IFLAHIM S2LDI BURAYA GELENE KADAR
{
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorgeri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorgeri, HIGH);
delay (5);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorgeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorgeri, LOW);
delay(1);}


for (int a = 75; a > 11; a--);

  bos.write(a);
  delay(40);

}

}

for my school project but i didnt find mistake

Hi,
until line 186 your code is "compileable".
From this line start the errors.
Line 187 this "}" is wrong.

Line 189 { while (mesafe > 9 ; mesafe < 15 );

maybe: while (mesafe > 9 or mesafe < 15 )

there are more mistakes

thank you for answer

Hi,
what is this?

if (mesafe > 14);
{
loop();
}

@j3atuhan , please edit your post, select all code and click the </> button to apply so-called code tags and next save your post. It makes it easier to read, easier to copy and prevents the forum software from incorrect interpretation of the code.

Your topic has been moved to a more suitable location on the forum as this has nothing to do with Avrdude, stk500 or Bootloader.

@ruilviana has already pointed out a number of mistakes. To help you find them, use tools -> autoformat in the IDE. This is the first time where it goes wrong

    mesafe = mesafe_olc();
    if (mesafe > 14) {
      loop();
    }

  }
} <=======

{ while (mesafe > 9 ; mesafe < 15 );

This } at the beginning of a line indicates that the function engel_var ends there; anything after that is outside a function and that is not allowed. After fixing that and a new autoformat, you will have

  mesafe = 60;
} <=======
if (mesafe > 14);

Fix that as well. Keep repeating till all indentations are correct after an autoformat.

==

Never ever call a function directly or indirectly from itself unless you know what you're doing. It's called recursion and you will run out-of-memory in no time. In e.g. one of your cases loop() calls engel_var() which calls loop() again. If you want to get out of engel_var(), use return.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.