Çö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?
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?
 
Çö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?

Teşekkür ederim sağ olun.
 
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ı