dominoFiber     domiRobot     Forum


Projeler: PIR sensör telefon modülü​

PIR sensör telefon modülü​
Bu yazımızda hareket sensörü hareket algıladığında sensör çıkışındaki veriyi kullanarak sistemin sesli ve görsel uyarı vermesini sağlamakla beraber sistemin android cihaz ile de etkileşimli hale nasıl getirileceğini öğreneceğiz.

Amaç
Hareket sensörü çıkışındaki veriyi kullanarak telefonla etkileşimli ihbar sistemi oluşturmak.

Seviye: Orta seviye

Teknik Özellikler
  • Hareket algılandığında buzzer alarm verir.
  • Ortamda hareket olup olmadığı LCD ekrandan bildirilir.
  • Hareket algılandığında buzzer alarm verir.
  • Buzzer hareket algılama bildiriminde bulunurken istenilen bir telefon numarası aranarak bildirimde bulunulur.
  • Android cihazınız varsa bluetooth üzerinden alarmı susturabilir ya da açabilirsiniz.
  • Proje daha fazla geliştirmeye müsaittir.

Fotoğraf 1: Projeye ait fotoğraf

Fotoğraf 2: Projeye ait fotoğraf

Fotoğraf 3: Projeye ait fotoğraf

Fotoğraf 4: Projeye ait fotoğraf

Şema 1: Arduino devre şeması

Arduino kodu
Kod: [Seç]
/*
     www.domirobot.com
    Bulanıklılık Alarmı
     Aralık 2016
    @2016, All Rights Reserved
    @2016 Tüm Hakları Saklıdır.  */

    #include <LiquidCrystal.h>
    LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
    int lcd_key     = 0;
    int adc_key_in  = 0;
    int sensor_cikisiPin = 3; // sensorun  cikisi D3 pinine baglanir
    int sensor_cikisi=0; // sensor_cikisi isminde değişken tanımlandı
    int telefon = 2; // 2 nolu pine telefon adini verdik
    int buzzer = 13; // 13 nolu pine buzzer adini verdik
    int gelen_bilgi;

void setup()


    pinMode(sensor_cikisi, INPUT); // sensor_cikisi isimli pin (3) giris yapildi
    pinMode(telefon, OUTPUT); // telefon isimli pin (2) cikis yapildi
    pinMode(buzzer, OUTPUT); // buzzer isimli pin (13) cikis yapildi   
    Serial.begin(9600);
    lcd.begin(16, 2);
    lcd.clear(); 
    lcd.setCursor(0,0);
    lcd.print("  PIR  TELEFON  "); 
    lcd.setCursor(0,1);                           
    lcd.print("     MODULU     "); 
    delay(2000); 
    lcd.clear();           
    lcd.setCursor(0,0);
    lcd.print(" domirobot  .com"); 
    delay(2000);
    lcd.clear(); 
    lcd.setCursor(0,0);
    lcd.print("      EKiM"); 
    lcd.setCursor(0,1);                           
    lcd.print("      2016"); 
    delay(2000);   
       
}

