Projemizde ultrasonik sensör ile ölçülen mesafeyi LCD ekrana yazdıracağı yani dijital metre yapacağız.Böylece kolaylıkla 2 cm ve 400 cm arasında bulunan mesafelerin ölçümünü tek başımıza metre ve ya cetvel kullanmadan yapabileceğiz.
Malzemeler
Arduino Uno
Breadboard
16×2 karakter LCD
HC-SR04 ultrasonik sensör
10K potansiyometre
4 adet erkek dişi jumper kablo
16 adet erkek erkek jumper kablo
LCD Ekran:Ekranın 16×2 karakter olarak belirtilmesi 2 satıra 16 karakter yazabileceğimiz anlamına geliyor.Ama kaydırma yaparak daha fazla karakter de görüntüleyebilirsiniz.
Potansiyometre:Direnç çeşitlerinden biri olan potansiyometre diğer adıyla reosta değeri değiştirilebilen dirençlerden biridir.Devrelerde akım ve gerilim kontrolünde akımı sınırlamak ya da gerilimi bölmek için kullanılır.Projemizde ise LCD ekranın kontrastını yani ekranın parlaklığını ayarlamak için kullanacağız.
Çalışma Şekli
Ultrasonik mesafe sensörü insan kulağının işitebileceği sınırdan daha yüksek frekanslarda ses dalgaları yayarak ardından cisme çarpıp dönme sürelerini hesaba katarak sonar ve radar sistemlerinin çalışması gibi mesafeyi hesaplar.Daha sonrasında ise ultrasonik sensörden alınan mesafe LCD ekrana yansır.
Devremizi Kuruyoruz
- Adım : LCD ekranımızı breadboard üzerine yerleşiyoruz.
(DİKKAT!! LCD ekranın arkasına baktığınızda 1’den 16’ya kadar sıralanmış bağlantılar göreceksiniz.Bir numaralı pinin nerden başladığı çok önemli. )
İlk olarak LCD ekranımızla Arduinonun bağlantısı sağlayacağız bunun için
Arduino üzerindeki 5V’u artı hattına
Arduino GND hattını breadboard üzerindeki eksi hattına bağlıyoruz.
Ardından breadbordumuzun alt kısmına artı ve eksiyi verebilmek için jumper kablolarımızla yukarıdaki eksi ve artıyı alttaki eksi ve artı ile bağlıyoruz.( Bunu yapmayıp direk olarak yukarıdaki hattı da kullanabilirsiniz.)
Şimdi LCD ekranın bağlantılarına geldik. LCD ekranın bir numaralı pininden eksi hatta
İki numaralı pininden artı hatta bağlantı yapıyoruz. Böylece LCD ekranın çalışması için gerekli olan enerji sağlanacak.
Bu aşamamızda potansiyometremizi yerleştirip orta bacağından LCD’nin üç numaralı pinine bağlantı sağlıyoruz.
Potansiyometrenin aktif olabilmesi için sağ ve sol bacaklarının artı ve eksiye bağlı olması gerekiyor.( Sağ ve solun hangisinin artı eksiye bağlı olduğu önemli değil.)
Daha sonrasında LCD ekranımıza geri dönüp 4 numaralı bacağından arduinomuzun 12 numaralı pinine bağlantı sağlıyoruz.
LCD ekranın 5 numaralı pininden tekrardan eksi hatta bağlantı sağlayıp 6 numaralı pinden arduinonun 11 numaralı pinine bağlantımızı yaptık.
LCD ekranın 7, 8, 9 ve 10 numaralı pinlerini boş bırakıyoruz.
11 numaralı pinden devam edip arduinonun 5 numaralı pinine
12 numaralı pinden arduinonun 4 numaralı pinine
13 numaralı pinden arduinonun 3 numarasına
14’den ise 2 numaralı pine bağlantımızı tamamladık.
Ve sonra olarak LCD ekranın 15 numaralı pininden artı , 16 numaralı pininden eksi hattına bağlantımızı yaptık böylece LCD ekranın çalışabilmesi için tüm bağlantılar tamamlandı.
2. Adım: Ultrasonik sensörü arduinoya bağlıyoruz.
Sensörümüze 4 tane erkek dişi jumper kablo taktıktan sonra Vcc pinini artı hattına gnd pinini eksi hattına
Trig pinini arduinomuzun 7 numaralı pinine
Echo pinininde arduinonun 6 numaralı pinine bağlantısını sağladık
Devremizin son hali :
Böylece devre kurulumumuz bitti ve kod yazma aşamamıza geldik.
Devreyle Birlikte Kullanacağımız Kod
(Dikkat!!! Kodu yazmadan önce LCD ekran kullanacağımız için LiquidCrystal kütüphenesini dahil etmelisiniz. Bunun için de kod ekranınızdaki taslak kısmından libraryi ekle kısmından LiquidCrystal’i seçmelisiniz.)
#include <LiquidCrystal.h> // lcd kütüphanesi
int trigPin = 7; //ultrasonik sensörün trig pinini tanımladık
int echoPin = 6; // sensörün echo pinini tanımladık
int sure; // süre değişkenimiz
int uzaklik; // uzaklığı ölçtükten sonra yazdırabileceğimiz uzaklık değişkenimiz
int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; //lcd ekranın bağlantılarını yaptığımız pinleri kütüphaneye tanıtıyoruz
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // liguidCrystal LCD ekranımızı tanımlıyoruz
void setup() {
pinMode(trigPin, OUTPUT); // trig pinini çıkış olarak ayarlıyoruz
pinMode(echoPin,INPUT); //echo pinin de giriş olarak ayarlıyoruz
lcd.begin(16, 2); // LCD ekranın oranlarını ayarlıyoruz.
}
void loop() {
digitalWrite(trigPin, LOW); // sensörümüzle ölçüm sekansını başlattık
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
sure = pulseIn(echoPin, HIGH, 11600); // ses dalgasının gidip gelme süresinin ölçümü
uzaklik= sure*0.0345/2; // ölçülen süre ile uzaklık hesabı
delay(250);
lcd.clear(); // LCD ekranımızdaki yazıların temizlenmesi
lcd.setCursor(0, 0); // ekranımızın 1. satır 1. sütundan yazmaya başlıyoruz
lcd.print(“Uzaklik:”);
lcd.setCursor(0, 1); //ekranın 2. satır 1. sütunundan yazmaya başlıyoruz
lcd.print(uzaklik); // uzaklık değerini ekrana yazdırma
lcd.print(“cm”);
}
Böylece projemiz tamamlanmış oldu.