Manşetler
Anasayfa » Arduino HC-Sr04 – Ultrasonik Sensör – Park Sensörü – 60 –

Arduino HC-Sr04 – Ultrasonik Sensör – Park Sensörü – 60 –

arduino projects

Arduino HC-Sr04 – Ultrasonik Sensör – Park Sensörü ve engel algılama sensörü gibi isimlele anılmaktadır.

Bir çok projede HC-Sr04 tercih edilmektedir. Arduino ile uğraşan ister hobi amaçlı projeler olsun ister profesyonel amaçlı projeler olsun Ultrasonik Sensörler tercih edilebilmektedir.

hc-sr04
hc-sr04

Üzerinde insan kulağının duyamayacağı frekanslarda ses dalgaları yollayan hoparlör ve yine bu ses dalgalarını duyabilen mikrofon sayesinde mesafeleri ölçebilmektedir. 4 metrelik mesafeleri ölçebilen bu sensör 5volt ile çalışabilmekte ve 150mA akım çekmektedir. Az enerji tüketmesi oldukça stabil çalışması projelerde sıklıkla tercih sebebidir.

Teknik özellikleri:

  • Çalışma Voltajı: DC 5V
  • Çektiği Akım: 15 mA
  • Çalışma Frekansı: 40 kHz
  • Maksimum Görme Menzili: 4m
  • Minimum Görme Menzili: 2cm
  • Görme Açısı: 15°
  • Tetik Bacağı Giriş Sinyali: 10 us TTL Darbesi
  • Echo Çıkış Sinyali: Giriş TTL sinyali ve Mesafe Oranı
  • Boyutları: 45mm x 20mm x 15mm

 

Arduin ile kullanabilmek için kütüphanelerden faydalanıldığı gibi kütüphanesiz de kullanılabilen bir sensördür.

hcsr_04_şema_1
1//Görsel İşitsel Teknoloji Kanalı
2//wwww.teknikerler.com
3//Kerim Arı Youtube kanalı HC-Sr04 Kodları - kullanımı örnek Kodları
4 
5 
6 
7byte trigger = 9; // Sensörün Trigger bacağının bağlı olduğu pin
8byte echo = 10; // Sensörün Echo bacağının bağlı olduğu pin
9 
10unsigned long sure; // Echo bacağının kac mikro saniyede aktif olduğunu saklayacak olan değişken
11double Yol;
12double Mesafe;
13 
14 
15void setup() {
16  Serial.begin(9600);
17  pinMode(trigger, OUTPUT); // Sensörün Trigger bacağına gerilim uygulayabilmemiz için OUTPUT yapıyoruz.
18  pinMode(echo, INPUT); // Sensörün Echo bacağındaki gerilimi okuyabilmemiz için INPUT yapıyoruz.
19  Serial.begin(9600);
20   
21}
22void loop()
23{
24  /* Başlangıçta LOW durumda olan trigger bacağına gerilim uygulayıp ardından gerilimi keserek bir ses dalgası
25  oluşturmuş oluyoruz. Bu işlem arasında 10 mikro saniye beklenmenin sebebi HC-SR04'ün en az 10 mikro saniyelik
26  dalgalar ile çalışmasıdır. */
27  digitalWrite(trigger, HIGH);
28  delayMicroseconds(10);
29  digitalWrite(trigger, LOW);
30 
31  // Dalga üretildikten sonra geri yansıyıp Echo bacağının HIGH duruma geçireceği süreyi pulseIn fonksiyonu ile
32  // kaydediyoruz.
33  sure = pulseIn(echo, HIGH);
34 
35  // Aşağıda yapılan süre-mesafe dönüşüm işlemleri yazımızda açıklanmıştır.
36  Yol = (double)sure*0.034;
37  Mesafe = (double)Yol / 2;
38   
39Serial.print("Mesafe:");
40Serial.println(Mesafe); 
41delay(500); 
42}

 

Hc-Sr04 Kullanarak park sensörü örneği yapımı.

hcsr_04_şema_2
hcsr_04_şema_2

 

1//Görsel İşitsel Teknoloji Kanalı
2//wwww.teknikerler.com
3//Kerim Arı Youtube kanalı HC-Sr04 Kodları - kullanımı örnek Kodları
4#include <Wire.h>
5#include <LiquidCrystal_I2C.h>
6LiquidCrystal_I2C lcd(0x3F,16,2);
7 
8byte trigger = 9;
9byte echo = 10;
10 
11unsigned long sure;
12double Yol;
13double Mesafe;
14const int buzzer = 11;
15 
16void setup() {
17  pinMode(trigger, OUTPUT);
18  pinMode(echo, INPUT);
19  Serial.begin(9600);
20   
21  pinMode(buzzer, OUTPUT);
22 
23   
24   lcd.init();      
25  lcd.backlight();
26  lcd.setCursor(1,0);
27  lcd.print("Merhaba Dunya");
28  lcd.setCursor(6,1);
29  lcd.print("GiT");
30  delay(1000);
31  lcd.clear();
32 
33delay(1000);
34 tone(buzzer, 3000, 400);
35 
36   
37}
38void loop()
39{
40   
41  digitalWrite(trigger, HIGH);
42  delayMicroseconds(10);
43  digitalWrite(trigger, LOW);
44 
45  sure = pulseIn(echo, HIGH);
46 
47   
48  Yol = (double)sure*0.034;
49  Mesafe = (double)Yol / 2;
50  
51     
52if (Mesafe >= 400 || Mesafe <= 2)
53  {
54    lcd.clear();
55    lcd.setCursor(3,0);
56    lcd.print("Menzil Disi");
57    Serial.println("menzil dısı");
58    delay(1000);
59     
60  }
61 if(Mesafe <= 20)
62{
63   lcd.clear();
64  lcd.setCursor(0,0);
65  lcd.print("Mesafe:");
66  lcd.print(Mesafe);
67  lcd.print(" cm");
68   lcd.setCursor(0,1);
69  lcd.print("Dikkatli Olun");
70  Serial.println("20den kücük");
71  delay(1000);
72   
73   
74   
75   while(Mesafe <= 10)
76{
77    digitalWrite(trigger, HIGH);
78  delayMicroseconds(10);
79  digitalWrite(trigger, LOW);
80sure = pulseIn(echo, HIGH);
81 
82  
83  Yol = (double)sure*0.034;
84  Mesafe = (double)Yol / 2;
85   
86 
87   
88   lcd.clear();
89  lcd.setCursor(0,0);
90  lcd.print("Mesafe:");
91  lcd.print(Mesafe);
92  lcd.print(" cm");
93   lcd.setCursor(0,1);
94  lcd.print("Durunuz");
95Serial.println("10 dan kücük");
96  map(Mesafe,0,400,4,1);
97 digitalWrite(buzzer,1);
98delay(Mesafe*25);
99digitalWrite(buzzer,0);
100  delay(Mesafe*50);
101if(Mesafe>10)
102break;
103  }
104   
105   
106   
107   
108  }
109 
110     
111 
112   
113  else
114  {
115    
116   Serial.println("else");
117  lcd.setCursor(0,0);
118  lcd.print("Mesafe:");
119  lcd.print(Mesafe);
120  lcd.print(" cm");
121  delay(1000);
122 lcd.clear();
123 
124}
125     
126}

 

ViDEOYU iZLEMEK iÇiN TIKLAYINIZ

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir