Çö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 ? Doğru kod budur, bir de bunu dener misin?

54. satırdaki noktayı kaldırın.
 
Son düzenleme:
Bundan 10 kez yazıldı daha önce. Okumuyorsanız tabii ki silinir.
Nasıl 10 kez yazılmış? Sadece 1 kişi en alta 2. Bir parantez eklenmesini söylemiş. Diğerleri nereye eklenmesi gerektiğini söylememiş ya da 26. Satır gibi yanlış bir yere parantez eklemişler.
 
Nasıl 10 kez yazılmış. Sadece 1 kişi en alta 2. Bir parantez eklenmesini söylemiş. Diğerleri ya sadece ekle demiş yada 26. Satır gibi yanlış bir yere parantez eklemişler.
Hocam yanlış hatırlamıyorsam senden önce defalarca kez yazıldı ve hatta ben ilkinde sadece parantez eklenmesini söyleyip ikincisinde kodu düzeltip verdim. Bence tartışma ama sen bilirsin.
 
Sondaki else'ten sonra gelen noktayı kaldırır mısınız? Tabii süslü parantezi unutmayın.

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 if. { digitalWrite(mled , HIGH); delay(1000); digitalWrite(mled , LOW); }
Kod bu yaptım ama olmadı gene.
 
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);
}
}

Void loop'un parantezi en sonda olmalı. Çünkü void loopun hepsini içine alması gerekiyor.


Onun dışında koddaki diğer hataları bilemiyorum.
 

Çözüm bu doğru kod teşekkür ederim ve yardımcı olan herkese çok teşekkür ederim.
 

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

Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…