Arduino Hareket Sensör Uygulaması (Arduino PIR Motion Sensor)
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:
- Arduino
- Hareket sensörü
- Led
- Direnç
- 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.
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); } }
Hocam merhabalar. bir hareket sensörü, bir ışık sensörü ve bir led ile photecelli sokak lambası yapmak istiyorum da bunun kodunu nasıl yazacagım ? Mantık şu ; gündüz ve hareket olsun olmasın lambayı yakma, gece hareket yok ise lambayı yakma ve gece hareket var ise lambayı yak
Tekrarlama için açıklama bekliyorum bende sensöre 1 k direnç bağlasam olay çözülür mü ? Yada 13 pin yapsak sensörü . Profesyonel yardım lazım
hareket sensoru ile servo motor kontrolu yapar mısınız?
kodu yazıp derliyorum yükler yüklemez buzzer ötmeye başlıyor. sıkıntı nerede olabilir
Sizdeki buzzer katot olduğundan kaynaklıdır. Yani şemadaki gnd pinin 5v a bağlayın. koddakileri de ters yapmanız lazım
0 ve ya 1. pine bağlıysa buzzer, seri haberleşme de o pinlerden sağlandığı için öter
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 )
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
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
Deniyorum fakat değişiklik gözükmüyor pır sensörünün bozuk olmuş olabilirmi?
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
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
Abi fritzing şemasınıda koyarmısın lütfen
Fritzing dosyasını ekledim