PIC16F628A ile Telefon Aramalı Hırsız Alarmı

| Mayıs 13, 2023 Tarihinde güncellendi
PIC16F628A ile Telefon Aramalı Hırsız Alarmı

Telefon Aramalı Hirsiz Alarmı PIC16F628A mikro denetleyicisi üzerine kurulu. Yazılım Picbasic ile hazırlanmış Hazırlayan Mustafa Patan güzel projelerinden biri.. Paylaşım için teşekkürler

PCBway Türkiye PCB Manufacturer PCB Assembly

Telefon Aramalı Hırsız Alarmı Çalıştırma Talimatı

Sisteme ilk enerji verildiğinde alarm kapalı konumdadır. Bu durumda şifre girilerek alarm aktif hale gelebilir. Yanlış tuşa basıldığında “3 bip” sesi duyulur.

Şifre ve telefon numaraları kaydedilmek istendiğinde * ve # tuşlarına aynı anda basılır. İlk basıldığında “tek bip” bırakıldığında ise “üç bip” sesi duyulur. Sıfır ile 9 arası 4 rakam şifre olarak girilir. Her basılan tuştan sonra “bip” sesi duyulur. 4 haneli şifre girildikten sonra “3 bip” duyulur. Bu durumda telefon numaraları sırayla girilir.

Bir telefon numarası en fazla 11 rakam olabilir. Eğer girilecek numara 11 rakamdan küçük ise rakamlar yazıldıktan sonra * ve # tuşlarına aynı anda basılır. Bir telefon numarası girildikten sonra ilk önce “3 bip” duyulur. Sonra da kaçıncı numara ise 1 sn sonra o kadar bipler. Yani 1. telefon nuraması girildiğinde “3 bip”ten sonra “1 bip”, 2. telefon nuraması girildiğinde “3 bip”ten sonra “2 bip”, 3. telefon nuraması girildiğinde “3 bip”ten sonra “3 bip”, 4. telefon nuraması girildiğinde “3 bip”ten sonra “4 bip” duyulur ve girilen rakamlar EEPROM’a kaydedilerek normal konuma geri dönülür.

Normal konumda alarmın aktif hale gelebilmesi için şifre girilmelidir. 4 haneli şifre girildikten sonra alarm ledi yanıp sönmeye başlar ve bip sesleri duyulur. Bu durumda 30 saniye içerisinde alarm aktif hale gelecektir. 30 saniye içerisinde herhangi bir tuşa basılırsa alarm iptal edilebilir. 30 saniye dolduğunda “3 bip” duyulur ve alarm ledi sürekli yakılarak hareket sensörü okuma işlemi başlar.

Hareket sensörü içerisindeki röle kontaklarına karttaki klemensin PIR+ ve PIR- uçları bağlanır. Röle bu uçları kısadevre ettiğinde hareket algılanmış demektir.

Hareket algılandığında cihaz 30 saniye boyunca biplemeye başlar. Bu esnada şifre tuşlanarak alarm susturulabilir. Eğer 30 saniye içerisinde susturulmazsa bazer bir kez uzun bipler ve telefon numaraları sırayla çevrilmeye başlar.

Numaralar çevrilirken numaranın DTMF tonu alarm ledinin flaşlamasıyla görülebilir. Alarm ledi kırpıştırmadan sürekli yandığında ise numara çevrimi bitmiş, karşıdan cevap bekleniyor durumundadır. Telefona cevap verildiğinde telefondan # sesinin DTMF tanu bipleme şeklinde 20 saniye boyunca duyulur.

Alarm ledi sürekli yandığı yani telefona bip sesi gönderildiği durumda şifre girilerek alarm susturulbilir. Alarmın sustuğu şifre girildikten sonra duyulan “3bip” ile anlaşılır.

EEPROM yapısı:

  • 00-03 4 haneli şifre
  • 04-14 11 haneli 1. telefon numarası
  • 15-25 11 haneli 2. telefon numarası
  • 26-36 11 haneli 3. telefon numarası
  • 37-47 11 haneli 4. telefon numarası

Pronenin versiyon 3 bilgileri

Bu devreden önceki versiyonunda röle yerine aynı optocouplerden bir tane daha konarak yapılmıştı. onu ekte yüklüyorum kaynak kod devre şeması ve açık basic kodlarını. tamamen yaptığı iş olarak aynı işi yapıyor tek farkı; keypad yerine küçük butonlarla ve röle yerine optocoupler ile devrenin yapılmış olmasıdır.

Hardware

  • pırsensör girişi olacak bir tane
  • telefon hattından bağımsız olacak
  • telefonu devreye alma için bir çıkış
  • telefon hattına dtmf sinyali göndermek için bir çıkış
  • bir adet open collektör alarm çıkışı
  • bir adet buzzer sesi ikaz olcak
  • bir adet alarm ledi olacak

