Kategori:
Ardunio
Başlık:
Basit Park Sensörü

Ardunio ile yapılabilecek şeyler aklınızın sınırlarına bağlı. Günlük yaşamda gördüğümüz pek çok teknoloji aslında aslında nasıl yapıldığını anladığımızda "bu muymuş?" diyeceğimiz türden. Araçlarda kullanılan park sensörü de bunlardan birisi. Aşağıdaki örnekte önce fritzingte oluşturulan devre şeması ardından kullanılan malzemeler ve kaynak kod verilecektir.

Bu projede amaç  ultrasonik mesafe sensörüyle bir cisim algılandığında 20 cm den itibaren buzzerdan ses çıkarmaktır. Mesafe yakınlaştıkça daha sık aralıklarla ses çıkacaktır. Aşağıda verilen kayank kodda istenilen değişiklikler yapılarak istenen mesafe ve ses aralıkları ayarlanabilir

Projenin Şeması

Kullanılan Malzemeler

  • Ardunio Uno
  • HC-SR04
  • Buzzer 
  • Breadboard
  • Jumper kablolar

Kaynak Kod

byte trigger = 10; //Ultrasonik mesafe sensörünün trigger bacağının bağlı olduğu pin
byte echo = 11; //Ultrasonik mesafe sensörünün echo bacağının bağlı olduğu pin
int buzzerpin = 2; //Buzzerin bağlı olduğu pin
unsigned long sure; // Echo bacağının kac mikro saniyede aktif olduğunu saklayacak olan değişken 
double toplamYol; 
int aradakiMesafe; 
void setup() {
  pinMode(trigger, OUTPUT); // Sensörün Trigger bacağına gerilim uygulayabilmemiz için OUTPUT yapıyoruz.
  pinMode(echo, INPUT); // Sensörün Echo bacağındaki gerilimi okuyabilmemiz için INPUT yapıyoruz.
  pinMode(buzzerPin, OUTPUT); //Buzzerı çaldırabilmek için OUTPUT yapıyoruz
  Serial.begin(9600); 
}
void loop()
{
  digitalWrite(trigger, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigger, LOW);
  // Ses dalgasının Echo bacağına ulaşıp HIGH duruma geçireceği süreyi pulseIn fonksiyonu ile  kaydediyoruz
  sure = pulseIn(echo, HIGH);
  // süre-mesafe dönüşüm işlemleri yapılıyor
  toplamYol = (double)sure*0.034;
  aradakiMesafe = toplamYol / 2;
  Serial.print("HC-SR04 ile karsisindaki yuzey arasindaki mesafe :");
  Serial.print(aradakiMesafe);
  Serial.println("cm.");
  sec_calma();
  delay(500);
}
void sec_calma()
{
if(aradakiMesafe <= 4)    // Aradaki mesafe 4 cmden küçük ise sürekli ses çalacak
  {
      digitalWrite(buzzerPin,HIGH); //Buzzera güç göndererek ses çıkarmasını sağladık.
     delay(100);                 
  }
else if(aradakiMesafe >= 5 && aradakiMesafe < 8)
  {
     digitalWrite(buzzerPin,HIGH);
     delay(100);              
     digitalWrite(buzzerPin,LOW); 
     delay(100);  // 5-8 cm arası 0,1 saniye aralıkla ötecek
  }
  else if(aradakiMesafe >= 8 && aradakiMesafe < 10)
  {
     digitalWrite(buzzerPin,HIGH); 
     delay(100);             
     digitalWrite(buzzerPin,LOW);   
     delay(400); // 8-10 cm arası 0,4 saniye aralıkla ötecek
  }
  else if(aradakiMesafe >= 10 && aradakiMesafe < 15)
  {
     digitalWrite(buzzerPin,HIGH); 
     delay(100);                 
     digitalWrite(buzzerPin,LOW); 
     delay(800);  // 10-15 cm arası 0,8 saniye aralıkla ötecek
  }
 else if(aradakiMesafe >= 15 && aradakiMesafe < 20)
  {
     digitalWrite(buzzerPin,HIGH);
     delay(100);                 
     digitalWrite(buzzerPin,LOW); 
     delay(1000);   // 15-20 cm arası 0,8 saniye aralıkla ötecek
  }
}
547 views
YORUMLAR