İçindekiler
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 🙂
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.
Merhaba,
Aşağıdaki hatayı alıyorum. Yardımcı olur musunuz 0537599** (NUMARA GİZLENMİŞTİR)
stray ‘\342’ in program
Merhaba Ahmet galiba kodu direkt siteden kopyaladın. Kodu verdiğim linkten indirip tekrar denemeni tavsiye ederim 🙂 Hatta senin için buraya da link koyuyorum kolay gelsin 🙂
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 😊
Hocam LCD.begin de hata verdi sizce sebebi nedir
Merhaba Yakup lcd kütüphanesini doğru yüklediğinden emin ol 🙂
abi bendede öyle oluyor
Hocam doğru yüklüyorum ama olmadı bir türlü
hocam merhaba benim elimde dönüştürücüsüz lcd ekran varda bunla nasıl yapacağım