Bu dersimizde arduino ve PIR (hareket) sensörü kullanarak alarm devresi yapmayı öğreneceğiz. PIRsensörü hareket algıladığında isteğe bağlı olarak bir lambayı yakacağız ya da bir sirenin çalmasını sağlayacağız. Sistem aynı zamanda da programda belirlediğimiz bir telefon numarasını otomatik ararayarak daha önce kaydettiğimiz bir sesi dinletecektir.
ISIS Devre şeması
ARES Baskı devresi
Malzeme listesi:
Arduino kodları:
Kaynak: temrinlerim.org
ISIS Devre şeması
ARES Baskı devresi
Malzeme listesi:
Arduino kodları:
Kod:
int hareket_sensoru=A0; // A0 GİRİŞİNE HAREKET SENSÖRÜ İSMİ VERİLDİ
int lamba_rolesi=0; // D0 ÇIKIŞINA LAMBA RÖLESİ ADI VERİLDİ
int telefon_rolesi=1; // D1 ÇIKIŞINA TELEFON RÖLESİ ADI VERİLDİ
int ses_rolesi=2; // D2 ÇIKIŞINA SES RÖLESİ ADI VERİLDİ
int hareket_sensoru_durum=0;
void setup()
{
pinMode(hareket_sensoru, INPUT); // A0 PİNİ GİRİŞ YAPILDI
pinMode(lamba_rolesi, OUTPUT); // D0 PİNİ ÇIKIŞ YAPILDI
pinMode(telefon_rolesi, OUTPUT); // D1 PİNİ ÇIKIŞ YAPILDI
pinMode(ses_rolesi, OUTPUT); // D2 PİNİ ÇIKIŞ YAPILDI
}
void loop()
{
// HAREKET ALGILANDI İSE ŞUNLARI YAP BAŞLADI
if (digitalRead(hareket_sensoru) == HIGH) // HAREKET ALGILANDI İSE ŞUNLARI YAP
{
hareket_sensoru_durum= digitalRead(A0); // A0 GİRİŞİNDEKİ LOJİK SEVİYEYİ OKU
digitalWrite(0, hareket_sensoru_durum); // OKUNAN LOJİK SEVİYEYİ D0 ÇIKIŞINA AKTAR
digitalWrite(1, HIGH); // TELEFON AÇILDI
delay(2000);
// 0 ÇEVİR BAŞLADI
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(500);
// 0 ÇEVİR BİTTİ
// 5 ÇEVİR BAŞLADI
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(500);
// 5 ÇEVİR BİTTİ
// 4 ÇEVİR BAŞLADI
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(500);
// 4 ÇEVİR
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(500);
// 3 ÇEVİR
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(500);
// 4 ÇEVİR BİTTİ
// 4 ÇEVİR BAŞLADI
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(500);
// 4 ÇEVİR BİTTİ
// 2 ÇEVİR BAŞLADI
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(500);
// 2 ÇEVİR BİTTİ
// 0 ÇEVİR BAŞLADI
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(500);
// 0 ÇEVİR BİTTİ
// 1 ÇEVİR BAŞLADI
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(500);
// 1 ÇEVİR BİTTİ
// 3 ÇEVİR BAŞLADI
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(500);
// 3 ÇEVİR BİTTİ
// 8 ÇEVİR BAŞLADI
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(50);
digitalWrite(1, LOW);
delay(50);
digitalWrite(1, HIGH);
delay(500);
// 8 ÇEVİR BİTTİ
// SES GÖNDERİLİYOR
digitalWrite(2, HIGH);
delay(30000);
digitalWrite(2, LOW); // SES KAPATILDI
digitalWrite(1, LOW); // TELEFON KAPANDI
digitalWrite(0, LOW); // LAMBA SÖNDÜRÜLDÜ
}
// HAREKET ALGILANDI İSE ŞUNLARI YAP BİTTİ
}
Kaynak: temrinlerim.org