in ,

ÖğreticiÖğretici

Arduino Hc-SR04 Mesafe Sensörü Ve I2C LCD İle Park Sensörü Yapımı

Arduino Hc-SR04 Mesafe Sensörü Ve I2C LCD İle Park Sensörü Yapımı

Merhaba arkadaşlar arduino ile çılgın projelerde olabildiğince hızlı ilerlemeye devam ediyoruz. Bu yazımızın konusu Arduino I2C 16×2 LCD ve HC-SR04 kullanarak basit bir park sensörü nasıl yapılır bunu öğreneceğiz. 🙂 Bu proje ile arabanızda  kendinizin tasarladığı bir park sensörüne sahip olacaksınız hatta mesafe aralıklarını dahi ayarlayabileceksiniz. İsterseniz zaman kaybetmeden hemen işe koyulalım. 🙂

Malzeme Listesi

1- Herhangi Bir Arduino Modeli

2- HC-SR04 Mesafe Sensörü

3- I2C 16X2 LCD

4- Buzzer

5- Breadboard Ve Jumper Kablolar

Not: Tüm bu malzemeleri elektronik parça satan yerlerde bulabilirsiniz yada şu ve bu adreslerden internet üzerinden güvenle sipariş edebilirsiniz 🙂 Ayrıca eğer zamanım bol diyorsanız Çin’den de Aliexpress vasıtasıyla getirtebilirsiniz. Daha uygun fiyata gelecektir.

Arduino Hc-SR04 Mesafe Sensörü Ve I2C LCD İle Park Sensörü Devre Şeması

Alt tarafta çizdiğimiz devre şemasına bakarak uygun arduino modeline göre devremizi breadboard’umuza kuralım.

Önemli Not: Eğer projenizde arduino mega kullanacak iseniz şu yazımızdan bağlantılarını öğrenebilirsiniz 🙂 Ve ben taslağı arduino üzerine bağladım ama örnek proje olduğu için eğer siz arabanızda kullanacak iseniz, lcd ve mesafe sensörünü ayrı bir güç kaynağına bağlamanız gerekmektedir arduinonuz yükte fazla sağlıklı çalışmaz..

Devredeki ledi siz animasyon eklerseniz diye koyduk yazılımda sadece girişleri yapıldı.

Yazılım

Bu modülle çalışabilmek için bir kütüphaneye ihtiyaç duyuyoruz öncelikle kütüphanemizi buradan indirip aşağıda belirtilen yoldaki klasöre rar dosyasından dan çıkarıp atın.(Daha önce atmış iseniz gerek kalmayacaktır. 🙂 )

Belgeler >  Arduino > libraries

Rar Şifresi: donanimplus.com

Devreyi kurduktan sonra alt tarafta yer alan kodları Arduino kartımıza yükleyelim. Buradaki kod daha önceki projemiz olan şu yazımızda ki kodu modifiye ederek park sensörü haline getirdik..

Kod


//DONANIM PLUS ELEKTRONİK
//TASARIM TOLGA SOYTEPE
//İNSTAGRAM Tolgasyp
//TWİTTER TSytpp
//ARDUİNO İLE HC-SR04 ULTRASONİK SENSÖR VE I2C LCD KULLANARAK PARK SENSÖRÜ YAPIMI
#include <LiquidCrystal_I2C.h> // kütüphanemizi ekliyoruz..
#include <Wire.h>// LCD için gerekli 2. kütüphanemizi de ekliyoruz..
const int echopin = 2;// sensör echo pinini 2. pine bağladık..
const int trigpin = 3;// sensör trig pinini 3. pine bağladık..
const int ledpin = 4; // Ledimizi 4. pine bağladık
const int buzzerpin = 5; // buzzerpinimizi 5. pine bağladık..
long sure; //sure değişkenini tanımladık
int mesafecm; // Cihazımız için bir CM değerlerini yazdıracağımız değişkeni tanımladık.
LiquidCrystal_I2C lcd(0x27,16,2);// Lcd modelimizi belirttik..
void setup()
{
lcd.begin();// lcd mize güç verdik.
pinMode(trigpin,OUTPUT);// Trig pinini çıkış
pinMode(echopin,INPUT); // Echo pinini de giriş olarak tanımladık.
pinMode(ledpin,OUTPUT);// led pinimzi çıkış olarak tanımladık..
lcd.clear();// Lcdmizi temizledik..
lcd.setCursor(0,0);//lcdmizin birinci satırına..
lcd.print("TASARIM TOLGA");// yazdırmal istediğimiz metni..
lcd.setCursor(0,1);//ikinci satırına
lcd.print("SOYTEPE");// istediğimiz metni yazdırıyoruz..
delay(1000);// bir sanie bekleyip..
lcd.clear();// lcdmizi temizliyoruz..
lcd.setCursor(0,0);//Tekrardan birinci satırına
lcd.print("DONANIM PLUS");//istediğimiz metni
lcd.setCursor(0,1);// ikinci satırına
lcd.print("ELEKTRONIK");// isediğimiz metni yazdırıyoruz…
delay(2000);
lcd.clear();//son olarak lcdyi temizleyerek projeye başlıyoruz..
}void loop() {
digitalWrite(trigpin,LOW);//buradaki kodları önceki yazımızda anlatmıştık..
delayMicroseconds(2);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
digitalWrite(trigpin,LOW);
sure = pulseIn(echopin,HIGH);
mesafecm = sure*0.034/2;
lcd.setCursor(0,0);
lcd.print(mesafecm);
lcd.print(" CM KALDI");
delay(10);
if (mesafecm > 100){
lcd.setCursor(0,1); 
lcd.print("GEL KARDES GEL");
noTone(buzzerpin);
}else if(mesafecm < 50){
 
tone(buzzerpin, 1000,500);
lcd.setCursor(0,1);
lcd.print("YAVAS YAVAS GEL");
 
}
else if(mesafecm < 10){
 
tone(buzzerpin, 10000,600);
lcd.setCursor(0,1); 
lcd.print("SAKIN OLL !!");
 
} else if(mesafecm < 5){
 
tone(buzzerpin, 1000);
lcd.setCursor(0,1); 
lcd.print("SAKIN DEMISTIM..");
 
}
else {
tone(buzzerpin, 5000,200);
lcd.setCursor(0,1);
lcd.print("YAKLASIYOR.."); 
}
}