Software

4 adet 11 haneli telefonu hafızasına alacak bir alarm durumunda önceden tanımlanmış süre dolduğunda bu 4 telefonu arayacak alarm durumunda karşı tarafı 1dakika boyunca çaldıracak telefon çalarken kesik beep sesi ile ikaz verecek bir dakika dolduktan sonra diğer telefonlarıda arayacak 1 kere ve telefonla arama işlevi sona erecek.

Buzzer ikaz çıkışı alarm devreye alındıktan sonra aktif olup 30sn. süre ile çalacak bu süre içerisinde alarm sahibi olay mahallini terk edecek kadar bir süre tanıyacak yani. buzzer ikaz sesi kesildikten sonra alarm tamamen devre girecek

Eve gelince pırdaki hareketten dolayı meydana gelen alarm durumunda ise hemen alarm
çalışmayacak alarmı kapatmak için 30 saniye süre olacak. buzzer ikaz sesi verecek. bu 30 saniye boyunca buzzer ikazı verecek. bu süre içinde sistem kapatılmazsa alarm çalacak.

Alarm devre şeması

pic16f628-telefon-aramali-hirsiz-alarmi

Versiyon 3 picbasic .bas dosyası içeriği

DEFINE OSC 20

BUZZER		VAR	PORTA.0
ALARM_LED	VAR	PORTA.1
ALARM_OUT	VAR	PORTA.2
TEL_ON		VAR	PORTA.3
TEL_AUDIO	VAR	PORTA.4
PIRINPUT	VAR	PORTA.5

ROW2		VAR	PORTB.0
ROW4		VAR	PORTB.1
ROW3		VAR	PORTB.2
COL1		VAR	PORTB.3
COL2		VAR	PORTB.4
COL3		VAR	PORTB.5
ROW1		VAR	PORTB.6

TUS_DONUS	VAR	BYTE
HAFIZA_NO	VAR BYTE
DEGER		VAR BYTE
SANIYE_SAY	VAR BYTE
I			VAR BYTE

;	CMCON=7

	ADCON1=7	; 819 İÇİN
	OPTION_REG=0
		
	OUTPUT	BUZZER
	OUTPUT	ALARM_LED
	OUTPUT	ALARM_OUT
	OUTPUT	TEL_ON
	OUTPUT	TEL_AUDIO
	INPUT	PIRINPUT

	OUTPUT	ROW1
	OUTPUT	ROW2
	OUTPUT	ROW3
	OUTPUT	ROW4
	INPUT 	COL1
	INPUT 	COL2
	INPUT 	COL3

	PORTA=0
	PORTB=0
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA
	HAFIZA_NO=0

MAIN_LOOP:
; ALARM KAPALI DURUMDA
	LOW ALARM_LED
	
	CALL TUSLARI_TARA
	IF TUS_DONUS=12 THEN KAYIT_MENUSU
	IF TUS_DONUS<10 THEN SIFRE_GIR_ALARM_AC	; ŞİFRE GİRİLİP ALARM ÇALIŞTIRILACAK
	
	GOTO MAIN_LOOP

; ---------------------------------------------------
; ŞİFRE GİRİLİP ALARM ÇALIŞTIRILACAK
SIFRE_GIR_ALARM_AC:
	READ 0,HAFIZA_NO	; ŞİFRENİN 1. KARAKTERİ
	IF TUS_DONUS<>HAFIZA_NO THEN ALARM_ACMADAN_CIK
ALARM_AC_1:
	CALL TUSLARI_TARA
	IF TUS_DONUS>9 THEN ALARM_AC_1
	READ 1,HAFIZA_NO	; ŞİFRENİN 2. KARAKTERİ
	IF TUS_DONUS<>HAFIZA_NO THEN ALARM_ACMADAN_CIK
ALARM_AC_2:
	CALL TUSLARI_TARA
	IF TUS_DONUS>9 THEN ALARM_AC_2
	READ 2,HAFIZA_NO	; ŞİFRENİN 3. KARAKTERİ
	IF TUS_DONUS<>HAFIZA_NO THEN ALARM_ACMADAN_CIK
ALARM_AC_3:
	CALL TUSLARI_TARA
	IF TUS_DONUS>9 THEN ALARM_AC_3
	READ 3,HAFIZA_NO	; ŞİFRENİN 4. KARAKTERİ
	IF TUS_DONUS<>HAFIZA_NO THEN ALARM_ACMADAN_CIK
; ALARM DEVREYE ALINIYOR
	GOTO ALARM_DEVREYE_AL:

ALARM_ACMADAN_CIK:
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA
	GOTO MAIN_LOOP
