PIR Sensör Kontrollü Çakar Lamba Uygulaması

bolubeyi

Profesyonel Üye
Katılım
27 Eyl 2008
Mesajlar
1,666
Puanları
421
Yaş
54
Konum
Trabzon

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.

arduino77.jpg


Bu akış diyagramına göre yazılması gereken program şu şekilde olacaktır:
Kod:
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   
  }   
 
}

Bağlantılar:
arduino78.jpg


arduino79.jpg


arduino80.jpg


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.

İhtiyaç olması halinde ide dosyasını (üyelik gerektirir)orjinal konu ekinden indirebilirsiniz.
 

Ekli dosyalar

  • pir_sensor_uygulamasi.ino
    3.5 KB · Görüntüleme: 0
@bolubeyi Hocam elllerinizi sağlık, maliyetleri de yazarsanız sevabınız katlanır diyorum şu modül xx tl şu kart xx tl, yabancıların BOM (bill of materials) açıklaması gibi.
 
@bolubeyi Hocam elllerinizi sağlık, maliyetleri de yazarsanız sevabınız katlanır diyorum şu modül xx tl şu kart xx tl, yabancıların BOM (bill of materials) açıklaması gibi.

Arduinoyu 9 TL ile 80 TL arasında temin edebilirsiniz.
Röle kartını da 5 TL ile 20 TL arasında bir fiyat aralığında temin edebilirsiniz.
PIR sensörünü de 1 TL ile 20 TL arasında bir fiyat aralığında temin edebilirsiniz.
Elektronik malzeme fiyatlarında firmadan firmaya çok büyük fiyat farklılıkları mevcut. Ucuza ya da pahalıya maliyet çıkarmak sizin araştırma yapıp uygun yer ya da yerlerden almanıza ya da araştırma yapmadan rastgele bir satıcıdan almanıza baağlı.
 
@bolubeyi Hocam ben bunu kast etmedim illaki farklı fiyatlar olacak, siz kendi listenizdeki parça fiyatlarınızı yazın, yapmak isteyenler düşleyenler için böyle projelerin çok uçuk paraya olmadığını görsünler. Ha arada bunu burdan daha ucuza alabilirdin ... mesajları elbet olacaktır dikkate almayın, hedefinizden şaşmayın. Bakarsınız emeğinizi ören birileri sponsor olmaya karar verir ne bileyim yeni şirket açan olur size indirimli fiyat verir. Saygılarımla.
 
@bylevent Konuyu tekrar düzenleyim dedim. Dediğiniz gibi malzeme fiyatlarını yazacaktım. Düzenleme yetkisi yok. Sanırım önceden belirlenmiş bir sürenin sonunda kendi konumuzu düzenleyemiyoruz. Oldukça kötü bir durum. İnsanın hevesi kırılıyor böyle durumlarda. Bundan böyle eğer ki bu durum düzeltilmezse kontrolkalemi.com forumlarında konu açmamaya ve yardım istenen destek konularına cevap vermemeye karar verdim. Madem ki bize güvenilmiyor biz de katkı vermeyiz. Bu şekilde düşünüyorum.
 
@bolubeyi Hocam lütfen böyle düşünmeyin mesele güvensizlik değildir diğer tarafta yöneticinin cevapladığı gibi durum kişiler hakaret eder kavga mahkeme durumuna gelir biri çark eder mesajları değiştirir diye ... yeni mesaj yazın ilgili mesajı/mesajları, benimki dahil silinmesini yöneticilerden rica edebilirsiniz, ikna olmazlarsa kendi mesajlarımın silinmesi için başvururum. Konunuz aynen akıp gitsin, lütfen küsmeyin forumda sırtınız çevirmeyin ummadığımız anda birisine iyilik etmiş oluruz ... atalarımızın dediği gibi "iyilik yap denize at" ama ben Çorludayım ve deniz yok ... :) (yüzünüzden gülümseme eksik olmamasını dilerim)
 

Yeni mesajlar

Forum istatistikleri

Konular
127,966
Mesajlar
913,954
Kullanıcılar
449,611
Son üye
ramazansanli@

Yeni konular

Geri
Üst