12F683 ile Merkezi Kilit Korna Modülü Yapımı - Jalv2

Başlatan ByTEK, 08 Haziran 2018, 13:27:04

ByTEK

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.



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



Çalışma Videosu



Kaynak : http://www.sercanca.com/modul-merkezi-kilit-korna-modulu-yapimi/