Projede kullanılan yazılım kodlarını buradan indirebilirsiniz 🙂Minik bir not: Arkadaşlar siteden kodu kopyalayınca tırnak işaretini farklı alıyor ve kod tam anlamıyla çalışmıyor kodun sağlıklı çalışabilmesi için kodu indirmenizi tavsiye ederim yada lcd de yazılacak olan yerleri yeniden tırnak içine almanız gerekmekte umarım anlaşılmıştır.

Bir yazının daha sonuna geldik umarım faydalı olmuştur anlamadığınız veya kafanıza takılan yerler olursa yorumda veya kişisel sosyal medya hesaplarımdan ulaşabilirsiniz. Kolay gelsin 🙂

Yazar Tolga Soytepe

Ara sıra yazılımcı :)

Yorumlar (6)

Yorum Yap
  1. Merhaba yazınızı inceledim.Gayet başarılı buldum benim sorum şu tamam bütün modellere uygulayabiliyormuşuz öyle yazmışsınız,en küçük arduinoyu düşünelim bunda kaldırmama gibi yanma gibi bir sorun olmaz demi?Yarın yapmayı düşünüyorum da

    • Merhaba Mehmet Bey öncelikle ilginiz için teşekkürler. Arduinonun küçük bir kartı olan pro miniyi baz alalım. Kartta denediğiniz zaman bir sorunla karşılaşmazsınız ama sürekli kullanacak iseniz arduinonun akım kapasitesi düşük olduğundan ve ne yazık ki arduino ve sensör arasındaki kablolar uzun olacağından uzun süre sağlıklı çalışmayacaktır. En azından lcd’nin gücünü farklı bir kaynaktan sağlamanızı tavsiye ederim. Örnegin bir araba çakmaklık şarj cihazları ile besleyebilirsiniz.

  2. Merhaba,

    Aşağıdaki hatayı alıyorum. Yardımcı olur musunuz 0537599** (NUMARA GİZLENMİŞTİR)

    stray ‘\342’ in program

  3. Merhaba iyi günler gerekli işlemleri tamamlayıp kodu derleyince lcd.begin() satırında hata alıyorum hata metni ” no matching function for call to ‘LiquidCrystal_I2C::begin()’ ” şeklinde yardımcı olur musunuz

    • Merhaba Faruk. Kütüphaneyi dogru yüklediğinize emin misiniz ? Fonksiyon hatası veriyor yazilimda ustte ki kutuphane ismiyle sizin koddaki kutuphane ismi birebir aynı olmalı örnegin ustte #include liquidCrystal_I2C.h yazarken kodda #include LiquidCrystal_I2C.h yaziyorsa baş harften dolayı kütüphaneyi tanımayacaktır kontrol etmenizi tavsiye ederim. Bazen siteden kodu kopyalayınca da tırnak işaretleri hata verebiliyor verdigim linkten kodu indiriniz 😊

Yorumunuzu yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kan Grupları İnsandaki Karakter Oluşumunu Etkiler Mi?

Nüfusa ne olacak? Sığamıyoruz bu dünyaya…