Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => JAL => Konuyu başlatan: ByTEK - 08 Haziran 2018, 13:27:04

Başlık: 12F683 ile Merkezi Kilit Korna Modülü Yapımı - Jalv2
Gönderen: ByTEK - 08 Haziran 2018, 13:27:04
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/