; -----------------------------------
; ALARM 30 SANİYE BEKLENECEK VE DEVREYE ALINACAK
ALARM_DEVREYE_AL:
	FOR HAFIZA_NO=0 TO 50
		TOGGLE ALARM_LED
		CALL ZIRLA
		PAUSE 300
		CALL TUSLARI_TARA
		IF TUS_DONUS<10 THEN     ; BİR TUSA BASILMIS. ALARM İPTAL
			LOW ALARM_LED
			HIGH BUZZER
			GOTO MAIN_LOOP
		ENDIF
	NEXT
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA	; SON UYARI YAPILDI. ALARM ARTIK DEVREDE
					
	HIGH ALARM_LED
HAREKET_BEKLE:	; ALARM AÇIK VE HAREKET GELENE KADAR BURADA BEKLE
	IF PIRINPUT=0 THEN HAREKET_BEKLE
	PAUSE 200
	IF PIRINPUT=1 THEN HAREKET_VAR
	GOTO HAREKET_BEKLE
; ---------------------------------------------------
HAREKET_VAR:
; HAREKET VAR İSE 30 SANİYE BEKLENECEK
; ŞİFRE GİRİLMEZSE ALARM ÇALACAK VE
; TELEFONLAR ARANACAK

	SANIYE_SAY=0
	HAFIZA_NO=0
	
BEKLE_30_SN:
	SANIYE_SAY=SANIYE_SAY+1
	IF SANIYE_SAY>62 THEN GOTO SURE_DOLDU_TEL_ARA
	CALL TUSLARI_TARA
	IF TUS_DONUS<10 THEN	; BİR TUŞA BASILMIŞ
		READ HAFIZA_NO,DEGER
		IF TUS_DONUS=DEGER THEN	; TUS KARAKTERI DOĞRUDUR
			HAFIZA_NO=HAFIZA_NO+1 
		ELSE
			HAFIZA_NO=0
		ENDIF
	ENDIF
	IF HAFIZA_NO>3 THEN MAIN_LOOP ; ŞİFRE DOĞRUDUR. ANA MENUYE GİT
	PAUSE 200
	CALL ZIRLA
	TOGGLE ALARM_LED
	GOTO BEKLE_30_SN	
; ---------------------------------------------
SURE_DOLDU_TEL_ARA:
; 1. TELEFON ARANIYOR
	HIGH ALARM_OUT	; ALARM ÇIKIŞI VER
	
	LOW BUZZER	; BUZZER SÜREKLİ ÇAL
	HIGH TEL_ON		; TELEFON HATTI AÇILDI.
	PAUSE 500	
	HAFIZA_NO=4
	SANIYE_SAY=0	; ŞİFRE İÇİN KULLANILACAK

TEL_1_CEVIR:	
	READ HAFIZA_NO,DEGER
	IF DEGER>9 THEN TEL_1_BITTI
	DTMFOUT TEL_AUDIO, [DEGER]
	HIGH ALARM_LED
	HAFIZA_NO=HAFIZA_NO+1
	IF HAFIZA_NO>14 THEN TEL_1_BITTI
	GOTO TEL_1_CEVIR
TEL_1_BITTI:
	FOR I=0 TO 30  ; 30 SANIYE BOYUNCA
		CALL TUSLARI_TARA
		IF TUS_DONUS<10 THEN	; BİR TUSA BASMIS
			READ SANIYE_SAY,DEGER
			IF DEGER=TUS_DONUS THEN 
				SANIYE_SAY=SANIYE_SAY+1
			ELSE
				SANIYE_SAY=0
			ENDIF
			IF SANIYE_SAY=4 THEN GOTO SIFRE_DOGRU_ALARM_KAPAT
		ENDIF
		HIGH ALARM_LED
		PAUSE 1000	; TEL NO ÇEVRİLDİ. 1 SN BEKLE
		SOUND TEL_AUDIO,[100,10,50,10,100,10] ; BU SESi TELE VER
	NEXT
	LOW TEL_ON	; TEL. KAPAT
	PAUSE 1000

	HIGH TEL_ON		; TELEFON HATTI AÇILDI.
	PAUSE 500	
	HAFIZA_NO=15	; 15-25 arası

TEL_2_CEVIR:
	READ HAFIZA_NO,DEGER
	IF DEGER>9 THEN TEL_2_BITTI
	DTMFOUT TEL_AUDIO, [DEGER]
	HIGH ALARM_LED	
	HAFIZA_NO=HAFIZA_NO+1
	IF HAFIZA_NO>25 THEN TEL_2_BITTI
	GOTO TEL_2_CEVIR
