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

HD4450

Kilopat
Katılım
2 Nisan 2019
Mesajlar
2.204
Çözümler
5
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.
 

Geri
Yukarı