Elektrik Elektronik Teknolojisi Alanı Temrinleri

 
Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz

Gönderen Konu: 13. PIR sensor telefon modülü  (Okunma sayısı 379 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

15 Ekim 2016, 21:46:49
Çevrimiçi Hasan ERTÜRK
*
İleti: 498
Karma 3
Profili Görüntüle Spina Bifida 
Özellikleri:
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.

<iframe width="640" height="385" src="//www.youtube.com/embed/yVGLpLn9eFM?fs=1&start=" frameborder="0" allowfullscreen></iframe>









Devre şeması:


Malzeme Listesi:
Tüm malzemeleri malzeme isimlerine tıklayarak temin edebilirsiniz.
Arduino LCD Shield 16x2
HC-SR501 PIR - İnsan Hareket Algılama Sensörü
Header pin
Arduino Bluetooth HC05 (ZS-040) Modül Kartı -6 Pin
BC 238 NPN Transistör
220Ω Resistor
FL-3FF-S-Z-5V / 5V DC PCB Röle
Buzzer
400 Point Orta Boy Breadboard
Arduino UNO R3 (USB Chip CH340) Klon

Arduino kodları:
                          /*
   *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *                                         
   *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  
   *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  
   *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  
   *  *  *  *                          *  *  *  *
   *  *  *  *       DOMIROBOT.COM      *  *  *  *
   *  *  *  *      TEMRINLERIM.ORG     *  *  *  *
   *  *  *  *      ORTAK YAPIMIDIR     *  *  *  *
   *  *  *  *    PIR TELEFON MODULU    *  *  *  *
   *  *  *  *        EKIM 2016         *  *  *  *
   *  *  *  *                          *  *  *  *  
   *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  
   *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  
   *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  
   *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  
                           */  

//  LIKID KRISTAL KUTUPHANESİ EKLENIYOR
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
    int lcd_key     = 0;
    int adc_key_in  = 0;
//  LIKID KRISTAL KUTUPHANESİ EKLENMESI TAMAMLANDI

//  GIRIS VERILERINE AIT TANIMLAMA KODLARI BASLADI 
    int sensor_cikisiPin = 3; // sensorun  cikisi D3 pinine baglanir
    int sensor_cikisi=0; // sensor_cikisi isminde değişken tanımlandı
//  GIRIS VERILERINE AIT TANIMLAMA KODLARI BITTI  

//  CIKIS TANIMLAMALARI BURADA BASLADI
    int telefon = 2; // 2 nolu pine telefon adini verdik
    int buzzer = 13; // 13 nolu pine buzzer adini verdik
//  CIKIS TANIMLAMALARI BURADA BITTI

//  SUSTUR TANIMLAMALARI BURADA BASLADI
    int gelen_bilgi;
//  SUSTUR TANIMLAMALARI BURADA BITTI

void setup() 
{  
    //  PINMODE TANIMLAMALARI BURADA BASLADI    
    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); 
    //  PINMODE TANIMLAMALARI BURADA BASLADI  

    //  ACILIS EKRANI BILGILENDIRMELERİ BURADA BASLADI
    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");  
    lcd.setCursor(0,1);                            
    lcd.print("temrinlerim .org"); 
    delay(2000); 
    lcd.clear();  
    lcd.setCursor(0,0);
    lcd.print("     ORTAK");  
    lcd.setCursor(0,1);                            
    lcd.print("   YAPIMIDIR");  
    delay(2000);   
    lcd.clear();  
    lcd.setCursor(0,0);
    lcd.print("      EKiM");  
    lcd.setCursor(0,1);                            
    lcd.print("      2016");  
    delay(2000);   
    //  ACILIS EKRANI BILGILENDIRMELERİ BURADA SONA ERDI         
}

void loop() 
{
    // DONGU BASLANGIC KODLARI
    lcd.clear();  
    lcd.setCursor(0,0);
    lcd.print("VERiLER"); 
    lcd.setCursor(0,1);                            
    lcd.print("GUNCELLENiYOR"); 
    delay(500);
    // DONGU BASLANGIC KODLARI TAMAMLANDI

    // SENSORDEKI VERI OKUNUP CIKISA AKTARILIYOR
    sensor_cikisi = digitalRead(sensor_cikisiPin);
    digitalWrite(telefon, sensor_cikisi);
    // SENSORDEKI VERI OKUNUP CIKISA AKTARILDI

if (digitalRead(sensor_cikisiPin) == HIGH) 
{
   
    // TELEFON ACMA KODLARI BURADA BASLADI
      
        // NUMARA ARAMA BILGISI LCD EKRANA YAZDIRILIYOR
            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); 
            }
                    
        // ARAMA SONUCU LCD EKRANA YAZDIRILIYOR
            lcd.clear();  
            lcd.setCursor(0,0);
            lcd.print(" NUMARA  ARANDI "); 
            lcd.setCursor(0,1);                            
            lcd.print(" 0544 342 01 38"); 
        // ARAMA SONUCU LCD EKRANA YAZDIRILDI  
              
        for (int domirobot = 1; domirobot <= 60;  domirobot ++)   
        {        
        delay(500); // telefonun acik kalma suresi default 1/2 saniye 
        // ALARMI SUSTURMA KODLARI BURADA BASLADI 
        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); 
          }  
    // ALARMI SUSTURMA KODLARI BURADA SONA ERDI 
        }
        
        digitalWrite(telefon, LOW);   // telefon kapandi

        digitalWrite(buzzer, LOW);   // 13. pindeki buzzeri susturduk  

        // TELEFON KAPANMA BILGISI LCD EKRANA YAZDIRILIYOR
            lcd.clear();  
            lcd.setCursor(0,0);
            lcd.print("TELEFON  KAPANDI"); 
            lcd.setCursor(0,1);                            
            lcd.print(" SiSTEM   RESET "); 
            delay(2000); 
        // TELEFON KAPANMA BILGISI  LCD EKRANA YAZDIRILDI          

    // TELEFON ACMA KODLARI BURADA SONA ERDI  


}

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);  
}
}


« Son Düzenleme: 05 Nisan 2017, 21:20:28 Gönderen: Hasan ERTÜRK »