TEL_2_BITTI:
	FOR I=0 TO 30  ; 30 SANIYE BOYUNCA
		CALL TUSLARI_TARA
		IF TUS_DONUS<10 THEN	; BİR TUSA BASMIS
			READ SANIYE_SAY,DEGER
			IF DEGER=TUS_DONUS THEN 
				SANIYE_SAY=SANIYE_SAY+1
			ELSE
				SANIYE_SAY=0
			ENDIF
			IF SANIYE_SAY=4 THEN GOTO SIFRE_DOGRU_ALARM_KAPAT
		ENDIF
		HIGH ALARM_LED
		PAUSE 1000	; TEL NO ÇEVRİLDİ. 1 SN BEKLE
		SOUND TEL_AUDIO,[100,10,50,10,100,10] ; BU SESi TELE VER
	NEXT
	LOW TEL_ON	; TEL. KAPAT
	PAUSE 1000

	HIGH TEL_ON		; TELEFON HATTI AÇILDI.
	PAUSE 500	
	HAFIZA_NO=26	; 26-36 arası

TEL_3_CEVIR:
	READ HAFIZA_NO,DEGER
	IF DEGER>9 THEN TEL_3_BITTI
	DTMFOUT TEL_AUDIO, [DEGER]
	HIGH ALARM_LED
	HAFIZA_NO=HAFIZA_NO+1
	IF HAFIZA_NO>36 THEN TEL_3_BITTI
	GOTO TEL_3_CEVIR
TEL_3_BITTI:
	FOR I=0 TO 30  ; 30 SANIYE BOYUNCA
		CALL TUSLARI_TARA
		IF TUS_DONUS<10 THEN	; BİR TUSA BASMIS
			READ SANIYE_SAY,DEGER
			IF DEGER=TUS_DONUS THEN 
				SANIYE_SAY=SANIYE_SAY+1
			ELSE
				SANIYE_SAY=0
			ENDIF
			IF SANIYE_SAY=4 THEN GOTO SIFRE_DOGRU_ALARM_KAPAT
		ENDIF
		HIGH ALARM_LED
		PAUSE 1000	; TEL NO ÇEVRİLDİ. 1 SN BEKLE
		SOUND TEL_AUDIO,[100,10,50,10,100,10] ; BU SESi TELE VER
	NEXT
	LOW TEL_ON	; TEL. KAPAT
	PAUSE 1000

	HIGH TEL_ON		; TELEFON HATTI AÇILDI.
	PAUSE 500	
	HAFIZA_NO=37	; 37-47 arası

TEL_4_CEVIR:
	READ HAFIZA_NO,DEGER
	IF DEGER>9 THEN TEL_4_BITTI
	DTMFOUT TEL_AUDIO, [DEGER]
	HIGH ALARM_LED
	HAFIZA_NO=HAFIZA_NO+1
	IF HAFIZA_NO>47 THEN TEL_4_BITTI
	GOTO TEL_4_CEVIR
TEL_4_BITTI:
	FOR I=0 TO 30  ; 30 SANIYE BOYUNCA
		CALL TUSLARI_TARA
		IF TUS_DONUS<10 THEN	; BİR TUSA BASMIS
			READ SANIYE_SAY,DEGER
			IF DEGER=TUS_DONUS THEN 
				SANIYE_SAY=SANIYE_SAY+1
			ELSE
				SANIYE_SAY=0
			ENDIF
			IF SANIYE_SAY=4 THEN GOTO SIFRE_DOGRU_ALARM_KAPAT
		ENDIF
		HIGH ALARM_LED
		PAUSE 1000	; TEL NO ÇEVRİLDİ. 1 SN BEKLE
		SOUND TEL_AUDIO,[100,10,50,10,100,10] ; BU SESi TELE VER
	NEXT
	LOW TEL_ON	; TEL. KAPAT
	PAUSE 1000

; 4 TELEFON DA ARANDI
; ŞİFRE GİRİLENE KADAR TEKRAR TEKRAR ARA.

	GOTO SURE_DOLDU_TEL_ARA	

SIFRE_DOGRU_ALARM_KAPAT:
	LOW ALARM_OUT	; ALARM ÇIKIŞI KPALI
	LOW TEL_ON
	LOW TEL_AUDIO
	LOW ALARM_LED
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA
	GOTO MAIN_LOOP
; ---------------------------------------------------
KAYIT_MENUSU:
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA

; İLK OLARAK 4 HANELİ ŞİFRE GİRİLECEK
; ŞİFRE EEPROMUN İLK 4 ADRESİNE YAZILACAK
	HAFIZA_NO=0
KAYIT_TUS_BEKLE:
	CALL TUSLARI_TARA
	IF TUS_DONUS>9 THEN GOTO KAYIT_TUS_BEKLE
	WRITE HAFIZA_NO,TUS_DONUS	; 1. KARAKTER KAYDEDİLDİ
	HAFIZA_NO=HAFIZA_NO+1
	IF HAFIZA_NO<4 THEN KAYIT_TUS_BEKLE
	
; ŞİFRE KAYIT İŞLEMİ BİTTİ
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA
	
; TELEFON NUMARASI - 1 KAYDEDİLECEK
; TELEFON NO UZUNLUĞU MAX. 11 KARAKTER OLACAK
; EEPROM 4-14 ARASI
KAYIT_TEL_BEKLE_1:
	CALL TUSLARI_TARA
	IF TUS_DONUS=12 THEN KAYIT_TEL_BEKLE_1_BITTI
	IF TUS_DONUS>9 THEN GOTO KAYIT_TEL_BEKLE_1
	WRITE HAFIZA_NO,TUS_DONUS
	HAFIZA_NO=HAFIZA_NO+1
	IF HAFIZA_NO<15 THEN KAYIT_TEL_BEKLE_1
KAYIT_TEL_BEKLE_1_BITTI:	; KAYIT 11 KARAKTERDEN KISA KESİLDİ İSE
	IF HAFIZA_NO<15 THEN 	; 11 KARAKTERE KADAR ESKİ KAYDI SİL
		WRITE HAFIZA_NO,255
		HAFIZA_NO=HAFIZA_NO+1
		GOTO KAYIT_TEL_BEKLE_1_BITTI
	ENDIF
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA
	PAUSE 1000
	CALL ZIRLA

; TELEFON NUMARASI - 2 KAYDEDİLECEK
; TELEFON NO UZUNLUĞU MAX. 11 KARAKTER OLACAK
; EEPROM 15-25 ARASI
KAYIT_TEL_BEKLE_2:	
	CALL TUSLARI_TARA
	IF TUS_DONUS=12 THEN KAYIT_TEL_BEKLE_2_BITTI
	IF TUS_DONUS>9 THEN GOTO KAYIT_TEL_BEKLE_2
	WRITE HAFIZA_NO,TUS_DONUS
	HAFIZA_NO=HAFIZA_NO+1
	IF HAFIZA_NO<26 THEN KAYIT_TEL_BEKLE_2
KAYIT_TEL_BEKLE_2_BITTI:	; KAYIT 11 KARAKTERDEN KISA KESİLDİ İSE
	IF HAFIZA_NO<26 THEN 	; 11 KARAKTERE KADAR ESKİ KAYDI SİL
		WRITE HAFIZA_NO,255
		HAFIZA_NO=HAFIZA_NO+1
		GOTO KAYIT_TEL_BEKLE_2_BITTI
	ENDIF
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA
	PAUSE 1000
	CALL ZIRLA
	PAUSE 300
	CALL ZIRLA

; TELEFON NUMARASI - 3 KAYDEDİLECEK
; TELEFON NO UZUNLUĞU MAX. 11 KARAKTER OLACAK
; EEPROM 26-36 ARASI
KAYIT_TEL_BEKLE_3:	
	CALL TUSLARI_TARA
	IF TUS_DONUS=12 THEN KAYIT_TEL_BEKLE_3_BITTI
	IF TUS_DONUS>9 THEN GOTO KAYIT_TEL_BEKLE_3
	WRITE HAFIZA_NO,TUS_DONUS
	HAFIZA_NO=HAFIZA_NO+1
	IF HAFIZA_NO<37 THEN KAYIT_TEL_BEKLE_3
KAYIT_TEL_BEKLE_3_BITTI:	; KAYIT 11 KARAKTERDEN KISA KESİLDİ İSE
	IF HAFIZA_NO<37 THEN 	; 11 KARAKTERE KADAR ESKİ KAYDI SİL
		WRITE HAFIZA_NO,255
		HAFIZA_NO=HAFIZA_NO+1
		GOTO KAYIT_TEL_BEKLE_3_BITTI
	ENDIF
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA
	PAUSE 1000
	CALL ZIRLA
	PAUSE 300
	CALL ZIRLA
	PAUSE 300
	CALL ZIRLA
	
; TELEFON NUMARASI - 4 KAYDEDİLECEK
; TELEFON NO UZUNLUĞU MAX. 11 KARAKTER OLACAK
; EEPROM 37-47 ARASI
KAYIT_TEL_BEKLE_4:	
	CALL TUSLARI_TARA
	IF TUS_DONUS=12 THEN KAYIT_TEL_BEKLE_4_BITTI
	IF TUS_DONUS>9 THEN GOTO KAYIT_TEL_BEKLE_4
	WRITE HAFIZA_NO,TUS_DONUS
	HAFIZA_NO=HAFIZA_NO+1
	IF HAFIZA_NO<48 THEN KAYIT_TEL_BEKLE_4
