ARDUINO İLE PARK SENSÖRÜ YAPIMI
Bugün birlikte ARDUINO ile hobi amaçlı bir park sensörü yapacağız
Proje genel olarak duvara ne kadar çok yaklaşırsak o sıklıkta buzzer ötecek ve ledler yanacaktır
Hemen başlayalım…
Gerekli Malzemeler
Birkaç tane Jumper Kablo
1 Adet ARDUINO UNO R3
1 Adet Breadboard
1 Adet ARDUINO programlama kablosu
1 Adet HC-SR04
1 Adet Buzzer
3 Adet LED ( 1 Adet kırmızı, 1 Adet yeşil, 1 Adet sarı)
Yapım Aşaması
NOT: Buzzer ve ledlerde direnç kullanmadım çünkü dirençler verimi düşürüyor ama unutmayın ki direnç kullanmazsanız ledlerinizin ve buzzerinizin ömrü kısa olur !
Gerekli bağlantılar resimde görülmekte fakat karışıklığa yol açmamak için buraya da yazalım;
1-Güç kaynağımızı alt ve üst bölmedeki + ve – hatlara bağlıyoruz(5v)
2-HC-SR04 sensörümüzün VCC pinini breadboardtaki + hattına GND pinini ise – hattına bağlıyoruz
3-HC-SR04 sensörümüzün Trigger pinini 5(size kalmış isterseniz farklı pin kullanın fakat kodda değişiklik yapmanız gerekecek) numaralı pine Echo pinini ise 6 numaralı pine bağlıyoruz
4-Buzzerimizin Gnd yani – hattını breadboarddaki – hattına + Hattını ise arduinodaki 7. pine bağlıyoruz
5-Ledlerimizin – bacaklarını breadboardda – hattına bağlıyoruz kırmızı ledin + bacağını arduinoda 8. pine yeşil ledin + bacağını 9. pine bağlıyoruz son olarak Sarı ledin + bacağını 10. pine bağlıyoruz
ARDUINO IDE KODLARIMIZ
int trigPin = 5; // trigger pinimizi 5 olarak ayarladık int echoPin = 6; // echo pinimizi 6 olarak ayarladık int buzzer = 7; // buzzer pinimizi 7 olarak ayarladık int ledkirmizi = 8; // kırmızı ledimizi 8 olarak ayarladık int ledyesil = 9; // yeşil ledimizi 9 olarak ayarladık int ledsari = 10; // sarı ledimizi 10 olarak ayarladık long sure; // hc-sr04 olcum yapabilmesi için sure değişkenini atadık long uzaklik; // hc-sr04 olcum yapabilmesi için uzaklik değişkenini atadık void setup(){ pinMode(buzzer, OUTPUT); // buzzer pininin çıkış olduğunu belirttik pinMode(ledkirmizi, OUTPUT); //kırmızı led pininin çıkış olduğunu belirttik pinMode(ledsari, OUTPUT);//sarı led pininin çıkış olduğunu belirttik pinMode(ledyesil, OUTPUT); //yeşil led pininin çıkış olduğunu belirttik pinMode(trigPin, OUTPUT); //trigger pininin çıkış olduğunu belirttik pinMode(echoPin,INPUT); //echo pininin giriş olduğunu belirttik Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(5); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); //ÖLÇÜM KISMIMIZ sure = pulseIn(echoPin, HIGH); uzaklik= sure /29.1/2; Serial.print("Uzaklik "); Serial.println(uzaklik); if ((uzaklik >= 0) && (uzaklik <= 15)){ digitalWrite(ledkirmizi,HIGH); digitalWrite(ledyesil,HIGH); digitalWrite(ledsari,HIGH); digitalWrite(buzzer,HIGH); //UZAKLIK 0 İLE 15 ARASINDA İSE delay(50); digitalWrite(ledkirmizi,LOW); digitalWrite(ledyesil,LOW); digitalWrite(ledsari,LOW); digitalWrite(buzzer,LOW); delay(50); } else if ((uzaklik >= 15) && (uzaklik <= 30)){ digitalWrite(ledsari,HIGH); digitalWrite(ledkirmizi,HIGH); digitalWrite(buzzer,HIGH); // UZAKLIK 15 30 ARASINDA İSE delay(150); digitalWrite(ledsari,LOW); digitalWrite(buzzer,LOW); digitalWrite(ledkirmizi,LOW); delay(150); } else if ((uzaklik > 30) && (uzaklik <= 50)){ digitalWrite(ledyesil,HIGH); digitalWrite(buzzer,HIGH); delay(300); // UZAKLIK 30 50 ARASINDA İSE digitalWrite(ledyesil,LOW); digitalWrite(buzzer,LOW); delay(300); } else if(uzaklik > 50){ digitalWrite(ledkirmizi,HIGH); digitalWrite(ledyesil,HIGH); // UZAKLIK 50 DEN BÜYÜK İSE digitalWrite(ledsari,HIGH); digitalWrite(buzzer,LOW); delay(500); digitalWrite(ledkirmizi,LOW); digitalWrite(ledyesil,LOW); digitalWrite(ledsari,LOW); digitalWrite(buzzer,LOW); delay(500); } }
1 yorum:
Click here for yorumMerhaba,
Bu projenizde sadece duvara yaklaşıldığı anda alarmı çaldırmak istiyorum mesafe önemli değil 1 cm bile yaklaşsa alarm çalsın mesela.Nasıl bir değişiklik yapabiliriz kodunuzda.Çok teşekkürler.
Show Conversion Code Hide Conversion Code Show Emoticon Hide Emoticon