Arduino ile geliştirilmiş açık kaynak kodlu bir hırsız alarmı projesidir. Ultrasonik mesafe ölçüm teknolojisini esas alır. Amaç gece eve giren davetsiz misafirlerin tespitinin yapılabilmesi, caydırıcılık sağlanması ve ev halkına hırsız olduğunu bildirmektir.
Dikkat !!! Cihaz ultrasonik mesafe ölçümü teknolojisini kullandığından doğru yerleştirilmediği taktirde evcil hayvanlara bile duyarlı hale gelebilir.
Dosyalar
Proje içerisinde temel olarak iki adet dosya vardır. Bunlardan ilki olan hirsiz.ino dosyası Arduino’nun içerisine entegre edilmesi gereken dosyadır. İkinci önemli dosya ise devre.jpg dosyasıdır. Bu dosyada projenin devre şeması açık bir şekilde belirtilmiştir.
Malzemeler
- 1 Adet Arduino Uno
- 1 Adet HC-SR04 Ultrasonik Mesafe Ölçer
- 1 Adet Buzzer
- 1 Adet USB TypeB to TypeA conventer
- 1 Adet Powerbank veya Telefon şarj cihazı
- 1 Adet Mini Boy Breadboard
- Çeşitli sayıda Erkek-Erkek Jumper Kablo
Değişkenler
Tüm değişkenler kod içerisinde ayrıntılı bir biçimde verilmiştir.
int trigPin = 4; // Ultrasonik Sensör Trig Pininin Bağlı Olduğu Yer
int echoPin = 3; // Ultrasonik Sensör Echo Pininin Bağlı Olduğu Yer
int buzzer = 2; // Buzzerin Bağlı Olduğu Pinlong zaman;
long mesafe;
long ilk;
int calmasuresi;void setup(){
pinMode(trigPin, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(echoPin,INPUT);
Serial.begin(9600); // Seri Haberleşme Başlattık
/* Kalibrasyon İçin İlk Ölçüm Yapıldı */
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
zaman = pulseIn(echoPin, HIGH);
ilk= (zaman /29.1)/2; // Ölçülen Süreyi Ses Hızından Yararlanarak Saniyeye Çevirdik
ilk = ilk – 10; // Ufak çaplı sapmalar için 10cm lik bir pay oluşturdukcalmasuresi = 3000; // Buzzerin kaç saniye çalacağını gösterir. 1 saniye = 1000 olacak şekilde ayarlanabilir.
}
void loop()
{
/* Döngü Ölçümleri */
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
zaman = pulseIn(echoPin, HIGH);
mesafe= (zaman /29.1)/2;
Serial.print(“Uzaklik “);
Serial.print(mesafe);
Serial.println(” cm”);
if (ilk > mesafe) {digitalWrite(buzzer, HIGH); delay(calmasuresi); digitalWrite(buzzer, LOW);} // Eğer kalibrasyonun hata toleransı aşılırsa zili çalma süresi boyunca çaldelay(50);
}