KAYIT_TEL_BEKLE_4_BITTI:	; KAYIT 11 KARAKTERDEN KISA KESİLDİ İSE
	IF HAFIZA_NO<48 THEN 	; 11 KARAKTERE KADAR ESKİ KAYDI SİL
		WRITE HAFIZA_NO,255
		HAFIZA_NO=HAFIZA_NO+1
		GOTO KAYIT_TEL_BEKLE_4_BITTI
	ENDIF
	CALL ZIRLA
	CALL ZIRLA
	CALL ZIRLA
	PAUSE 1000
	CALL ZIRLA
	PAUSE 300
	CALL ZIRLA
	PAUSE 300
	CALL ZIRLA
	PAUSE 300
	CALL ZIRLA

; KAYIT İŞLEMLERİ TAMAMLANDI
	GOTO MAIN_LOOP
; ---------------------------------------------------
TUSLARI_TARA:
	PAUSE 150
	TUS_DONUS=255
	LOW ROW1
	HIGH ROW2
	HIGH ROW3
	HIGH ROW4
	
	IF COL1=0 THEN TUS_DONUS=1
	IF COL2=0 THEN TUS_DONUS=2
	IF COL3=0 THEN TUS_DONUS=3

	HIGH ROW1
	LOW ROW2
	HIGH ROW3
	HIGH ROW4
	
	IF COL1=0 THEN TUS_DONUS=4
	IF COL2=0 THEN TUS_DONUS=5
	IF COL3=0 THEN TUS_DONUS=6

	HIGH ROW1
	HIGH ROW2
	LOW ROW3
	HIGH ROW4
	
	IF COL1=0 THEN TUS_DONUS=7
	IF COL2=0 THEN TUS_DONUS=8
	IF COL3=0 THEN TUS_DONUS=9

	HIGH ROW1
	HIGH ROW2
	HIGH ROW3
	LOW ROW4
	
	IF COL1=0 THEN TUS_DONUS=10
	IF COL2=0 THEN TUS_DONUS=0
	IF COL3=0 THEN TUS_DONUS=11

; YILDIZ iLE KAREYE AYNI ANDA BASILIRSA
	IF COL1=0 AND COL3=0 THEN TUS_DONUS=12  ; * İLE # AYNI ANDA BASILMIS
	IF TUS_DONUS<13 THEN GOTO TUSA_BASILMIS
	RETURN

TUSA_BASILMIS:
	LOW ROW1
	LOW ROW2
	LOW ROW3
	LOW ROW4
	CALL ZIRLA
TUS_BIRAK:
	HIGH ALARM_LED
	IF (COL1=0 OR COL2=0 OR COL3=0) THEN GOTO TUS_BIRAK
	LOW ALARM_LED
	RETURN

ZIRLA:
	LOW BUZZER
	PAUSE 30
	HIGH BUZZER
	PAUSE 100
	RETURN

END

PIC16F628A ile Telefon Aramalı Hırsız Alarmı güncelleme

telephone-call-burglar-alarm-circuit

microchip-telephone-call-burglar-alarm-circuit

Pic basic yazılım ve proteus pcb, şema ;

pic16f628a-ile-telefon-aramali-hirsiz-alarmi

Şifre-Pass: 320volt.com

Yayım tarihi: 2008/02/09 Etiketler: , , , , , , ,