void loop()
{

    lcd.clear(); 
    lcd.setCursor(0,0);
    lcd.print("VERiLER");
    lcd.setCursor(0,1);                           
    lcd.print("GUNCELLENiYOR");
    delay(500);
    sensor_cikisi = digitalRead(sensor_cikisiPin);
    digitalWrite(telefon, sensor_cikisi);

if (digitalRead(sensor_cikisiPin) == HIGH)
{

            lcd.clear(); 
            lcd.setCursor(0,0);
            lcd.print(" HAREKET MEVCUT ");
            lcd.setCursor(0,1);                           
            lcd.print("NUMARA  ARANIYOR");         
        // NUMARA ARAMA BILGISI LCD EKRANA YAZDIRILDI

        digitalWrite(telefon, HIGH);   // telefon acildi
        digitalWrite(buzzer, HIGH);   // buzzer devrede       
        delay(2000);
        for (int domirobot = 1; domirobot <= 10;  domirobot ++)
            {
              digitalWrite(telefon, LOW);
              delay(50);
              digitalWrite(telefon, HIGH);
              delay(50);
            }
        delay(250);           
        for (int domirobot = 1; domirobot <= 5;  domirobot ++)
            {
              digitalWrite(telefon, LOW);
              delay(50);
              digitalWrite(telefon, HIGH);
              delay(50);
            }
        delay(250);           
        for (int domirobot = 1; domirobot <= 4;  domirobot ++)
            { 
              digitalWrite(telefon, LOW);
              delay(50);
              digitalWrite(telefon, HIGH);
              delay(50);
            }
        delay(250);           
        for (int domirobot = 1; domirobot <= 4;  domirobot ++)
            { 
              digitalWrite(telefon, LOW);
              delay(50);
              digitalWrite(telefon, HIGH);
              delay(50);
            }
        delay(250);                       
        for (int domirobot = 1; domirobot <= 3;  domirobot ++)
            { 
              digitalWrite(telefon, LOW);
              delay(50);
              digitalWrite(telefon, HIGH);
              delay(50);
            }
        delay(250);           
        for (int domirobot = 1; domirobot <= 4;  domirobot ++)
            { 
              digitalWrite(telefon, LOW);
              delay(50);
              digitalWrite(telefon, HIGH);
              delay(50); 
            }
        delay(250);           
        for (int domirobot = 1; domirobot <= 2;  domirobot ++)
            { 
              digitalWrite(telefon, LOW);
              delay(50);
              digitalWrite(telefon, HIGH);
              delay(50);
            }
        delay(250);           
        for (int domirobot = 1; domirobot <= 10;  domirobot ++)
            { 
              digitalWrite(telefon, LOW);
              delay(50);
              digitalWrite(telefon, HIGH);
              delay(50);
            }
        delay(250);           
        for (int domirobot = 1; domirobot <= 1;  domirobot ++)
            { 
              digitalWrite(telefon, LOW);
              delay(50);
              digitalWrite(telefon, HIGH);
              delay(50); 
            }
        delay(250);           
        for (int domirobot = 1; domirobot <= 3;  domirobot ++)
            { 
              digitalWrite(telefon, LOW);
              delay(50);
              digitalWrite(telefon, HIGH);
              delay(50);
            }
        delay(250);           
        for (int domirobot = 1; domirobot <= 8;  domirobot ++)
            { 
              digitalWrite(telefon, LOW);
              delay(50);
              digitalWrite(telefon, HIGH);
              delay(50);
            }
                   
            lcd.clear(); 
            lcd.setCursor(0,0);
            lcd.print(" NUMARA  ARANDI ");
            lcd.setCursor(0,1);                           
            lcd.print(" 0544 342 01 38");
             
        for (int domirobot = 1; domirobot <= 60;  domirobot ++)   
        {       
        delay(500); // telefonun acik kalma suresi default 1/2 saniye

        if(Serial.available())
          {
            int gelen_bilgi = Serial.read();
            delay(100);
     
            if(gelen_bilgi=='1')
              {
                digitalWrite(buzzer, LOW);   // 13. pindeki buzzeri susturduk
                lcd.clear(); 
                lcd.setCursor(0,0);
                lcd.print("     BUZZER     ");
                lcd.setCursor(0,1);                           
                lcd.print("   DEVRE DISI   ");           
              }
       
            if(gelen_bilgi=='0')
              {
                digitalWrite(buzzer, HIGH);   // 13. pindeki buzzeri susturduk   
                lcd.clear(); 
                lcd.setCursor(0,0);
                lcd.print("     BUZZER     ");
                lcd.setCursor(0,1);                           
                lcd.print("    DEVREDE     ");
              }   
            delay(100);
          } 
        }
       
        digitalWrite(telefon, LOW);   // telefon kapandi
        digitalWrite(buzzer, LOW);   // 13. pindeki buzzeri susturduk 

            lcd.clear(); 
            lcd.setCursor(0,0);
            lcd.print("TELEFON  KAPANDI");
            lcd.setCursor(0,1);                           
            lcd.print(" SiSTEM   RESET ");
            delay(2000);
}

if (digitalRead(sensor_cikisiPin) == LOW)
{
    lcd.begin(16, 2);
    lcd.clear(); 
    lcd.setCursor(0,0);
    lcd.print("  HAREKET  YOK  "); 
    lcd.setCursor(0,1);                           
    lcd.print("  BUZZER PASiF  "); 
    delay(2000); 
}
}

Malzeme listesi
Tüm malzemeleri malzeme isimlerine tıklayarak temin edebilirsiniz.

Download
ihtiyaç duyulması halinde buraya tıklayıp projeye ait dosyalarını indirebilirsiniz.

PIR Sensörü satın al

  • PIR Sensörü<br />Satın AlPIR Sensörü<br />Satın AlPIR Sensörü<br />Satın Al