Ders Notları > Projeler

6. PIR Sensör Kontrollü Çakar Lamba Uygulaması

(1/1)

Hasan ERTÜRK:


Bu dersimizde PIR sensör kontrollü çakar lamba uygulaması yaparken PIR sensör ve röle modülünün de nasıl kullanılacağını öğreneceğiz.

Soru:
Sistemde hareket algılamak üzere 1 adet PIR sensör ve 2 adet lamba bulunmaktadır. PIR sensör hareket algıladığında birinci lamba 250'şer ms aralıklarla 3 defa yanıp sönerken, ikinci lambanın sönük kalması ve birinci lamba 3 kere flash çaktıktan sonra ikinci lambanın 3 kere 250 ms aralıklarla yanıp sönerken birinci lambanın sönük kalması istenmektedir. Bu senarya 6 kere tekrarlanacak ve ortaamdaki hareketlilik sona erdiyse sistem duracaktır. Hareketlilik devam ediyorsa yukarıdaki senarya tekrar uygulamaya sokulacaktır.

Çözüm:
Öncelikle bizden ne istendiğinin net bir şekilde anlaşılması için söz konusu senaryoya ait akış diyagramını hazırlayalım. Daha sonra oluşturduğumuz bu akış diyagramından program yazarken faydalanacağız.



Bu akış diyagramına göre yazılması gereken program şu şekilde olacaktır:
int pir_sensor_cikisi=A0;               // A0 PİNİNE pir_sensor_cikisi ADI VERİLDİ int lamba=0;                            // D0 PİNİNE lamba ADI VERİLDİ int lamba2=1;                           // D1 PİNİNE lamba2 ADI VERİLDİ void setup() {  pinMode(pir_sensor_cikisi, INPUT);    // A0 PİNİ PIR SENSÖRÜNÜ BAĞLAMA AMACIYLA GİRİŞ YAPILDI  pinMode(lamba, OUTPUT);               // D0 PİNİ BİRİNCİ LAMBAYI BAĞLAMA AMACIYLA ÇIKIŞ YAPILDI    pinMode(lamba2, OUTPUT);              // D1 PİNİ İKİNCİ LAMBAYI BAĞLAMA AMACIYLA ÇIKIŞ YAPILDI   } void loop() { // DİKKAT RÖLE SHILD LOW AKTİF ÇALIŞMAKTADIR if (digitalRead(pir_sensor_cikisi) == HIGH ) // PIR SENSOR ÇIKIŞI AKTİF İSE    {    for (int yak_sondur = 1; yak_sondur <= 6;  yak_sondur ++)            {       digitalWrite(lamba, LOW);           // BİRİNCİ LAMBAYI YAK       digitalWrite(lamba2, HIGH);         // İKİNCİ LAMBAYI SÖNDÜR              delay(250);                         // 250ms BEKLE       digitalWrite(lamba, HIGH);          // BİRİNCİ LAMBAYI SÖNDÜR       digitalWrite(lamba2, HIGH);         // İKİNCİ LAMBAYI SÖNDÜR              delay(250);                         // 250ms BEKLE       digitalWrite(lamba, LOW);           // BİRİNCİ LAMBAYI YAK       digitalWrite(lamba2, HIGH);         // İKİNCİ LAMBAYI SÖNDÜR              delay(250);                         // 250ms BEKLE       digitalWrite(lamba, HIGH);          // BİRİNCİ LAMBAYI SÖNDÜR       digitalWrite(lamba2, HIGH);         // İKİNCİ LAMBAYI SÖNDÜR              delay(250);                         // 250ms BEKLE       digitalWrite(lamba, LOW);           // BİRİNCİ LAMBAYI YAK       digitalWrite(lamba2, HIGH);         // İKİNCİ LAMBAYI SÖNDÜR              delay(250);                         // 250ms BEKLE       digitalWrite(lamba, HIGH);          // BİRİNCİ LAMBAYI SÖNDÜR       digitalWrite(lamba2, HIGH);         // İKİNCİ LAMBAYI SÖNDÜR              delay(250);                         // 250ms BEKLE       digitalWrite(lamba, HIGH);          // BİRİNCİ LAMBAYI SÖNDÜR       digitalWrite(lamba2, LOW);          // İKİNCİ LAMBAYI YAK              delay(250);                         // 250ms BEKLE       digitalWrite(lamba, HIGH);          // BİRİNCİ LAMBAYI SÖNDÜR       digitalWrite(lamba2, HIGH);         // İKİNCİ LAMBAYI SÖNDÜR              delay(250);                         // 250ms BEKLE       digitalWrite(lamba, HIGH);          // BİRİNCİ LAMBAYI SÖNDÜR       digitalWrite(lamba2, LOW);          // İKİNCİ LAMBAYI YAK              delay(250);                         // 250ms BEKLE       digitalWrite(lamba, HIGH);          // BİRİNCİ LAMBAYI SÖNDÜR       digitalWrite(lamba2, HIGH);         // İKİNCİ LAMBAYI SÖNDÜR              delay(250);                         // 250ms BEKLE       digitalWrite(lamba, HIGH);          // BİRİNCİ LAMBAYI SÖNDÜR       digitalWrite(lamba2, LOW);          // İKİNCİ LAMBAYI YAK              delay(250);                         // 250ms BEKLE       digitalWrite(lamba, HIGH);          // BİRİNCİ LAMBAYI SÖNDÜR       digitalWrite(lamba2, HIGH);         // İKİNCİ LAMBAYI SÖNDÜR              delay(250);                         // 250ms BEKLE          }     }    else      {       digitalWrite(lamba, HIGH);           // BİRİNCİ LAMBAYI SÖNDÜR       digitalWrite(lamba2, HIGH);          // İKİNCİ LAMBAYI SÖNDÜR          delay(250);                         // 250ms BEKLE          }       }







PIR sensörünün Vcc pini arduinonun 5V pinine ve ya 3,5Volt pinine
PIR sensörünün GND pini arduinonun GND pinine
PIR sensörünün OUT pini arduinonun A0 pinine
Röle modülünün Vcc pini arduinonun 5V pinine
Röle modülünün GND pini arduinonun GND pinine
Röle modülünün IN1 pini arduinonun D0 pinine
Röle modülünün IN2 pini arduinonun D1 pinine bağlanmalıdır.

Ayrıca röle modülünün RL1 ve RL2 çıkışlarına birer lamba bağlanır. Nasıl bağlanacağını bilmeyenler sorabilirler.Yanlış bağlantı yapılması durumunda devrede kullanılan malzemelerin zarar görmesi muhtemeldir.

kamussi:
hocam elinize sağlık çok güzel bir çalışma olmuş emeğinize sağlık

Navigasyon

[0] Mesajlar

There was an error while thanking
Thanking...
Tam sürüme git