3 Bölge Kontrollü,Şifreli Alarm Sistemi

SerkaN

Üye
Katılım
2 Mar 2006
Mesajlar
195
Puanları
6
Yaş
41
Bu projenin en büyük farkı tek buton ile sifre girilebilmesi. Öğrenciler için iyi bir proje.
Sistemimiz Nelerden Oluşuyor ?

·1 adet PIC16F84A Mikrodenetleyici
·1 adet buton
·6 adet led
·7 adet direnç ( 6 adet 240 W, 1 adet 1 kW )
·2 adet 30 pF kondansatör
·1 adet XT kristal
·1 adet BUZZER


Sistemimiz Nasıl Çalışıyor ?


PIC’e Elektrik geldiği zaman ilk olarak PIC’in çalıştığını gösteren led yanıyor. Sonra sistem butondan gelecek sinyali bekliyor. Butona basılmasıyla beraber şifre girilmesi isteniyor. Şifre, buton ve 4 adet led yardımıyla giriliyor. Şifre için ledler sırayla 2 saniye arayla yanmaya başlıyor, hepsi yandıktan sonra sırayla sönmeye başlıyorlar. Şifreyi doğru girebilmemiz için hangi led yandığında veya sondüğünde basacağımızı bilmemiz gerekiyor.

sifrewqqqq.jpg


Şifrenin hangi led yanınca veya sönünce butona basılıncağını gösteriyor.





Şekil 1’de görülen “ON” ledin yandığını, “OFF” ledi sönük durumda olduğunu gösteriyor. Ok işaretleri ise nerde butona basılması gerektiğini belirtiyor.
Şifre girme işleminden sonra eğer şifre yanlış girilirse başa dönüyor ve butona basılıncaya kadar bekliyor. Butona basılınca tekrar şifre girilmesi isteniyor. Eğer tekrar yanlış girilirse aynı işlemi tekrarlıyor. Eğer 3 defa şifre yanlış girilirse Alarm çalıyor. Alarmı kapatmak için şifrenin sorulması için butona basıldıktan sonra şifreyi doğru girmek gerekiyor. Şifre doğru girilirse alarm susuyor ve sisteme giriş yapılıyor. Sisteme giriş yapıldığını bir led gösteriyor.
Sistemdeyken 3 bölge kontrol ediliyor. Bu bölgeler isteğe göre seçilebilir. Herhangi bir bölgeden “1” işareti gelmezse kontrol sürekli bir döngü içinde yapılıyor. Herhangi bir bölgeden “1” işaretinin gelmesi 3 bölgeden birinin güvenli olmadığını gösteriyor. Bu durumda ise alarm devreye giriyor. Alarmı kapatmak için yeniden şifreyi girmek gerekiyor. Şifre girilince alarm kapanıyor ve sisteme geri dönülüyor.
Sistemden çıkmak için sistemdeyken butona basmak gerekiyor. Butona basılınca sistemden çıkmak için şifre isteniyor. Şifre doğru girildiğinde sistem giriş ledi sönüyor ve sistemden çıkılıyor.


Sistem Devre Şeması

devresema1122.jpg

Sistem Akış Diyagramı ve Açıklamaları

akisdiyag1122.gif

sifrediyag11122.gif

sifrediyag21122.gif





Akış Diyagramındaki Numaralı Kutuların Açıklamaları

Not: Akış diyagramları üzerindeki gri bölümler programın kod kısmındaki adreslemelerin içindeki işlemleri akış diyagramında gruplandırmaktadır.

1: Program Tanımlamaları kutusu program kodu kısmında yapılan çeşitli tanımlamaları kapsamaktadır. Bu tanımlamalar sırasıyla; PIC’in tanıtılması ( LIST ), harici dosyanın çağrılması ( INCLUDE ), bizim tanımladığımız SKB, AKB gibi özel register adreslerinin tanıtılması, program başlangıç ayarları (Kesmelerin kapatılması, OPTION Registerın kapatılması), PIC16F84A’daki giriş ve çıkış pinlerinin tanıtılması, portların ve özel adreslerin sıfırlanması.

2: PORTB’nin 5. biti PIC16F84A’nın çalıştığını gösteren leddir. Sinyal gelip gelmediği bu lede bakılarak anlaşılabilir.
SAYAC = 3” kutusu “ MOVLW h’03’ “ ve “ MOVWF SAYAC “ komutlarını içermektedir. Şifrenin yanlış girilmesi durumunda SAYAC adresindeki değer her hatada 1 azalarak 3 hatadan sonra “0” olur. Bu durumda ALARM devreye girer.

3: Bütün programın akış diyagramını tek sayfada göstermek mümkün olmadığından şifre kısmının akış diyagramlarını temsil etmesi için “SIFRE” kutusu ilave edilmiştir. Bu kutunun sağı şifrenin doğru olarak girilmesi durumunda gidilecek komutları içermektedir. Herhangi bir yerden bu kutuya ‘ok’ gelmesi ise şifrenin girilmesi gerektiğini belirtmektedir. Şifrenin hatalı girilmesi durumunda yapılacak işlemler SIFRE akış diyagramında belirtilmiştir.

4: AKB, özel olarak tanımladığımız bir register adreslemesidir. “Alarm Kontrol Biti” anlamına gelmektedir. Bu adresin son bitine yüklenen sayıyla alarmın çalıp çalmadığı kontrol edilmektedir. Eğer “AKB,0 =1” ise alarm devrede, “AKB,0=0” ise alarm kapalı demektir.

