Bu projede, pasif bir kızılötesi (PIR, HC-SR501) sensör kullanarak bir hareket algılama alarmı yapacağız.

Arduino hareket sensörü alarmı yapımı

Proje için gerekli malzemeler

  • Arduino uno R3
  • Breadboard
  • HC SR501 PIR sensor
  • LED
  • Buzzer

Birisi PIR sensörünün önüne geçtiğinde, LED yanacak ve buzzer sesli uyarı çalacak şekilde devreyi ayarlayacağız.

Sensördeki iki turuncu potansiyometre iki adet ayarlanabilir ayar olduğunu gösterir. Sensör dik dururken, aşağıdaki resimde gösterildiği gibi, sol potansiyometre, bir şey algılandığında çıktının HIGH olarak ayarlandığını kontrol eder ve 5 ile 200 saniye arasında bu süre ayarlanabilir. Eğer bir LED'i çıkışa taktığımızda, ayara bağlı olarak LED 5 ile 200 saniye arasında yanacaktır. Sağ potansiyometre, algılama aralığını 0 ile 7 metre arasında ayarlar.

Sensör, ısı üreten nesnelerden yayılan kızılötesi radyasyonu tespit ederek çalışır. Sensör içindeki kristal malzeme kızılötesi radyasyonu algılar ve ayarlanmış olduğu değerde bir hareket tespit ettiğinde, sensörün çıkış sinyalini tetikler. Arduino bu çıkışı voltaj olarak okur, böylece bir şeyi aktif etmek için basit bir anahtar olarak kullanabiliriz - bu durumda bir LED olabilir.

Devre şeması

Arduino IDE Kodları

Devre, Arduino pin 13'ü LED için çıkış, pin 2'yi PIR sensörü için giriş olarak ve 10 pinini piezo zili için çıkış olarak ayarlayarak çalışır. PIR sensörü tetiklendiğinde, Arduino'ya HIGH bir sinyal gönderilir, bu da LED'i yakar ve piezo zilinde bir ton çalar.

int pirdurum = LOW; 
int deger = 0;

void setup() {
pinMode(13, OUTPUT);
pinMode(2, INPUT); // PIR sensörü
pinMode(10, OUTPUT);
Serial.begin(9600);  }

void loop() {
deger = digitalRead(2);
if (deger == HIGH) { 
  digitalWrite(13, HIGH);
  uyarical(300, 160);
  delay(150);
    if (pirdurum == LOW) {
      Serial.println("Hareket algılandı!");
      pirdurum = HIGH;
    }
} else {
  digitalWrite(13, LOW);
  uyarical(0, 0);
  delay(300);
    if (pirdurum == HIGH) {
      Serial.println("Hareket yok!");
      pirdurum = LOW;
    }
}
}

void uyarical(long sure, int freq) {
sure *= 1000;
int period = (1.0 / freq) * 1000000;
long gecen_zaman = 0;
while (gecen_zaman < sure) {
  digitalWrite(10, HIGH);
  delayMicroseconds(period / 2);
  digitalWrite(10, LOW);
  delayMicroseconds(period / 2);
  gecen_zaman += (period);
}
}
  • Yazı Etiketleri :
  • PIR sensörü kullanımı
  • HC SR501
Arduino engelden kaçan araba yapımı
Yazıyı Oku

Arduino engelden kaçan araba yapımı

4WD bluetooth kontrollü araba yapımı - arduino
Yazıyı Oku

4WD bluetooth kontrollü araba yapımı - arduino

Arduino nem ve sıcaklık değerini lcd ekrana yazdıralım
Yazıyı Oku

Arduino nem ve sıcaklık değerini lcd ekrana yazdıralım

Arduino ile keypadli giriş sistemi yapımı
Yazıyı Oku

Arduino ile keypadli giriş sistemi yapımı

Arduino iki butonla iki led kontrolü (mblock 5)
Yazıyı Oku

Arduino iki butonla iki led kontrolü (mblock 5)

Arduino davetsiz misafiri haber veren proje (hc-sr04)
Yazıyı Oku

Arduino davetsiz misafiri haber veren proje (hc-sr04)

Menu