Arduino Ders 4 (Park Sensörü)

mithat999

Katılımcı Üye
20 Ağu 2011
346
0
Istanbul
Gerekli malzemeler:
  • Arduino UNO
  • Breadboard
  • 1 adet Buzzer
  • 1 adet 330Ω direnç
  • 1 adet HC-SR04 ultrasonik mesafe sensörü
  • İki ucu erkek jumper kablo
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.

Devre şemamız bu şekilde:

j1o0ZW.png


Devreyle beraber kullanacağımız kodumuz:

Kod:
#define echoPin 6
#define trigPin 7
#define buzzerPin 8
 
int maximumRange = 50;
int minimumRange = 0;
 
**** setup()
{
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
}
 
**** 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);
}
Bu kod sayesinde mesafe sensörümüz 50 cm’ye kadar uzaklıktaki engelleri algıladığında, cismin uzaklığına göre artan sıklıklarla bipleyen bir park sensörü yapmış olacağız.
 
Ü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.