5: SKB, özel olarak tanımladığımız bir register adreslemesidir. “Şifre Kontrol Biti” anlamına gelmektedir. Bu adresin son bitine yüklenen sayıyla sistemin açık olup olmadığı kontrol edilmektedir. Eğer “SKB,0 =1” ise sistem devrede, “AKB,0=0” ise sistem devre dışı demektir.

6: “AKB,0 = 0” ifadesi Alarm Kontrol Bitini sıfırlayarak kontrol yerlerine alarmın kapalı olduğunu iletir. Böylece sistemin düzgün çalışması için gerekli akış izlenmiş olur.

7: “PORTB,0 = 0” ifadesi PORTB’nin 0. bitine yani BUZZER’a sinyal gönderen biti sıfırlar. Bu durumda alarm çalıyorsa alarm kapanır.

8: CKB, özel olarak tanımladığımız bir register adreslemesidir. Sistemde iken çıkmak istenip istenmediğini kontrol eder. “CKB,0 = 0” yapılması kontrol yapılan yere yapılan işlemler arasında çıkış işleminin atlanması gerektiğini ifade eder. Sistemden çıkılırken sıfırlanmalıdır. Çünkü şifre 3 durum için de kullanılmaktadır.
a.) Sisteme girmek b.) Alarmı kapatmak c.) Çıkış yapmak


Bu durumları üçü de aynı yerde sırayla şifrenin doğru girilmesi durumunda kontrol edilmektedir. Çıkarken CKB’nin 0. bitinin sıfırlanmaması durumunda sisteme tekrar girilmek istendiğinde CKB’nin kontrolü sırasında “1” olduğu görülür ve CIKISOK adresine gönderilir. Bundan dolayı giriş işlemi yapılamaz.

9: PORTB’nin 6. biti giriş yapıldığını gösteren leddir. Bu ledin yanıyor olması 3 bölge kontrollerinin açık olduğunu gösterir.

10: 1 sn bekleme giriş yapıldığında giriş ledi yandıktan sonra buton basılı durumda ise butondan elimizi çekmemiz için gerekli olan süredir. Eğer bu süre içinde buton basılı kalırsa sisteme girilir ve çıkış yapılması için komut verilir. Çünkü sistem içindeyken butona basılırsa çıkış yapmak için şifre istenecektir.

11: “SAYAC = 3” kutusu “ MOVLW h’03’ “ ve “ MOVWF SAYAC “ komutlarını içermektedir. Şifrenin yanlış girilmesi durumunda SAYAC adresindeki değer her hatada 1 azalarak 3 hatadan sonra “0” olur. Bu durumda ALARM devreye girer. Burada sisteme girince tekrar SAYAC = 3 yapılmıştır. Çünkü şifre doğru girilerek sisteme girilmesi durumunda 3 hata hakkı tekrar verilmelidir.

12: Sistemdeyken çıkış butonuna basıldığında şifre istenmelidir. Şifre akışı 3 durum için kullanıldığından ( Sisteme girmek, Alarmı kapatmak, Çıkış yapmak ) şifrenin doğru girilmesi durumunda ne istenildiği belirtilmelidir. “CKB,0 = 1” yapılarak şifre akışına gidilir. Böylece şifrenin doğru girilmesi durumunda yapılacak kontrollerde çıkış yapılmak istendiği belirtilmiş olur.

13: SISTEM bölümü 3 ayrı bölgenin çıkış yapılana kadar kontrol edildiği yerdir. Bu bölgelerin herhangi birinden “1” sinyalinin gelmesi durumunda alarm çalacaktır. Alarmın kapanması için şifrenin girilmesi gereklidir. Çıkış yapmak için butona basılmalıdır. Bu durumda şifre istenecek doğru girilmesi durumunda çıkış işlemi yapılmış olacaktır.

14: 1 sn bekleme burada şifre girmek için butona basıldıktan sonra devreye girmektedir. Bu komut işlemin daha açık gerçekleşebilmesi için eklenmiştir.

15: Şifre girme işlemi sırasında ledlerden faydalanılmaktadır. Her ledin yaması ve sönmesi arasında butonun kontrol edilmesi için 2 sn bekleme eklenmiştir. Böylelikle toplam şifre girme işlemi 16 sn’de tamamlanmaktadır.

16: Bu kısımda 3 hata yapılıp yapılmadığı kontrol edilmektedir. SAYAC adresindeki sayı hata sayısını kontrol eder. Her hatada bu adresteki sayıdan 1 çıkarılır ve kontrol edilir ( SAYAC-1 = SAYAC = 0 mı? ) . Sonuç sıfır değilse tekrar şifre istemesi için beklenir. Eğer sonuç sıfırsa alarm çalar çünkü bu adreste en başta yüklü olan sayı ‘3’tür.

17: Bütün akış diyagramını tek sayfada göstermek mümkün olmadığından bu olasılık için gerçekleşmesi gereken durum bu şekilde belirtilmiştir. Bu kutu ile ana program sayfasındaki BASLAT adı verilen yere gidilmesi istenir.

18: Burada istenen ana program sayfasındaki SIFRE kutusuna gidilmesidir.



Alıntıdır
 
tesekkurler serkan
 
başarıların devamını dilerim
 
Bizim evimiz civarındaki hırsızlık olayları iice arttı. Gerçekten çok makbule geçecek Serkan teşekkür ederim.. ;)
 

Forum istatistikleri

Konular
129,832
Mesajlar
930,567
Kullanıcılar
452,656
Son üye
kontrolkalemi355
Geri
Üst