39 Yorum “PIC16F628A ile Telefon Aramalı Hırsız Alarmı

  1. hakanhakan

    Çok güzel bir devre…Denenmiş ve stabil çalışıyor mu? bu devrede istediğimiz telefon numarasını nasıl atayacağız? (ASM ye baktım anlamadım.)yardımcı olabilirmisiniz?

    CEVAPLA
  2. tamirci_erhantamirci_erhan

    gerçekten çok güzel ce profesyonel bir sistem olmuş emeğine sağlık

    CEVAPLA
  3. umudumud

    devre gercekten calısıomu bu benım ıcın cok onemlı calısıyorsa proje olarak bu devreyı vermek ıstıyorum .

    CEVAPLA
  4. hasanhasan

    Devre çok güzel olmuş eline sağlık kardeşim yalnız sana bir soru sormak istiyorum. Devrenin pır girişine 1 tane pır yerine 6 tane veya 7 tane pır bağlarsak sorun yaşarmıyız acaba devrede herhangi bir sıkıntı olur mu ?

    Cevaplandırırsan sorumu beni çok memnun edersin kardeşim Allaha emanet ol

    CEVAPLA
  5. NibunNibun

    Çalışmıyor arkadaşım :S ben yaptım deveryi programda hatalar var

    CEVAPLA
  6. enesk...enesk...

    nihayet bu devreyi bitirdim ve gayet iyi çalışıyor biraz zorlandığım oldu ama çalıştırmayı başardım ve hocadan 100 ü kaptım :d 320volt’a teşekkürler…

    CEVAPLA
    1. mevsimmevsim

      Arkadaşlar bu devre Postane hattı sabit hatlami çalisiyor yok sa cep telefonu sim kartı bağlayıp caliştirabilirmiyiz teşekürler

      CEVAPLA
  7. uğuruğur

    arkadaşım nasıl çalıştırdın yazda çalıştıramayanlarda faydalansın

    CEVAPLA
  8. MUSTAFA PATANMUSTAFA PATAN

    Devreyi ben bile bu halde toparlayamamıştım. Çalışmayı yaptım ancak dağınık oldu, pc bozuldu vs. derken toparlanamadı. Internette değişik sitelerde değişik zamanlarda atılmış olan verileri bir araya bu kadar güzel getiren gevv arkadaşımızı tebrik ediyor ve başarılarının devamını diliyorum….

    CEVAPLA
  9. EmreEmre

    Merhabalar
    Mustafa Bey bu devreyi yapmak istiyorum. Fakat sizden yardım almak istiyorum mümkünse msn yoluyla konuşabilirsek bana yardımcı olursunuz. (msn adresim ile görüşmeyi uygun bulursanız msn adresimi vereceğim)
    İyi günler…

    CEVAPLA
  10. RamazanRamazan

    Alıntı – Emre :MerhabalarMustafa Bey bu devreyi yapmak istiyorum. Fakat sizden yardım almak istiyorum mümkünse msn yoluyla konuşabilirsek bana yardımcı olursunuz. (msn adresim ile görüşmeyi uygun bulursanız msn adresimi vereceğim)İyi günler…

    sorularını buradan sorarsan herkes bilgilenir. hem sorularına farklı çözümler de bulabilirsin!

    CEVAPLA
  11. By MetinBy Metin

    Selamün aleyküm arkadaşlar. Öncelikle devreyi hazırlayan Mustafa Patan ve bizimle paylaşan gevv arkadaşlarımıza teşekkürler. Benim sorum şu. Bu devrenin sinyal yollayacağı telefon numarasını HEX Konuduna mı yazacağız yoksa devreyi yaptıktan sonra mı tuşlarla yükleyeceğiz?

    CEVAPLA
  12. EmreEmre

    Tel+
    Tel-
    PIR2
    PIR1
    Al_Out-
    Al_Out+
    +12VDC
    GND
    Arkadaşlar bu çıkışların tam olarak nereye bağlanacağını açıklayabilir misiniz?

    CEVAPLA
  13. KomixiKomixi

    Merhabalar arkadaşlar devrenin baskı devresinde bulunan C1 ve C2 nin değerleri ve kristalin değeri yazmamaktadır. Yardımcı olursanız sevinirim.

    CEVAPLA
  14. gevvgevv Yazar

    @Komixi kaynak kod içinde “DEFINE OSC 20” deniyor büyük ihtimal kristal 20mhz c1 ve c2 22pf kullanılabilir

    CEVAPLA
  15. HüseyinHüseyin

    Arkadaşlar az önce hareket sensörü aldım ama 3 bacaklı hangi bacaklarını bağlıyacağız.

    CEVAPLA
  16. MehmetMehmet

    Arkadaşlar bu devreyi yaptım. Güç verdiğimde ışıkların bir tanesi yanıyor. Tuşlara basıyorum hiçbir şekilde ses filan duyulmuyor. Birde Hüseyin arkadaşımın dediği gibi hareket sensörü 3 bacaklı nasıl devreye bağlıyacağız?

    CEVAPLA
  17. RamazanRamazan

    Alıntı – Mehmet :
    Arkadaşlar bu devreyi yaptım. Güç verdiğimde ışıkların bir tanesi yanıyor. Tuşlara basıyorum hiçbir şekilde ses filan duyulmuyor. Birde Hüseyin arkadaşımın dediği gibi hareket sensörü 3 bacaklı nasıl devreye bağlıyacağız?

    baskı devreyi çıkarırken yada bir hata yapmış olabilirsin! baskı devre yollarını kontrol et! bu devreyi bir arkadaşım yaptı çok güzel çalışıyordu!

    CEVAPLA
  18. EmreEmre

    Bu devreyi 3 kere baştan yaptım fakat çalışmıyor. Burada cevaplar çok geç geliyor. Acaba bilgili veya bu devreyi yapmış bir arkadaşımla herhangi bir sohbet sitesi (fac..) veya programıyla (ms..) iletişime geçebilirsem çok sevinirim. Artık bu devreyi çalıştırmak istiyorum…

    CEVAPLA
    1. gevvgevv Yazar

      Paylaşım hakkında yazar dahil kimsenin cevap verme zorunluluğu yok. Yazıda devreyi yapan kişinin site adresi verildi (Mustafa Patan http://www.mustafapatan.com/) sitesine girip iletişim bölümünden sorununuzu bildirebilirsiniz belki cevap verir

      ama unutmayın sadece devreyi yaptım çalışmıyor diyorsunuz böyle bir bildiriye ne tür bir cevap bekliyorsunuz ? yaptığınız devreyi gördükmü ? devrenin altlı üstlü net resimlerini vermelisiniz oluşan sorunlar hakknda detaylı bilgi vermelisiniz.

      İyi çalışmalar

      CEVAPLA
  19. RamazanRamazan

    Devreyi yapıp çalıştıramadıysanız mutlaka bir yerde yanlış yapıyorsunuzdur. Bunu okul zamanı yapan bir arkadaşım var çok güzel çalıştırdı.

    Bu arada bir gün içinde 2 adet cevap alıyorsunuz ki burası forum sitesi değil

    CEVAPLA
  20. mehmetmehmet

    yok arkadaslar ben 2 kez yaptım olmuyor yazılımda bir hata var sanırım

    CEVAPLA
  21. onur karakayaonur karakaya

    iyi akşamlar benim biraz kafam karıştı ve hani biraz açıklarsanız çok sevinirim okul projemin bir kısmında kullanmak istiyorum bu devreyi fakat anlamadığım bi nokta dtmf kod entegresi yok hat trafosu yok ben anlayamadım nasıl arıyor nasıl hattı açıyor :(( biraz yeniyim bu konularda bilgi verirseniz sevinirim iyi akşamlar

    CEVAPLA
  22. Mehmet ÜveyikMehmet Üveyik

    Ben bu devreyi değilde Lazer ışınlı yada Kızıötesi ışınla şifreli güvenlik sistemi yapmak istiyorum ışın kesildiğinde alarm devreye girecek ve belli bir süreye kadar şifre girilmezse alarm ötecek böyle bi devre için yardım edebilecek Kimse Varmı.

    Not: Proje ödevim yapamazsam kalıcam 🙁

    CEVAPLA
  23. çağkan akbörüçağkan akbörü

    arkadaşlar bu devrenin çalışmasıyla alakalı olarak bilgi sahibi olan varmı

    CEVAPLA
  24. mehmet bilgiçmehmet bilgiç

    herkese merhaba. bu devreyi yaptım fakat çalıştıramadım. bdx53 yerine ayak uyumluluğu sağlayarak bd677 kullandım bundan kaynaklanıyor olabilir mi acaba

    CEVAPLA
  25. hamza yiğithamza yiğit

    kardeş ben de yapmayı planlıyorum ama link açılmıyor gerekli şeyleri bana atarmısın

    CEVAPLA
  26. mehmet bilgiçmehmet bilgiç

    herkese tekrar merhaba : ) sayın gevv en son paylaşmış olduğunuz dökümanları pic’e işlediğimde sistem çalıştı çok şükür. fakat telefon bağlantısı nasl olacak acaba kısa bir bilgi veririseniz. mobil mi sabit ev telefonu mu gibi size zahmet

    CEVAPLA
  27. mehmet bilgicmehmet bilgic

    pstn+
    pstn-
    veya
    Tel+
    Tel-
    bağlantısı nasıl olacak acaba. yardim edecek kimse yok mu : /

    CEVAPLA
  28. mehmetmehmet

    internetten biraz bakındım da pstn modülleri varmış. tel+ ve tel- girişlerine bu pstn modülünü bağlayacağız herhalde diye düşünüyorum

    CEVAPLA
    1. gevvgevv Yazar

      PSTN: Sabit Telefon Hattı

      modül kullanmaya gerek yok hat normal numaralı olacak yani sadece adsl olanlardan değil

      CEVAPLA
      1. mehmetmehmet

        cevabınız için çok teşekkür ederim. çok işime yaradı. arama dışında herhangi bir sorunu bulunmayan tam tıkırında çalışan devreyi adsl hatlı telefon hattıma deneme amaçlı takmıştım olmayınca devrede bir hata olduğunu sanmıştım. yarın ilk işim gidip bir yerden internetsiz sabit bir telefon
        hattı bulmak olacak : )

        CEVAPLA
  29. mehmetmehmet

    sayın gevv; ben bu .bas dosyasındaki 30 saniye olan alarm süresinde değişiklik yapmak istiyorum, .bas uzantılı dosyayı microcode studio ile açıp değişikliği yapıp sorunsuz şekilde derlendikten sonra oluşan .hex dosyasını pic’e attığımda çalışmıyor. Normalde sizin paylaştığın v7 deki .hex sorunsuz çalışıyor ama ben derledikten sonra çalışmıyor. Hatta hiç bir değişiklik yapmadan derledikten sonra oluşan .hex dosyası da çalışmıyor. sorun sigorta ayarlarından mı acaba. Yardımcı olabilir misiniz.

    CEVAPLA
  30. hamza yiğithamza yiğit

    bu proje ile ilgili elinizde yazılmış olan bir tez var ise bana atabilirmisiniz çok teşekkür ederim

    CEVAPLA

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir