Ceyhun TOPÇUOĞLU Kişisel Web Sitesi

LCD’li Geri Sayım Devresi, Role Ekli [ Pic Basic ]

Öğrenciler için çok iyi olacağını düşündüğüm bir devre paylaşmak istiyorum. Devrenin çalışma mantığı;
Bir süre değeri girerek başlat butonuna bastığımızda geri sayım yapmaya başlıyor süre sonunda bir rolenin bobinlerini enerjilendiriyor. Tüm islemleri eş zamanlı olarak 2×16 LCD’de görebiliyoruz. Ek olarak belirtmek istiyorum süre saniye cinsinden. Geliştirilebilir basit bir proje olduğunu düşünüyorum mesela saniyeyi dakika ve saat cinsinde LCD ye basarak bir geri sayan saat yapılabilir. Ben pic olarak 16F628 kullandım siz 16F84 de kullanabilirsiniz sorun olmaz. Programını ise Pic Basic ile yazdım Programda veya LCD bağlantısında bir sorunla karşılaşanlar sayfanın altındaki yorum bölümünden sorununu aktarabilirler elimden geldiğince hızlı cevap vermeye calışırım.Projenin tüm çizimleri ve programı bana aittir dilediğiniz gibi kaynak göstermek şartıyla kullanabilirsiniz.

gerisay-isisgerisay-ares

 

downloadDevreyi Şemalarını İçin Tıkla

Admin Hakkında
Kocaeli Üniversitesinde Mekatronik Mühendisliği hazırlık sınıfı öğrencisiyim. Nefes Doğa ve Kamp Grubu yöneticisi. #Camping #Vb.net #SolidWorks #PHP #SQL #ComputerSecurity... Ayrıntılı bilgi için tıklayın

  1. halil diyor ki:

    şema iyi sayılır ama sürenin fazla başlaması ve düşürmek içinde çok uzun sürüyor

    • Ceyhun TOPÇUOĞLU diyor ki:

      Açık kaynak kodunu paylaştım gecikmeler ayarlanabilir. Aşağıda ki kod ile de göstermiş olalım;

      LCDOUT $FE,$2,”CEYHUN TOPCUOGLU”
      LCDOUT $FE,$C0,”GERI SAYIM PROJE”
      PAUSE 2000 ‘—–> Burada 2000 ms. bir gecikme ( 1 saniye için 1000 )
      LCDOUT $FE,1

      LCDOUT $FE,$2,”SAYI’yi AYARLA”
      LCDOUT $FE,$C0,”ve BASLAT’a BAS”
      PAUSE 1500 ‘—–> Burada 1500 ms. bir gecikme ( 1 saniye için 1000 )

      süreyi arttırmak ve azaltmak için tanımlanan gecikme 150 ms. İsis de biraz yavaş gibi gözüküyor fakat devreyi kurduğunuzda 150 ms. ideal bir gecikme real de ve Isis’ de hiz farkını göz önünde tutarak 150ms. olarak ayarladım isteyenler şu şekilde değiştirebilir ;

      IF yukari=0 then
      IF SAYI=65534 THEN
      ELSE
      SAYI = SAYI +1
      PAUSE 150 '-----> 150 ms. lik gecikme
      ENDIF
      ENDIF

      IF ASAGI=0 THEN
      IF SAYI=0 THEN
      ELSE
      SAYI=SAYI-1
      PAUSE 150 '-----> 150 ms. lik gecikme
      ENDIF
      ENDIF

  2. ali diyor ki:

    usta bu devrenin örneğin 4 lambayı istediğimiz farklı zamanlarda istediğimiz sanıye-zamanda çalıştırabileceğimiz röleli ve lcd ekranlı bi çalışmanız varmı yoksa her bi lamba için bu devreden 4 adet mi yapmak gerekiyor?

    • Ceyhun TOPÇUOĞLU diyor ki:

      4 tane lambayı tek bir mikroişlemci ile kontrol edebilirsin. Örnek olarak burada ki kodları kullanabilirsin. Hepsine ayrı değişken tanımlayarak sürelerini farklı şekilde ayarlayabilirsin.

  3. Ali diyor ki:

    Merhaba. Oncelikle emeginize saglik. Bu projede BASLA butonuna basildigi anda role cekip, sayim bittiginde role birakmasi icin nasil bir degisiklik yapilabilir? Tesekkurler.

    • Ceyhun TOPÇUOĞLU diyor ki:

      Merhaba.
      GERISAY: etiketinin altına roleyi enerjilendirmek için
      “HIGH LED” komutunu yazın. Böylece geri saymaya başladığı anda role çekmiş olucak.
      daha sonra
      “IF SAYI = 0 THEN”
      komutunun hemen altındaki “HIGH LED” olan satırı “LOW LED” olarak değiştirin. Daha sonra bu döngüyü bulun ;
      IF BASLAT=0 THEN
      SAYI=0
      LOW LED
      GOTO BASLA
      ENDIF

      burada ise “LOW LED” komutunu “HIGH LED” ile değiştirin.
      Kısaca programda Roleyi enerjilendiren portu terslemiş oluyoruz.

Bir Yorum Yazın

Doğrulama Kodu : (Verilen işlemde boş bırakılan yeri doldurun) * Time limit is exhausted. Please reload CAPTCHA.