kodumda hata mı var?

cel

Yeni Üye
Katılım
27 Kasım 2023
Mesajlar
1
merhaba. ultrasonik sensörle sonar cihazı yapmaya çalışıyorum kodumda hata var sanırım bir türlü bulamadım. potansiyometre ile uzaklığı ayarlıyorum 5 led var her led 10 cm yi temsil ediyor sistem ilk çalıştığında ledler belirli aralıklarla yanıp sönüyor potansiyometreye müdahale ettiğimde ne kadar çevirdiysem ona göre ledler yanıyor sırayla sonra butona basıp taramaya başlıyor bişi bulursa buzzer ötüyor. planladığım çalışma sistemi bu ama kodları yazdığımda sadece ledler 1 kez sırayla yanıp sönüyor ve daha donra herhangi bişi olmuyor. kodlarımda bunlar. hatamı ya da eklemem gereken yerleri söylerseniz sevinirim. iyi günler.
C++:
#include <Servo.h>

Servo sg90;

const int button = 4;

const int buzzer = 7;

const int echo = 2;

const int trig = 3;

const int led1 = 8;

const int led2 = 9;

const int led3 = 10;

const int led4 = 11;

const int led5 = 12;

const int pot_pini = A0;

int pot_deger = 0;

int pot_deger_ilk = 0;

int sure = 0;

int mesafe = 0;

int alarm_mesafesi = 0;

int pos = 0;

int mesafe_olc =0;



void setup() {

sg90.attach(5);

sg90.write(90);

pinMode(button , INPUT);

pinMode(buzzer , OUTPUT);

pinMode(led1 , OUTPUT);

pinMode(led2 , OUTPUT);

pinMode(led3 , OUTPUT);

pinMode(led4 , OUTPUT);

pinMode(led5 , OUTPUT);

pinMode(echo , INPUT);

pinMode(trig , OUTPUT);

Serial.begin(9600);



pot_deger_ilk = analogRead(pot_pini);

while (1)



{

pot_deger = analogRead(pot_pini);

for (int i = 8; i < 13; i++ )

{

digitalWrite(i, 1);

delay(50);

digitalWrite(i, 0);

}

pot_deger = analogRead(pot_pini);

if (pot_deger +10 > pot_deger_ilk || pot_deger_ilk < pot_deger -10)

{

break;

}

}

while (1)

{

pot_deger = analogRead(pot_pini);

pot_deger = map(pot_deger , 0 , 1023, 1, 5);

}

if (pot_deger == 1)

{

alarm_mesafesi = 10;

digitalWrite(led1 , 1);

digitalWrite(led2 , 0);

digitalWrite(led3 , 0);

digitalWrite(led4 , 0);

digitalWrite(led5 , 0);

}

else if (pot_deger == 2)

{

alarm_mesafesi = 20;

digitalWrite(led1 , 1);

digitalWrite(led2 , 1);

digitalWrite(led3 , 0);

digitalWrite(led4 , 0);

digitalWrite(led5 , 0);

}

else if (pot_deger == 3)

{

alarm_mesafesi = 30;

digitalWrite(led1 , 1);

digitalWrite(led2 , 1);

digitalWrite(led3 , 1);

digitalWrite(led4 , 0);

digitalWrite(led5 , 0);

}

else if (pot_deger == 4)

{

alarm_mesafesi = 40;

digitalWrite(led1 , 1);

digitalWrite(led2 , 1);

digitalWrite(led3 , 1);

digitalWrite(led4 , 1);

digitalWrite(led5 , 0);

}

else if (pot_deger == 5)

{

alarm_mesafesi = 50;

digitalWrite(led1 , 1);

digitalWrite(led2 , 1);

digitalWrite(led3 , 1);

digitalWrite(led4 , 1);

digitalWrite(led5 , 1);

}



if (digitalRead(button) == 1)

{

}

}












void loop() {

for (pos = 0; pos <= 180; pos++)

{

sg90.write(pos);

delay(15);



}



if (mesafe <= alarm_mesafesi)

{

digitalWrite(led1 , 1);

digitalWrite(led2 , 1);

digitalWrite(led3 , 1);

digitalWrite(led4 , 1);

digitalWrite(led5 , 1);

digitalWrite(buzzer , 1);

}



if(digitalRead(button)==1)

{

digitalWrite(led1 , 0);

digitalWrite(led2 , 0);

digitalWrite(led3 , 0);

digitalWrite(led4 , 0);

digitalWrite(led5 , 0);

digitalWrite(buzzer , 0);

}





for (pos = 180; pos <= 0; pos--)

{

sg90.write(pos);

delay(15);



}

if (mesafe <= alarm_mesafesi)

{

digitalWrite(led1 , 1);

digitalWrite(led2 , 1);

digitalWrite(led3 , 1);

digitalWrite(led4 , 1);

digitalWrite(led5 , 1);

digitalWrite(buzzer , 1);

}

if(digitalRead(button)==1)

{

digitalWrite(led1 , 0);

digitalWrite(led2 , 0);

digitalWrite(led3 , 0);

digitalWrite(led4 , 0);

digitalWrite(led5 , 0);

digitalWrite(buzzer , 0);

}

int mesafe_olc();

{

digitalWrite(trig , HIGH);

delay(1);

digitalWrite(trig , LOW);

sure = pulseIn(echo , HIGH);

mesafe = (sure / 2) / 28.5;

return mesafe;

}

}
 
Last edited by a moderator:

Çevrimiçi personel

Forum istatistikleri

Konular
5,840
Mesajlar
99,586
Üyeler
2,480
Son üye
mozcelikors

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top