Arduino Hareket Sensör Uygulaması (Arduino PIR Motion Sensor)

12 14.088

Hareket sensörleri birçok yerde kullanılmaktadır.Otomatik kapıların çalışma prensipleri de bu sensörler sayesinde gerçekleşir.Kullanımı oldukça basittir.Üzerinde üç tane pin bulunuyor bunlar besleme, gnd ve sinyal pinidir.Dijital olarak değer almamızı sağlarlar.Bu projemizde hareket algılandığında buzzerdan alarm verecek ve ledler yanacak.Kısacası aslında basit bir güvenlik sistemi diyebiliriz.Arduino hareket sensör uygulaması projemize başlayalım.

Malzemeler:

  1. Arduino
  2. Hareket sensörü
  3. Led
  4. Direnç
  5. Buzzer

 

Elektronik Kısım:

Fritzing Dosyasını Burdan indirin >>  alarm_devre

Aşağıdaki devre şemasına bakıp bağlantıları yapalım.

alarm_devre

Yazılım Kısmı:

 // Robimek - Robotik Sistemler
int ledPin = 13; // led pin
int inputPin = 2; // hareket sensör sinyal pin
int pirState = LOW; // hareket durumu
int val = 0; // hareket sensöründen okunan değer
int pinSpeaker = 10; //buzzer pin
 
void setup() {
pinMode(ledPin, OUTPUT); //led pin çıkış tanımlama
pinMode(inputPin, INPUT); // hareket sensör pini giriş tanımlama
pinMode(pinSpeaker, OUTPUT);
Serial.begin(9600);
}
 
void loop(){
val = digitalRead(inputPin); // hareket sensöründen değer okuma
if (val == HIGH) { // okunan değer hıgh ise
digitalWrite(ledPin, HIGH); // ledi yak
playTone(300, 160); // alarm çal
delay(150);
 
if (pirState == LOW) { // hareket sensör durumu low ise
Serial.println("Hareket algılandı!");
pirState = HIGH; // Hareket sensör durumunu hıgh yap
}
} else {
digitalWrite(ledPin, LOW); //ledi söndür
playTone(0, 0);
delay(300);
if (pirState == HIGH){ // Hareket sensör durumunu hıgh yap
Serial.println("Hareket yok!");
pirState = LOW;
}
}
}
 
void playTone(long duration, int freq) {
duration *= 1000;
int period = (1.0 / freq) * 1000000;
long elapsed_time = 0;
while (elapsed_time < duration) {
digitalWrite(pinSpeaker,HIGH);
delayMicroseconds(period / 2);
digitalWrite(pinSpeaker, LOW);
delayMicroseconds(period / 2);
elapsed_time += (period);
}
}
 
Bunlar da İlgini Çekebilir

Cevap bırakın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

12 Yorum
  1. Eren

    hareket sensoru ile servo motor kontrolu yapar mısınız?

  2. ahmet

    kodu yazıp derliyorum yükler yüklemez buzzer ötmeye başlıyor. sıkıntı nerede olabilir

    1. Sezgin GÜL

      Sizdeki buzzer katot olduğundan kaynaklıdır. Yani şemadaki gnd pinin 5v a bağlayın. koddakileri de ters yapmanız lazım

    2. Muhittin

      0 ve ya 1. pine bağlıysa buzzer, seri haberleşme de o pinlerden sağlandığı için öter

  3. Hamza sinal

    Kardeşlerim agabi lerim bir ricada buluncam, bir pir hareket sensör ile iki adet nrf24lo1 arasında led di nasıl çalıştıra biliris kodu nasıl yaza biliris bilen varmı ( sinallanis@hotmail.com )

  4. Oğuzcan

    Merhaba;biz bu devreyi kurduk fakat kendi kendine ledi ve Buzzeri yakıp söndürüyor ve bu diğer kişilerin ve başka kişilerin de yapmış olduğu programlar da da aynı sıkıntıyı gösteriyor bu neden acaba yardımci olurmusunuz

    1. Sezgin GÜL

      hareket sensörün hassasiyeti arttırılmış konumda olabilir. üzerinde potlarla ayarlama yapın. 2 tane pot bulunur biri hassasiyeti diğeri ise zamanlayıcıyı simgeler

      1. OĞUZCAN

        Deniyorum fakat değişiklik gözükmüyor pır sensörünün bozuk olmuş olabilirmi?

  5. Mete

    sensörler 2,3,4,5,6 ayaklarında
    lambalar 7,8,9,10,11 ayaklarında

    merdiven üzerinde yerleştirilmiş her basamakta bir tane hareket sensörü ve lamba var

    lamba rastgele yanacak yandığı zaman merdivenin basamağına çıktığımz zaman hareket sensörü aktif olacak ve lambayı kapatacak ve bu 20 kez tekrar edecek yardımcı olursanız sevinirim

  6. Mete

    aynı uygulamayı 5 sensör ve 5 lamba için deniyorum olmuyor rastgele yanan lambaları karşısındaki hareket sensörü ile kapatan bir uygulamayı nasıl kodlarım acaba bayadır uğraşıyorum

  7. Yusuf

    Abi fritzing şemasınıda koyarmısın lütfen

    1. Sezgin GÜL

      Fritzing dosyasını ekledim