Ö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.
Devre şeması:Malzeme Listesi:Tüm malzemeleri malzeme isimlerine tıklayarak temin edebilirsiniz.Arduino LCD Shield 16x2HC-SR501 PIR - İnsan Hareket Algılama SensörüHeader pinArduino Bluetooth HC05 (ZS-040) Modül Kartı -6 PinBC 238 NPN Transistör220Ω ResistorFL-3FF-S-Z-5V / 5V DC PCB RöleBuzzer400 Point Orta Boy BreadboardArduino UNO R3 (USB Chip CH340) KlonArduino 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(" 0542 343 09 15");
// 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);
}
}