Basit Arduino Projeleri #3 Mesafe Sensörü Kullanımı

Kruvazör

Yazılım Ekibi Lideri
28 Mar 2020
1,697
2,424
Wrong Side Of Heaven


Merhaba arkadaşlar serimin 3. konusu ile devam ediyorum.
aşağıda kullandığım sensörün bilgilerini ve linkini de bırakacağım.

Sensörümüzü tanıyalım:

HC-SR04 Ultrasonik Mesafe Sensörü

47bdv25.jpg



2cm'den 400cm'ye kadar 3mm hassasiyetle ölçüm yapabilen bir ultrasonik sensör çeşididir.
Uzaklık okuma, radar ve robot uygulamalarında kullanılabilir.


(HY-SRF05 modeline benzerlik gösterir.)

HC-SR04 Özellikleri:
Çalışma Voltajı: DC 5V
Çektiği Akım: 15 mA
Çalışma Frekansı: 40 Hz
Maksimum Görme Menzili: 4m
Minimum Görme Menzili: 2cm
Görme Açısı: 15°


satış linki (alternatif yerlerde bulunmaktadır)



Sensörümüzün çalışma mantığına bakalım:
lhlrhch.png


4l7ezcu.png


Hedef nesneye doğru ses dalgalarının yüksek frekansla iletilmesi biçiminde dalga yayar.
Ses dalgalarının hedef nesneyi algılaması sonucunda ise ses dalgaları mesafe ölçüm sensörü bölgesine geri dönüş sağlar.
Bu geri dönüşün ardından sinyal ultrasonik sensöre tekrar yansıtılır.
Ve yazdırma işlemleri yapılır.


DEVRE ŞEMASI:
LED EKRAN:
( sensörden gelen değerleri ölçmek için.)
7m14d5w.jpg


SENSÖR:
fvqbmor.png



KODLARIMIZI YAZALIM
C:
#include <LiquidCrystal.h>
//LCD Pins

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);   //lcd ekran için
char str[16];

//pinler
const int trigPin = 22;
const int echoPin = 24;
 
// değişkenler
long duration;
int distance;
 
void setup() {
//LCD
  lcd.begin(16, 2);
  lcd.print("Coderx37:");
 

pinMode(trigPin, OUTPUT); // sensör çıkş
pinMode(echoPin, INPUT); // sensör giriş
Serial.begin(9600); // seri bağlantıyı aç
}
 
void loop() {
// trigpin temizleme
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
 

digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
 

// echoPin'i okur, ses dalgasının seyahat süresini mikrosaniye cinsinden döndürür
duration = pulseIn(echoPin, HIGH);
 
// mesafeyi hesaplar
distance= duration*0.034/2;
 
// lcdye mesafeyi yazdırma

  lcd.setCursor(0, 1);
  lcd.print("Mesafe:");
  sprintf(str,"%d       ", distance);
  lcd.print(str);
 
Serial.print("Mesafe: ");
Serial.println(distance);
  delay(500);
}

Okuduğunuz için teşekkür ederim.
bir sonraki konuda aynı sensör ile mesafeye göre led yaktırsak bence eğitici bir içerik olur :)
 

Safak-Bey

Uzman üye
9 Ara 2021
1,794
1,981
Gereken Yerde
Elinize emeğinize sağlık. Sonda dediğiniz gibi mesafeye göre led yakılabilir. Bir de buzzer ekleyerek arabalardaki park sensörü yapılabilir. :) Ya da boy ölçer olabilir. Seri ekrana boyu yazar. :)
 
Son düzenleme:

Kruvazör

Yazılım Ekibi Lideri
28 Mar 2020
1,697
2,424
Wrong Side Of Heaven
Elinize emeğinize sağlık. Sonda dediğiniz gibi mesafeye göre led yakılabilir. Bir de buzzer ekleyerek arabalardaki park sensörü yapılabilir. :) Ya da boy ölçer olabilir. Seri ekrana boyu yazar. :)
Arduino emek verilmesi gereken büyük ve eğlenceli bir alan.
Bir sensör ile yüzlerce farklı şey yapabiliyorsunuz.

Ben de olabildiğince bu ihtimalleri burda paylaşmak istiyorum.
Yorumunuz için teşekkür ederim dediklerinizi de ekleriz inşallah yakın zamanda :)

Emeğinize sağlık


Teşekkür ederim :)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.