Çözüldü Arduino "Exit status 1 Expected '}' at end of input." hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Katılım
2 Nisan 2019
Mesajlar
2.262
Çözümler
6
Kod:
const int trigger_pin = 13;
const int echo_pin = 12;
const int buzzer = 2;
const int mled = 3;
const int yled = 4;
const int sled = 5;
const int kled = 6;

int sure ;
int mesafe ;

void setup() {
 pinMode(kled , OUTPUT);
 pinMode(sled , OUTPUT);
 pinMode(yled , OUTPUT);
 pinMode(mled , OUTPUT);
 pinMode(buzzer , OUTPUT);
 pinMode(trigger_pin , OUTPUT);
 pinMode(echo_pin , INPUT);
 Serial.begin(9600);
}

void loop() {
digitalWrite(trigger_pin , HIGH);
delayMicroseconds(1000);
digitalWrite(trigger_pin , LOW);
sure = pulseIn(echo_pin , HIGH);
mesafe = (sure/2) / 28.5;

if (mesafe <= 10 )
{
 digitalWrite(kled , HIGH);
 digitalWrite(buzzer , HIGH);
 delay(250);
 digitalWrite(kled , LOW);
 digitalWrite(kled , LOW);
}
else if ( mesafe <= 25)
{
digitalWrite(sled , HIGH);
digitalWrite(buzzer , HIGH);
delay(500);
digitalWrite(sled , LOW);
digitalWrite(buzzer , LOW);
}
else if ( mesafe <= 50)
{
digitalWrite(yled , HIGH);
digitalWrite(buzzer , HIGH);
delay(750);
digitalWrite(yled , LOW);
digitalWrite(buzzer , LOW);
}
else.
{
 digitalWrite(mled , HIGH);
 delay(1000);
 digitalWrite(mled , LOW);
}
Kod bu yakınlık sensörü yapmaya çalışıyorum ana kodu kontrol et deyince bu hatayı alıyorum.
Exit status 1
Expected '}' at end of input.
 
Son düzenleyen: Moderatör:
Çözüm
C++:
const int trigger_pin = 13;
const int echo_pin = 12;
const int buzzer = 2;
const int mled = 3;
const int yled = 4;
const int sled = 5;
const int kled = 6;
int sure ;
int mesafe ;
void setup() {
pinMode(kled , OUTPUT);
pinMode(sled , OUTPUT);
pinMode(yled , OUTPUT);
pinMode(mled , OUTPUT);
pinMode(buzzer , OUTPUT);
pinMode(trigger_pin , OUTPUT);
pinMode(echo_pin , INPUT);
Serial.begin(9600);
}

void loop() {
digitalWrite(trigger_pin , HIGH);
delayMicroseconds(1000);
digitalWrite(trigger_pin , LOW);
sure = pulseIn(echo_pin , HIGH);
mesafe = (sure/2) / 28.5;

else if (mesafe <= 10 )
{
digitalWrite(kled , HIGH);
digitalWrite(buzzer , HIGH);
delay(250);
digitalWrite(kled , LOW);
digitalWrite(kled , LOW);
}
else if ( mesafe <= 25)
{
digitalWrite(sled , HIGH);
digitalWrite(buzzer , HIGH);
delay(500);
digitalWrite(sled , LOW);
digitalWrite(buzzer , LOW);
}
else if ( mesafe <= 50)
{
digitalWrite(yled , HIGH);
digitalWrite(buzzer , HIGH);
delay(750);
digitalWrite(yled , LOW);
digitalWrite(buzzer , LOW);
}
else
{
digitalWrite(mled , HIGH);
delay(1000);
digitalWrite(mled , LOW);
}
}

Arkadaşlar anlamıyorsunuz sanırım, sorun sadece parantezde değil. Loop'u ilk başta bitiripelse'leri sonrasına koymuş. Ayrıca sondaki else'i else if olarak değiştir diyen arkadaş, şartı neden belirtmedin :D? Doğru kod budur, bir de bunu dener misin?
Sanırım süslü parantezi kapatmayı unutmuşsunuz.
26. satır.


Kod:
const int trigger_pin = 13;
const int echo_pin = 12;
const int buzzer = 2;
const int mled = 3;
const int yled = 4;
const int sled = 5;
const int kled = 6;
int sure ;
int mesafe ;
void setup() {
pinMode(kled , OUTPUT);
pinMode(sled , OUTPUT);
pinMode(yled , OUTPUT);
pinMode(mled , OUTPUT);
pinMode(buzzer , OUTPUT);
pinMode(trigger_pin , OUTPUT);
pinMode(echo_pin , INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigger_pin , HIGH);
delayMicroseconds(1000);
digitalWrite(trigger_pin , LOW);
sure = pulseIn(echo_pin , HIGH);
mesafe = (sure/2) / 28.5;
}
if (mesafe <= 10 )
{
digitalWrite(kled , HIGH);
digitalWrite(buzzer , HIGH);
delay(250);
digitalWrite(kled , LOW);
digitalWrite(kled , LOW);
}
else if ( mesafe <= 25)
{
digitalWrite(sled , HIGH);
digitalWrite(buzzer , HIGH);
delay(500);
digitalWrite(sled , LOW);
digitalWrite(buzzer , LOW);
}
else if ( mesafe <= 50)
{
digitalWrite(yled , HIGH);
digitalWrite(buzzer , HIGH);
delay(750);
digitalWrite(yled , LOW);
digitalWrite(buzzer , LOW);
}
else.
{
digitalWrite(mled , HIGH);
delay(1000);
digitalWrite(mled , LOW);
}
 
Son düzenleme:
'}' eklemen gerekiyor.

Kod:
const int trigger_pin = 13;

const int echo_pin = 12;

const int buzzer = 2;

const int mled = 3;

const int yled = 4;

const int sled = 5;

const int kled = 6;

int sure ;

int mesafe ;

void setup() {

pinMode(kled , OUTPUT);

pinMode(sled , OUTPUT);

pinMode(yled , OUTPUT);

pinMode(mled , OUTPUT);

pinMode(buzzer , OUTPUT);

pinMode(trigger_pin , OUTPUT);

pinMode(echo_pin , INPUT);

Serial.begin(9600);

}

void loop() {

digitalWrite(trigger_pin , HIGH);

delayMicroseconds(1000);

digitalWrite(trigger_pin , LOW);

sure = pulseIn(echo_pin , HIGH);

mesafe = (sure/2) / 28.5;

}

if (mesafe <= 10 )

{

digitalWrite(kled , HIGH);

digitalWrite(buzzer , HIGH);

delay(250);

digitalWrite(kled , LOW);

digitalWrite(kled , LOW);

}

else if ( mesafe <= 25)

{

digitalWrite(sled , HIGH);

digitalWrite(buzzer , HIGH);

delay(500);

digitalWrite(sled , LOW);

digitalWrite(buzzer , LOW);

}

else if ( mesafe <= 50)

{

digitalWrite(yled , HIGH);

digitalWrite(buzzer , HIGH);

delay(750);

digitalWrite(yled , LOW);

digitalWrite(buzzer , LOW);

}

else.

{

digitalWrite(mled , HIGH);

delay(1000);

digitalWrite(mled , LOW);

}

Bu şekilde dener misin?
 
Son düzenleyen: Moderatör:
Const int trigger_pin = 13;
Const int echo_pin = 12;
Const int buzzer = 2;
Const int mled = 3;
Const int yled = 4;
Const int sled = 5;
Const int Kled = 6;
İnt sure;
İnt mesafe;
Void setup() {
Pinmode(Kled, output);
Pinmode(sled, output);
Pinmode(yled, output);
Pinmode(mled, output);
Pinmode(buzzer, output);
Pinmode(trigger_pin, output);
Pinmode(echo_pin, ınput);
Serial. Begin(9600);
}
Void loop() {
Digitalwrite(trigger_pin, hıgh);
Delaymicroseconds(1000);
Digitalwrite(trigger_pin, Low);
Sure = pulseın(echo_pin, hıgh);
Mesafe = (sure/2) / 28.5;
}
İf (mesafe <= 10 )
{
Digitalwrite(Kled, hıgh);
Digitalwrite(buzzer, hıgh);
Delay(250);
Digitalwrite(Kled, Low);
Digitalwrite(Kled, Low);
}
Else if ( mesafe <= 25)
{
Digitalwrite(sled, hıgh);
Digitalwrite(buzzer, hıgh);
Delay(500);
Digitalwrite(sled, Low);
Digitalwrite(buzzer, Low);
}
Else if ( mesafe <= 50)
{
Digitalwrite(yled, hıgh);
Digitalwrite(buzzer, hıgh);
Delay(750);
Digitalwrite(yled, Low);
Digitalwrite(buzzer, Low);
}
Else.
{
Digitalwrite(mled, hıgh);
Delay(1000);
Digitalwrite(mled, Low);
}

Bu şekilde dener misin?

Busafer de Arduino:1.8.16 (Windows Store 1.8.51.0) (Windows 10), Kart:"Arduino Uno" sketch_nov21a:27:1: error: expected unqualified-id before 'else'. else if (mesafe <= 10 ) ^~~~ sketch_nov21a:35:1: error: expected unqualified-id before 'else'. else if ( mesafe <= 25) ^~~~ sketch_nov21a:43:1: error: expected unqualified-id before 'else'. else if ( mesafe <= 50) ^~~~ sketch_nov21a:51:1: error: expected unqualified-id before 'else'. else if. ^~~~ exit status 1 expected unqualified-id before 'else'. This report would have more information with. "Show verbose output during compilation" option enabled in File -> Preferences.
Hatasını veriyor.
Sanırım süslü parantezi kapatmayı unutmuşsunuz.
26. satır.

Kod:
const int trigger_pin = 13;
const int echo_pin = 12;
const int buzzer = 2;
const int mled = 3;
const int yled = 4;
const int sled = 5;
const int kled = 6;
int sure ;
int mesafe ;
void setup() {
pinMode(kled , OUTPUT);
pinMode(sled , OUTPUT);
pinMode(yled , OUTPUT);
pinMode(mled , OUTPUT);
pinMode(buzzer , OUTPUT);
pinMode(trigger_pin , OUTPUT);
pinMode(echo_pin , INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigger_pin , HIGH);
delayMicroseconds(1000);
digitalWrite(trigger_pin , LOW);
sure = pulseIn(echo_pin , HIGH);
mesafe = (sure/2) / 28.5;
}
if (mesafe <= 10 )
{
digitalWrite(kled , HIGH);
digitalWrite(buzzer , HIGH);
delay(250);
digitalWrite(kled , LOW);
digitalWrite(kled , LOW);
}
else if ( mesafe <= 25)
{
digitalWrite(sled , HIGH);
digitalWrite(buzzer , HIGH);
delay(500);
digitalWrite(sled , LOW);
digitalWrite(buzzer , LOW);
}
else if ( mesafe <= 50)
{
digitalWrite(yled , HIGH);
digitalWrite(buzzer , HIGH);
delay(750);
digitalWrite(yled , LOW);
digitalWrite(buzzer , LOW);
}
else.
{
digitalWrite(mled , HIGH);
delay(1000);
digitalWrite(mled , LOW);
}

Onu düzeltebildim ama şimdi de farklı hata veriyor.
 
Son düzenleyen: Moderatör:
Busafer de Arduino:1.8.16 (Windows Store 1.8.51.0) (Windows 10), Kart:"Arduino Uno" sketch_nov21a:27:1: error: expected unqualified-id before 'else'. else if (mesafe <= 10 ) ^~~~ sketch_nov21a:35:1: error: expected unqualified-id before 'else'. else if ( mesafe <= 25) ^~~~ sketch_nov21a:43:1: error: expected unqualified-id before 'else'. else if ( mesafe <= 50) ^~~~ sketch_nov21a:51:1: error: expected unqualified-id before 'else'. else if. ^~~~ exit status 1 expected unqualified-id before 'else'. This report would have more information with. "Show verbose output during compilation" option enabled in File -> Preferences.
Hatasını veriyor.


Onu düzeltebildim ama şimdi de farklı hata veriyor.
O sorun çözülmüş demek ki. Çözüldü olarak işaretleyip farklı bir konu açman daha iyi olur.
 
Busafer de Arduino:1.8.16 (Windows Store 1.8.51.0) (Windows 10), Kart:"Arduino Uno" sketch_nov21a:27:1: error: expected unqualified-id before 'else'. else if (mesafe <= 10 ) ^~~~ sketch_nov21a:35:1: error: expected unqualified-id before 'else'. else if ( mesafe <= 25) ^~~~ sketch_nov21a:43:1: error: expected unqualified-id before 'else'. else if ( mesafe <= 50) ^~~~ sketch_nov21a:51:1: error: expected unqualified-id before 'else'. else if. ^~~~ exit status 1 expected unqualified-id before 'else'. This report would have more information with. "Show verbose output during compilation" option enabled in File -> Preferences.
Hatasını veriyor.


Onu düzeltebildim ama şimdi de farklı hata veriyor.
Arduino hakkında pek bilgim yok ama mesafe değişkeni fonskiyonların içerisinde kaldığı için çalışmıyor gibi duruyor. Return etmeniz işe yarayabilir. @SideWinder de bakabilir müsaitse.

Ekleme: Sondaki else'den sonra da "." olmayacak.
 
Son düzenleme:
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı