Yazdığım kodda hatalar mevcut

Bu konuyu okuyanlar

Tengri552

Öğrenci
Katılım
28 Mar 2020
Mesajlar
1
Reaksiyon puanı
0
Puanları
1
Yaş
16
ultrasnik sensör e yaklaşıldıkça sıra ile yanan lambalar yapacaktım kodlar bunlar yalnız hata veiyor hatamı gören yazabilir mi?




int trigPin = 6;
int echoPin = 7;
#define led1 8
#define led2 9
#define led3 10
#define led4 11
#define led5 12
#define led6 13

long sure;
long uzaklik;


void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
Serial.begin(9600);
}

void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
sure = pulseIn(echoPin, HIGH);
uzaklik = sure / 29.1 / 2;
if (uzaklik <= 100 uzaklik > 80)
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
if (uzaklik <= 80 uzaklik > 60)
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
if (uzaklik <= 60 uzaklik > 40)
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
if (uzaklik <= 20 uzaklik > 10)
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, LOW);
if (uzaklik <= 40 uzaklik > 20)
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);

if (uzaklik <= 10)
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
}
 

burak tekin

Öğrenci
Katılım
11 Ocak 2009
Mesajlar
3
Reaksiyon puanı
0
Puanları
1
Yaş
28
Merhaba,
Aldığın hata tam olarak nedir?

uzaklik = sure / 29.1 / 2; burada parantez kullanman daha sağlıklı olacaktır.
uzaklik = (sure / 29.1) / 2; gibi

bir de if koşulundan sonra { } kullanmazsan if koşulu sağlandığında sadece altındaki 1 adet satırı çalıştırır. Örnek olarak şu şekilde kullanmalısın:
if (uzaklik <= 10) { digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led3, HIGH); digitalWrite(led4, HIGH); digitalWrite(led5, HIGH); digitalWrite(led6, HIGH); }
 
Üst