Mekatronik Mühendisliği Forum


Arduino ile Basit Park Sensörü Yapımı
Değerlendir:
  • 0 Oy - 0 Yüzde
  • 1
  • 2
  • 3
  • 4
  • 5


Konu: 56
Mesaj: 64
Cinsiyet: Erkek
Kıdem: Sep 2014

Gerekli malzemeler:
  • Linki görebilmek için giriş yapmanız ya da üye olmanız gerekir.
  • Linki görebilmek için giriş yapmanız ya da üye olmanız gerekir.
  • Linki görebilmek için giriş yapmanız ya da üye olmanız gerekir.
  • Linki görebilmek için giriş yapmanız ya da üye olmanız gerekir.
  • Linki görebilmek için giriş yapmanız ya da üye olmanız gerekir.
  • Linki görebilmek için giriş yapmanız ya da üye olmanız gerekir.

Buzzer dediğimiz devre elemanını ufak bir hoparlör olarak düşünebiliriz. Hoparlörler kadar yüksek ve detaylı ses üremeseler de, “bip” leme seslerini çıkartmada oldukça başarılıdırlar.
HC-SR04, robotik projelerde Arduino ile kullanılan en popüler sensörlerden birisidir. Kullanımı oldukça kolaydır ve program kısmı düzgün olduğu sürece 2cm – 400cm arası uzaklıkları düzgün bir şekilde ölçebilmektedir. Çalışma prensibi ise şu şekildedir: Sensörün Trig pininden uygulanan sinyal 40 kHz frekansında ultrasonik bir ses yayılmasını sağlar. Bu ses dalgası herhangi bir cisme çarpıp sensöre geri döndüğünde, Echo pini aktif hale gelir. Biz ise bu iki sinyal arasındaki süreyi ölçerek -yani sesin yankısını algılayarak- cismin sensörden uzaklığını tespit edebiliriz. 
[Resim: buzzer-hcsr04_bb.png]
Devreyle beraber kullanacağımız kodumuz:

#define echoPin 6
#define trigPin 7
#define buzzerPin 8
 
int maximumRange = 50;
int minimumRange = 0;
 
void setup()
{
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
}
 
void loop()
{
  int olcum = mesafe(maximumRange, minimumRange);
  melodi(olcum * 10);
}
 
int mesafe(int maxrange, int minrange)
{
  long duration, distance;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration / 58.2;
  delay(50);
  if (distance >= maxrange || distance <= minrange)
    return 0;
  return distance;
}
 
int melodi(int dly)
{
  tone(buzzerPin, 440);
  delay(dly);
  noTone(buzzerPin);
  delay(dly);
}
[url=http://maker.robotistan.com/wp-content/uploads/2015/10/buzzer-hcsr04_bb.png][/url]
Celal Bayar Üniversitesi-Mekatronik Mühendisliği

Cevapla
Teşekkür Edenler
.


Benzeyen Konular
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
Thumbs Up Arduino genel bakış ve basit 10 uygulama mühendisiz 6 5,669 04-02-2015, 02:28 AM
Son Mesaj: karaman67

Foruma atla:


Konuyu görüntüleyenler: 1 Misafir

Türkçe Çeviri : MyBB Türkiye
MyBB, © 2002-2018 MyBB Group.