Kullanılan Malzemeler
-1 Adet Arduino Uno
-1 Adet Ultrasonik Sensör
-1 Adet LDR
-1 Adet 2*16 LCD
-3 Adet LED
-1 Adet 10k direnç
-3 Adet 330 ohm direnç(330-390 ohm arası olabilir)
-1 Adet Buzzer
Öncelikle biraz sensörlerden bahsetmek istiyorum.Çoğu teknolojik icatta olduğu gibi bu sensörümüzde doğadan ilham alınarak bulunmuştur.En iyi örneği yarasalar ve yunuslar yaratılıştan bu yana bu teknikle yollarını buluyor ve nesnelerin yerlerini tespit ediyorlar.
Ultrasonik Sensör
Bu sensörle ölçüm yaparken aslında sensörümüz bize doğrudan mesafe bilgisini vermez.Bize verdiği değer gönderdiği ses dalgasının yansımasının geri dönüş süresidir.Biz de fizikteki en basit hareket denklemini kullanarak mesafeyi buluruz… X=V*t
Bu denklemde bildiğimiz tek şey sesin hızıdır V=343 m/s , t değerinide bize sensörümüz tarafından gelir ve mesafeyi bulmak için basit bir çarpma işlemi yapılır.Burada dikkat edilmesi gereken husus,sensörden gelen sürenin gidiş ve dönüş süresi olduğudur.Gidiş dönüşe eşittir.Yani bize sadece gittiği yada döndüğü süre lazım bunun için sensörden gelen t’yi ikiye bölmeyi unutmamak gerekir.Ve bir diğer husus mikrosaniye kullanımı yani saniyenin milyonda biri gibi küçücük bir zaman zarfında ses gönderip yankılanmasını dinliyoruz…
Bu denklemde bildiğimiz tek şey sesin hızıdır V=343 m/s , t değerinide bize sensörümüz tarafından gelir ve mesafeyi bulmak için basit bir çarpma işlemi yapılır.Burada dikkat edilmesi gereken husus,sensörden gelen sürenin gidiş ve dönüş süresi olduğudur.Gidiş dönüşe eşittir.Yani bize sadece gittiği yada döndüğü süre lazım bunun için sensörden gelen t’yi ikiye bölmeyi unutmamak gerekir.Ve bir diğer husus mikrosaniye kullanımı yani saniyenin milyonda biri gibi küçücük bir zaman zarfında ses gönderip yankılanmasını dinliyoruz…
LDR
Biraz da ldr (light depented resistance),yani ışığa bağımlı dirençden bahsedecek olursak;
Elektrik devrelerin altın formulü olan V=I.R ‘dan sabit ve gerilimi veriyorken dirençte değişim varsa I akımı buna ters orantılı olarak değişecektir.Bizde bu değişimi analog girişimizden okuyayrak ışıktaki değişimi algılayıp,yapmamız gerekenleri yaptırıyoruz.
Devre Şeması
Arduino Kodları
//writed by ercancag
#define trigPin 4 // Trigger Pini (Ses gönderme) #define echoPin 5 // Echo Pini (Yansıyan ses algılama) # include <LiquidCrystal.h> LiquidCrystal lcd(7, 8, 9, 10, 11, 12); int ldr = 0; //analog pin to which LDR is connected int ldr_value = 0; //variable to store LDR values int kisa =13; int uzun =6; int stp = 3; int bzr =2; int maksimumMesafe = 200; // Maksimum mesafe. Farketmesi için uzak nesneler daha büyük olmalıdır. int minimumMesafe = 3; // Minimum mesafe long microsaniyeSure, cmMesafe; // Mesafe hesabında kullanılan değişkenler int ldr_pin=A0; int tonePin = 2; byte possible_patterns[9] = { B00000000, B00000001, B00000011, B00000111, B00001111, B00011111, B00111111, B01111111, B11111111, }; void setup() { Serial.begin (9600); // Seri iletişimi başlat pinMode(trigPin, OUTPUT); // Ses gönderme pin türünü çıkış olarak ayarla pinMode(echoPin, INPUT); // Yansıyan ses algılama pin türünü giriş olarak ayarla lcd.begin(16, 2); pinMode(kisa, OUTPUT); pinMode(uzun, OUTPUT); pinMode(stp, OUTPUT); pinMode(bzr, OUTPUT); pinMode(tonePin, OUTPUT); } void loop() { /* Aşağıda trigPin/echoPin döngüsü en yakın nesneden yansıyan sesin yansıma süresini hesaplar. */ int ldr= analogRead(ldr_pin); Serial.println(ldr); digitalWrite(trigPin, LOW); // Hoparlör 2ms sessiz delayMicroseconds(2); digitalWrite(trigPin, HIGH); // Hoparlör 10ms sesli delayMicroseconds(10); digitalWrite(trigPin, LOW); // Hoparlör sessiz microsaniyeSure = pulseIn(echoPin, HIGH); // Mikrofonu dinle, yansıma süresini microsaniyeSure değişkenine al // Serial.println(microsaniyeSure); // Sesin gitme ve geri yansıma süresi cmMesafe = microsaniyeSure/58.3; // microsaniyeSure'dan cm olarak mesafeyi hesapla lcd.clear(); if (ldr <= 500) { digitalWrite(kisa ,HIGH); digitalWrite(uzun ,HIGH); lcd.setCursor(0,0); lcd. print ( "Uzunlar Acik" ); } if (ldr >500) { digitalWrite(kisa ,HIGH); digitalWrite(uzun ,LOW); lcd.setCursor(0,0); lcd. print ( "Uzunlar Kapali " ); } if (cmMesafe >= 15 && cmMesafe <20){ digitalWrite(stp ,LOW) ; tone(tonePin,200000, 300); delay(100); } if (cmMesafe >= 10 && cmMesafe <15){ digitalWrite(stp ,LOW); tone(tonePin,200000, 50); delay(300); } if (cmMesafe >=5 && cmMesafe <10 ){ digitalWrite(stp ,LOW); tone(tonePin, 200000,100); } if (cmMesafe <5 ){ digitalWrite(stp ,HIGH); tone(tonePin, 200000); } if (cmMesafe >20 ){ digitalWrite(stp ,LOW); noTone(tonePin); } /* Seri iletişimden ölçülen mesafeyi bilgisayara gönder */ lcd.setCursor(0,2); lcd. print ( "Mesafe " ); lcd. print (cmMesafe); //Mesafe bilgisi lcd. print ( " cm" ); // Birim değeri delay(1000); //Sonraki ölçümden önce bekleme süresi. }
|
Videomuz;
Ercan ÇAĞLAYAN CÜ-EEM 2015
Hiç yorum yok:
Yorum Gönder