Elektrik Elektronik Teknolojisi Alan Temrinleri

 
Hogeldiniz Ziyareti. Ltfen giri yapn veya kayt olun.

Kullanc adnz, ifrenizi ve aktif kalma sresini giriniz

Gnderen Konu: 6. PIR Sensör Kontrollü Çakar Lamba Uygulamasý  (Okunma says 45679 defa)

0 ye ve 1 Ziyareti konuyu incelemekte.

26 Eyll 2015, 21:22:01
<iframe width="640" height="385" src="//www.youtube.com/embed/sa9ofckCLbw?fs=1&start=" frameborder="0" allowfullscreen></iframe>

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.
« Son Dzenleme: 10 Kasm 2016, 00:52:16 Gnderen: Hasan ERTÜRK »


ileti?im: 0542 343 09 15
 

09 Kasm 2016, 22:32:21
Yantla #1
kamussi

leti:

hocam elinize saðlýk çok güzel bir çalýþma olmuþ emeðinize saðlýk