Elimizde bir adet hcsr-04 mesafe sensörü var. Bu sensör 4 metre alana kadar ölçme yapabiliyor. Biz bu sensör ile mesafeye duyarlı bir park sensörü yapacağız.
Park Sensörü İçin Malzemeler
- Arduino Uno
- HcSr-04 mesafe sensörü
- Breadboard
- Direnç 220 ohm ve led
- Buzzer (zil)
Arduino Park Sensörü Devre Şeması ve Kodlar
const int trig = 2; // değişkenler tanımlıyoruz
const int echo = 3;
int mesafe;
int zaman;
const int buzzer = 4;
const int kirmizi = 5;
const int sari = 6;
const int yesil = 7;
const int beyaz = 8;
void setup()
{
pinMode(trig,OUTPUT); // trig pini çıkış olsun.
pinMode(echo,INPUT); // echo pini giriş olsun.
pinMode(buzzer,OUTPUT); // buzzer pini çıkış olsun.
pinMode(kirmizi,OUTPUT); // LED bağlı pinler çıkış olsun.
pinMode(sari,OUTPUT);
pinMode(yesil,OUTPUT);
pinMode(beyaz,OUTPUT);
Serial.begin(9600); // seri haberleşmeyi başlatıyoruz
}
void loop()
{
digitalWrite(trig,HIGH);
delay(1);
digitalWrite(trig,LOW); // 1 msn aralıklarla trig pinini HIGH (YÜKSEK) yapıyoruz.
zaman=pulseIn(echo,HIGH);
mesafe=(zaman/2)/28.9; // sıcaklık 25 derece için katsayı=28,9 Eğer sıcaklık değişirse bu değerde değişir arkadaşlar
Serial.println("UZAKLIK =");
Serial.print(mesafe);
Serial.println("cm"); Serial.println("--------------------------");
if ((mesafe >= 0) && (mesafe <= 10))
{
//mesafe 0 ile 10cm arasındaysa çalışacak kodlar
digitalWrite(kirmizi,HIGH);
digitalWrite(buzzer,HIGH);
delay(50);
digitalWrite(kirmizi,LOW);
digitalWrite(buzzer,LOW);
delay(50);
}
else if ((mesafe >= 10) && (mesafe <= 30))
{
//mesafe 10 cm-30 cm arasındaysa çalışacak kodlar
digitalWrite(sari,HIGH);
digitalWrite(buzzer,HIGH);
delay(30);
digitalWrite(sari,LOW);
digitalWrite(buzzer,LOW);
delay(250);
}
else if ((mesafe >= 30) && (mesafe <= 50))
{
//mesafe 30cm-50cm arasındaysa çalışacak kodlar
digitalWrite(yesil,HIGH);
digitalWrite(buzzer,HIGH);
delay(50);
digitalWrite(yesil,LOW);
digitalWrite(buzzer,LOW);
delay(500);
}
else if(mesafe >= 50)
{
//mesafe 50 cm'den büyükse çalışacak kodlar
digitalWrite(beyaz,HIGH);
delay(50);
digitalWrite(beyaz,LOW);
delay(1000);
}
else if(mesafe <= 0)
{
//mesafe 0'dan küçükse çalışacak kodlar
digitalWrite(buzzer,LOW);
digitalWrite(kirmizi,LOW);
digitalWrite(sari,LOW);
digitalWrite(yesil,LOW);
digitalWrite(beyaz,LOW);
}
}
0 yorum:
Yorum Gönderme