Merhaba Arkadaşlar,
Merkezi Kilitli arabalar için yaptığım bir korna modülüdür. Ben 12F683 kullandım. İSteğe Bağlı 12F629 veya 12F675 kullanılabilir. Gerekli Yazılımları ve Devre şemalarını kendi blog sitemde paylaştım.
(http://www.sercanca.com/wp-content/uploads/2018/05/1-Mod%C3%BCl-Sema.png)
include 12f629
pragma target clock 4_000_000 -- kristal 4 Mhz
pragma target OSC INTOSC_NOCLKOUT -- dahili OSC
pragma target WDT Disabled -- watchdog Kapalı
pragma target CP Enabled -- Kod Koruma Açık
pragma target CPD Enabled -- Kod Koruma Açık
pragma target MCLR INTERNAL -- mclr kullanılmıyor
enable_digital_io() -- tüm pinler giriş çıkış
-- ------------------------------------------------------
-- Pin Tanımlamaları ve ilk ayarlar
-- ------------------------------------------------------
alias KornaRole is pin_A4
alias TetikSec is pin_A3
alias KapiTetik2 is pin_A2
alias KapiTetik1 is pin_A1
alias Kontak is pin_A0
pin_A4_direction = output -- CIKIS
pin_A3_direction = input -- TETIK-SEC
pin_A2_direction = input -- KAPI-TETIK
pin_A1_direction = input -- KAPI-TETIK
pin_A0_direction = input -- Kontak
KornaRole = False
-- ------------------------------------------------------
-- Bekleme Alt Programı
-- Süre = deger x 1000ms
-- ------------------------------------------------------
procedure bekle(word in deger) is
if deger > 0 then
for deger loop
_usec_delay(1000)
end loop
end if
end procedure
-- ------------------------------------------------------
-- Kapılar Kapatılınca Kornayı TEK Çalar
-- ------------------------------------------------------
procedure KapiKapaninca(byte in sure) is
Bekle(500)
KornaRole = true
Bekle(sure)
KornaRole = false
Bekle(500)
end procedure
-- ------------------------------------------------------
-- Kapılar Acilinca Kornayı CIFT Çalar
-- ------------------------------------------------------
procedure KapilarAcilinca(byte in sure) is
Bekle(500)
KornaRole = true
Bekle(sure)
KornaRole = false
Bekle(sure)
KornaRole = true
Bekle(sure)
KornaRole = false
Bekle(500)
end procedure
-- ------------------------------------------------------
-- Kapıların Durumunu Kontrol Eder
-- ------------------------------------------------------
procedure Kapilari_kontrol_et is
if (KapiTetik1 == TetikSec) & (KapiTetik2 == !TetikSec) then
KapiKapaninca(50)
end if
if (KapiTetik1 == !TetikSec) & (KapiTetik2 == TetikSec) then
KapilarAcilinca(40)
end if
end procedure
forever loop
if Kontak == false then
Kapilari_kontrol_et
else
KornaRole = False
end if
end loop
(http://www.sercanca.com/wp-content/uploads/2018/05/4-yerlesim-plani.png)
Çalışma Videosu
Kaynak : http://www.sercanca.com/modul-merkezi-kilit-korna-modulu-yapimi/