Ana Sayfa Arduino Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

6 min read
13
1
61,789

Roboturka’dan merhabalar.

Arduino öğrenmeye başlayanların ilk yaptığı projelerden biri,Hc-Sr04 ultasonik mesafe sensörü  ve  2×16 Lcd ekran kullanarak, robotun karşısındaki engellerin mesafesini ölçmek ve bunu ekranda görüntülemektir. Buyrun,bu projeyi birlikte yapalım. Öncelikle ihtiyacımız olan malzemelerden bahsedelim.

Kullanılan Malzemeler ve Tavsiye Ürün Linkleri

Yeteri kadar jumper kablosu ve isteğe bağlı potansiyometre. Potansiyometreyi lcd ekranın parlaklığını ayarlamak için kullanacağız.

İsterseniz fritzing şemasına,isterseniz fotoğraflara bakarak devre şemasını oluşturalım.

Hc-sr4-lcd-sema

hc-sr4-lcd

20150613_130921

Devremizi bu şekilde kurduktan sonra yeni bir arduino projesi açıp gerekli kodları yapıştırıyoruz ve kodları arduinomuza yüklüyoruz.

/* HC-SR04 Ultrasonic Sensor with LCD dispaly Bağlantılar:
HC-SR04 Ultrasonic Sensor VCC to Arduino 5V
GND to Arduino GND
Echo to Arduino pin 12
Trig to Arduino pin 13
LCD Display (I used JHD162A)
VSS to Arduino GND
VCC to Arduino 5V
VEE to Arduino GND
RS to Arduino pin 11
R/W to Arduino pin 10
E to Arduino pin 9
DB4 to Arduino pin 2
DB5 to Arduino pin 3
DB6 to Arduino pin 4
DB7 to Arduino pin 5
LED+ to Arduino 5V
LED- to Arduino GND
Modified by Hidayet Çalışkan (Haziran, 2015).
*/

#include <LiquidCrystal.h> //Load Liquid Crystal Library
LiquidCrystal LCD(11,10,9,2,3,4,5); //Create Liquid Crystal Object called LCD
#define trigPin 13 //Sensörün Echo pini Arduinonun 13. pinine bağlanır
#define echoPin 12 //Sensorün Trig pini Arduinonun 12. pinine bağlanır

void setup() {
pinMode(trigPin, OUTPUT); //13. yani trigpini çıkış olarak ayarlıyoruz
pinMode(echoPin, INPUT); //12. yani echoPini giriş olarak ayarlıyoruz
LCD.begin(16,2); //Arduinoya lcdyi çalıştırmasını söylüyoruz
LCD.setCursor(0,0); //kursoru ilk satırın ilk sütununa getirmesini söylüyoruz
LCD.print(“www.roboturka.com”); //İlk satırda görünecek mesajı yazıyoruz
}

void loop() {
long duration, distance; digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1; //sesin gidiş gelişinde ölçülen süreyi önce ikiye bölerek sadece gidiş hızını ölçüyor sonra da ses hızına bölerek mesafeyi buluyoruz.
LCD.setCursor(0,1); //Kursoru ikinci satır birinci sütuna getiriyoruz
LCD.print(“”); //Ekranı temizlemek için boşluk yazdırıyoruz.
LCD.setCursor(0,1); //Kursoru tekrardan ikinci satır birinci sütuna getiriyoruz
LCD.print(“mesafe”);
LCD.setCursor(7,1); //satırın başında mesafe yazdığı için kursoru 7. sütuna götörüyoruz
LCD.print(distance); //Ölçülen mesafeyi yazdırıyoruz
LCD.print(“cm”); //Ölçü birimini yazdırıyoruz
delay(250); //250 milisaniye bekletiyoruz.
}

Her şeyi doğru yaptıysanız aşağıdaki gibi bir sonuç almanız gerekiyor. Alamadıysanız kablo bağlantılarınızı tekrar kontrol etmelisiniz

20150613_133153

hc-sr4-lcd

Hc-Sr04 ultasonik mesafe sensörü  ve  16×2 Lcd ekran kullanarak mesafe ölçme projemizin sonuna geldik.

Uygulamanın videosu da aşağıdadır. Kolay gelsin. İyi çalışmalar

Eğer bu proje ile alakalı bir PCB yaparsanız, fiyat performansın adresi olan PCBWAY‘i tercih etmelisiniz.10 PCB için sadece 5$ gibi cüzi bir miktar ödüyorsunuz. Kolay gelsin ! 🙂

Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Konuk Yazar
Daha Fazla Göster -  Arduino

13 Yorumlar

  1. tarık

    22 Ağustos 2015 at 16:04

    guzel paylasım tşk ederım ancak su yenı gordugum 4 tane baglantı ucu olan 2×16 ya gore bır baglantı seklı varmı acaba IC2 2×16 LCD kullnımı hakkında bi baglantı seması paylasımı varmı yenı baslıan birisi olarak

    Reply

    • Bilal Kaya

      22 Ağustos 2015 at 21:02

      Merhabalar Tarık,
      Arduino kod satırında yorum olarak LCD bağlantılarından bahsedilmiştir.Açıklayıcı olduğunu düşünüyorum 🙂

      Reply

  2. volkan

    8 Aralık 2015 at 23:44

    avrdude: ser_open(): can’t set com-state for “\\.\COM5”

    şeklnde ir yorum alıyorum ve yüklenme gerçekleşmiyor yardımcı olailirmsnizz

    Reply

    • cihan

      16 Mayıs 2016 at 22:34

      kardeş sorunun çözümünü bulabildin mi ? aynı sorunu bende yaşıyorumda.

      Reply

  3. yeter

    30 Mart 2016 at 16:22

    #include

    LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

    int trigPin=2; //define trigPin 2

    int echoPin=3; //define echoPin 3

    int led=3;

    int siddet=0;

    void setup() {

    pinMode(trigPin, OUTPUT);

    pinMode(echoPin, INPUT);

    pinMode(led,OUTPUT);

    lcd.begin(16,2);

    }

    void loop() {

    int sure, uzaklik;

    lcd.clear();

    lcd.setCursor(0,0);

    digitalWrite(trigPin, HIGH);

    delayMicroseconds(1000);

    digitalWrite(trigPin, LOW);

    sure = pulseIn(echoPin, HIGH);

    uzaklik = (sure/58);

    siddet=255-(uzaklik/1,57); //1,57 olmazsa 1.57 yazın virgül yerine nokta koyun

    analogWrite(led,siddet);

    lcd.print(“Uzaklik = “);

    lcd.print(uzaklik);

    lcd.print(” cm”);

    delay(400);

    }

    ilgili kodlar yukarıda yazılmış ancak hocamız bzden her cm buzzer ötecek ama 10 cm algıkadıgında yüksek sesle buzzer ötmesini istedi
    kodlarda nasıl değişiklik yapılır
    yardımcı olabilir misiniz

    Reply

    • Batuhan Sözer

      17 Haziran 2016 at 12:46

      Hocam sen mantığını anla o kodu kendin yaz hocanız interneten bakın dememiştir kardeşim sen yanlış anlamışsındır

      Reply

  4. emirhan cansel

    30 Ocak 2017 at 15:54

    Benim yaptıgım projede surekli 0 cm gostermektedir. yani mesafe olcmuyor yardımcı olursanız sevinirim

    Reply

  5. Yakup

    3 Haziran 2017 at 20:23

    Yaptım gercekten mükemmel 5 dakka sürüyor sadece oraya kendi adımı yazdım ölçüm belki yüzde yüz değil ama 12 cm ise 12 cm gösteriyo milim farkı olsada önemi yok emeği geçenlerin eline sağlık. Kodlarda hiç bi sıkıntı yok

    Reply

  6. Sefa

    1 Aralık 2017 at 15:53

    exit status 1
    #include expects “FILENAME” or
    diye bir hata alıyorum ilk satırda.Bağlantıları vs kontrol ettim bir bakar mısınız hocam.

    Reply

  7. Sefa

    1 Aralık 2017 at 15:54

    Arduino:1.8.5 (Windows Store 1.8.10.0) (Windows 10), Kart:”Arduino/Genuino Uno”

    mesafe_sensoru_ve_olcum:1: error: #include expects “FILENAME” or

    #include <LiquidCrystal.h> //Load Liquid Crystal Library

    ^

    exit status 1
    #include expects “FILENAME” or

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    Reply

  8. Hazal

    8 Aralık 2017 at 21:38

    Merhaba. Infrared kullanarak yapabilirmiyiz.

    Reply

  9. beyza

    12 Aralık 2017 at 19:56

    Hocam ben kodlamayı kopyala yapıştır dedim fakat sürekli kodlamada hata buluyor anlamadım 🙁

    Reply

  10. Mine

    21 Şubat 2018 at 15:20

    hocam ben devreyi kurdum fakat kod kısmında sürekli hata veriyor. Hata kütüphanede. import yaptığımda bu genio uno için değildir yazıyor. yardımcı olursanız sevinirim.

    Reply

Sefa için bir cevap yazın Cevabı iptal et

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

Bak Bakalım ?

Lazer İşleme Makinesi Yapımı

Merhaba arkadaşlar,bu projemizde sizlerle birlikte lazer işleme makinesi yapımını göreceği…