KAÇAK GAZ & YANGIN ALARMI PROJESİ - Elektrik Elektronik Projeleri

Post Top Ad

17 Şubat 2015 Salı

KAÇAK GAZ & YANGIN ALARMI PROJESİ

   Bu projemizde Duman Sensörü kullanılarak PIC kontrollü alarm devresi yapılmıştır.

Devre Şeması:


    Duman sensörünün çıkışını lojik olarak düşünebiliriz. Yani duman algılandığında lojik-1 normal durumda lojik-0 dır. Bunu proteus programında bir switch kullanarak sağladık.

PROGRAM C KODU

/**********************************************************************************
  ******************* DUMAN & KAÇAK GAZ ALGILAMA PROJESİ ************************
    *************************** MUSTAFA AKBAŞ *********************************
      **********************************************************************/
      
#include <16f628A.h>
#fuses NOPROTECT,NOBROWNOUT,NOLVP,NOMCLR,NOPUT,NOCPD,NOWDT,INTRC_IO
#use delay(clock=4000000) // Çalışma frekansı 4MHz
#use fast_io(a) //Port yönlendirme komutları A portu için geçerli
#use fast_io(b) //Port yönlendirme komutları B portu için geçerli
#include <benim_lcd.c> //benim-lcd kütüphanesi çağırılıyor
#include <TONES.c>
int k,i; // i ve k isimli byte cinsinden değişken belirleniyor
   //=====================================================================

void main()          //Ana Program başlangıcı
{
set_tris_a(0xff);    // A portu komple giriş
set_tris_b(0x00);    // B portu komple çıkış
//***********************************   
   k=0;                                //k değişkeninin içeriği sıfırlanıyor
   delay_ms(300);                      // 300ms gecikme
   lcd_hazirla();                      //LCD hazırlanıyor (benim.LCDkütüphanesine gidiyor, imleç 1.satır 1. sütuna konumlanıyor)
   printf(lcd_veri," FIRAT   ");       //Tırnak içindekiler LCD ekranda yazılıyor
   lcd_imlec(2,1);                     //İmleç 2. satırın birinci sütununa konumlanıyor
   printf(lcd_veri," UNIVERSITESI");   //Tırnak içindekiler LCD ekranda yazılıyor
   delay_ms(2000);                     //1 sn. gecikme
   lcd_komut(0x01);                    //LCD temizleyip ve imleç 1. satır 1.sütuna konumalnıyor
   printf(lcd_veri," YANGIN ALARMI");  //Tırnak içindekiler LCD ekranda yazılıyor
   lcd_imlec(2,1);                     //İmleç 2. satırın birinci sütununa konumlanıyor
   printf(lcd_veri,"   PROJESI");      //Tırnak içindekiler LCD ekranda yazılıyor
   delay_ms(2000);                     //1 sn. gecikme
   lcd_komut(0x01);                    //LCD temizleyip ve imleç 1. satır 1.sütuna konumalnıyor
   printf(lcd_veri,"MUSTAFA AKBAS");   //Tırnak içindekiler LCD ekranda yazılıyor
   delay_ms(2000);                     //1 sn. gecikme
   lcd_komut(0x01);                    //LCD temizleyip ve imleç 1. satır 1.sütuna konumalnıyor
   printf(lcd_veri,"     HAZIR....");  //Tırnak içindekiler LCD ekranda yazılıyor

//*****************************************************   
basla:
if(input(pin_a4)) // Butona basıldımı
{
output_high(pin_b0); // B0 high, yani röle çeker
delay_ms(1000);      // 1 sn bekle
output_low(pin_b0);  //B0 low yani röle bırakır
}
if (!input(pin_a0)) // A0 low olmuşsa yani 1 Nolu bölgede yangın varsa
{
k=1;
goto alarm; // Alarm'a git
}
if (!input(pin_a1)) // A1 low olmuşsa yani 2 nolu bölgede yangın varsa
{
k=2;
goto alarm;
}
goto basla; //Başla'ya git
//****************************************
alarm:
   lcd_komut(0x01);// displayi sil ve 1.satır - 1.sutuna getir
   printf(lcd_veri," YANGIN VAR.!!!!!!");
   lcd_imlec(2,1);
   printf(lcd_veri,"\%d NOLU BOLGE",k);

if(input(pin_a4))// A4 high olmuşsa yani reset butonuna basılmışsa

{
output_high(pin_b0); // B0 high, yani röle çeker
lcd_komut(0x01);// displayi sil ve 1.satır - 1.sutuna getir
printf(lcd_veri,"RESETLENIYOR...");
delay_ms(1500);
lcd_komut(0x01);// displayi sil ve 1.satır - 1.sutuna getir
printf(lcd_veri,"     HAZIR....");
output_low(pin_b0); //B0 low, yani röle bırakır
goto basla;
}

else  //A4 high olmamışsa yani reset butonuna basılmamışsa
{
generate_tone(800,1000); //800Hz 1sn süreyle ses çıkarır
delay_ms(500); //500 ms bekle
goto alarm;
}
}

Proje dosyalarını buradan indirebilirsiniz... 

1 yorum:

  1. paylaşımınız için teşekkür ederim.
    duman sensörü olarak kullandığınız sensörün adı nedir?

    YanıtlaSil

Post Top Ad