| | #51 (mesaj-linki) | |
| Cvp: Hobby Elektronik DevrelerJal ile Programlı Pic 16F628'li LCD Göstergeli 0-999999 İleri Sayıcı Bu devre LCD ekranlı 0-999999 tur sayma işlemlerinde kullanılmak üzere tasarlanmıştır. İleri doğru sayma işlemini gerçekleştirir. Sayım aralığı yeterince geniştir. 0'dan başlayarak 999999'a kadar yani 1 milyona kadar sayıma ihtiyaç duyulan yerlerde kullanılabilir. Devrenin JAL ile yapılan programında gerekli düzenlemeler yapılarak bu aralık daha da arttırılabileceği gibi azaltılabilir de. Devre donanımsal olarak PIC 16F628 kullanılarak tasarlandığından dahili kristal kullanılmış ve malzeme sayısı olabilecek en az seviyede tutulmuştur. Devrenin çalışması ve yapısı: Devre temel olarak 1 adet PIC16F628, 1 adet LCD ekran ve sayımı (aynı zamanda PIC16F628'i) resetlemek amacıyla RESET butonundan oluşmaktadır. Bu minimum donanım yapısıyla devre girişine bağlanan lojik palsları sorunsuz olarak saymaktadır. Girişe uyguladığımız palsların frekans değerleri itibariyle 75 Hz frekansa kadar sorunsuz sayma işlemini gerçekleştirmiştir. 100Hz vaya daha yukarısındaki frekansta, saymada hatalar meydana gelmiş ve yanlış değerleri göstermeye başlamıştır. Ama yine de bizim tavsiyemiz uygulanacak frekansın 50 Hz'i geçmemesidir. Sayıcı devrenin girişine buton veya anahtar gibi kontak yapma özellikleri olan malzemeler kullanılırsa, bu malzemelerin çalışması esnasında oluşacak arkları söndürmeye yönelik herhangi bir yazılımsal veya donanımsal çalışma yapılmamıştır. Yapılan testlerde kullanılan buton ve direncin kondansatörlerle desteklenmesi büyük ölçüde yeterli olmuştur fakat sorunu çözmekte yetersizlikleri görülmüştür. Devrede kullanılan LCD gösterge, iki yollu 32 karakter olarak kullanılmıştır. 16X2 LCD ekranlarda kullanılabilir. RESET butonu ise PIC16F628 mikroişlemcilsini ve sayılan değerleri sıfırlamak amacıyla kullanılmaktadır. Devredenin PIC16F628 mikrokontrolör yazılımında sayıcı olarak TIMER-0 zamanlayıcı/sayıcı'sı kullanılmıştır. Bu zamanlayıcı/sayıcı özelliklerine kısaca bakacak olursak; 8 bitlik bir zamanlayıcı/sayıcıdır. 0-255 arası sayabilir. TMR0 özel amaçlı saklayıcısı ile bu zamanlayıcının değeri okunabilir veya bu saklayıcıya veri yazılabilir. 8 bitlik ön bölücü kullanılarak zamanlama süresi/sayma miktarı ayarlanabilir. Dahili komut çevrimi veya harici saat işareti ile çalışabilir. TMR0 saklayıcısının değeri 255'ten 0'a geçtiğinde kesme üretir. Harici saat işareti için kenar seçimi yapılabilir. TMR0'ın bu özelliklerini kontrol ederek düzenlemek için OPTION saklayıcısı kullanılır. Gerekli bilgiler için PIC16F628 katalog bilgilerinden faydalanılabilir. Programda kullanılan OPTION değeri programın çalışmasını düzenlemek amacıyla 10111000 olarak seçilmiştir. Bit7'den itibaren bit1'e doğru tanımlayacak olursak, 1 = Port B'deki pull-up dirençleri iptal. 0 = kesme inen kenarda oluşsun. 1 = RA4/T0CKI ucundan girilen saat işareti. 1 = RA4/T0CKI işaretin düşen kenarından sayma değeri arttırılır. 1 = Ön bölücü WDT için çalışır. 000 = TMR0 oranı 1:2 özelliklerini seçmiş olduk. Burada kullanımda faydalı olacağını düşündüğümüz bir noktayı da izah etmekte yarar var. Bu devremizde, giren palsın inen kenarından sayma işlemi yapılmaktadır. Yani butonun bırakma anında sayım yapılmaktadır. Sayma işlemini yükselen kenardan yapmak gerektiğinde OPTION değerindeki bit4'ün 1 olarak atanan değerini 0 olarak atamak gerekmektedir. Bu durumda OPTION değeri 10101000 olacaktır. Böylece butona basıldığı anda sayma işlemi gerçekleşir. Devrenin Şeması: Şekil 1: Sayıcı devrenin temel devre şeması. Şekil 2: Sayıcı devrenin buton ile saydırıldığı devre şeması. Devrenin JAL ile hazırlanan programı: -- ===============================================-- 20070924-- 0-999999 ileri LCD sayici-- ===============================================inc lude 16f628_4i -- 4MHz dahili osilatorinclude jlibinclude hd447804 -- hd447804 kütüphanesi kullanılacakinclude comp -- 16f628 icin analog -- karsilastiricilerin kapatilmasi-- === PORTLARIN YONLENDIRILMESI ===disable_comp -- analog karsilastiricilar kapatildi-- === DEGISKENLER ===var byte saymaya1 = 0var byte saymaya2 = 0var byte saymaya3 = 0var byte saymaya4 = 0var byte saymaya5 = 0var byte saymaya6 = 0-- === AYARLAMALAR ===option = 0b10111000tmr0 = 0hd44780_clear-- === ALT PROGRAMLAR ===procedure sayici ishd44780 = "S"hd44780 = "A"hd44780 = "Y"hd44780 = "I"hd44780 = "C"hd44780 = "I"end procedure-- === PROGRAM BASLANGICI ===forever loop if tmr0 > 9 then -- eger tmr0 9'dan buyukse saymaya2 = saymaya2 + 1 if saymaya2 == 10 then saymaya2 = 0 saymaya3 = saymaya3 + 1 if saymaya3 == 10 then saymaya3 = 0 saymaya4 = saymaya4 + 1 if saymaya4 == 10 then saymaya4 = 0 saymaya5 = saymaya5 + 1 if saymaya5 == 10 then saymaya5 = 0 saymaya6 = saymaya6 + 1 if saymaya6 == 10 then saymaya6 = 0 end if end if end if end if end if tmr0 = 0 -- 0 yap seklinde tmr0 sayıcısı kosullandi end if saymaya1 = tmr0 hd44780_line1 sayici -- sayici alt programi cagrildi hd44780_line2 print_decimal_1 ( hd44780, saymaya6, "0" ) print_decimal_1 ( hd44780, saymaya5, "0" ) print_decimal_1 ( hd44780, saymaya4, "0" ) print_decimal_1 ( hd44780, saymaya3, "0" ) print_decimal_1 ( hd44780, saymaya2, "0" ) print_decimal_1 ( hd44780, saymaya1, "0" )end loop-- === PROGRAM SONU === Resim 1: Tamamlanmış devrenin, çalışır vaziyetteki görünümü. ![]() Resim 2: Progrmalama için IC-PROG programlayıcı konfigürasyon bilgileri. | |
|
| | #52 (mesaj-linki) | |
| Cvp: Hobby Elektronik DevrelerJAL ile Programlı PIC16F84 Entegreli LCD Göstergeli Ayarlanabilir Saat Devresi Bu devre, saat olarak kullanılmak amacıyla tasarlanmıştır. Bu devre ile saati istediğimiz değere ayarlayabiliriz. Kristal osilatör referaslı olarak çalıştığı için bir kez ayarlandıktan sonra geri kalma veya ileri gitme gibi sorunlar ortaya çıkmaz. Ayarlaması çok basit ve pratiktir. Saat devresi olarak sunulan pek çok devrenin aksine bu devre eksiksiz saat özelliklerinin hepsini üzerinde taşımaktadır. Devrenin Çalışması ve Yapısı: Devrede PIC 16F84 mikrokontrolör entegresi kullanılmıştır. Programı ise JAL ile hazırlanmıştır. Devreyi ve aynı zamanda saati sıfırlamak amacıyla bir adet buton kullanılmıştır. PIC16F84 entegresinin 4 nolu RESET ucuna bağlı olan bu butona basılıp bırakıldığı anda devre ve saat değerleri sıfırlanır yani resetlenmiş olur. Saati ve dakikayı ayarlamak amacıyla iki adet buton kullanılmıştır. Saati ayarlamak için PIC16F84 entegresinin 18 nolu RA1 ucuna bağlı olan B2 butonuna basılınca o anda göstergede bulunan saat değeri bir artırılır. Sürekli basılı tutulursa yarım saniye aralıklarla saat değeri birer birer artar. Bu artırma sırasında saniyenin değeri ise sıfırlanır. Saat için her yapılan ayarlamadan sonra saniye değeri sıfırdan saymaya başlar. Dakikayı ayarlamak için, aynı saati ayarladığımız yöntemi kullanırız. Dakikayı ayarlamak için PIC16F84 entegresinin 17 nolu RA0 ucuna bağlı olan B1 butonuna basılınca o anda göstergede bulunan dakika değeri bir atırılır. Sürekli basılı tutulursa yarım saniye aralıklarla dakika değeri birer birer artar. Bu artırma sırasında saniyenin değeri ise sıfırlanır. Dakika için her yapılan ayarlamadan sonra saniye değeri sıfırdan saymaya başlar. Devrede 2 satırlı 16 karakterli LCD ekran kullanılmıştır. Göstergenin birinci satırında “Saat” ibaresi yazılıdır. İkinci satırda ise saat bulunmaktadır. LCD ekranın kontrast ayarını yapmak için RV1 10K ayarlı direnci kullanılmıştır. Devrenin mikrokontrolör yazılımında sayıcı olarak Timer0 zamanlayıcı/sayıcı'sı kullanılmıştır. Timer0'ın zaman aşımı kesmesi özelliğinden yararlanılarak zaman ve saydırma işlemi gerçekleştirilmiştir. Devrede kullanılan osilatörün frekansı 4.194304 Mhz olarak seçilmiştir. Programda kullanılan işlemler açık olarak yazıldığından ve bölümler halinde düzenlendiğinden yeterince bilgiyi içermektedir. Devrenin Şeması: Şekil 1: LCD göstergeli ayarlı saat devresi şeması.Devrenin JAL ile hazırlanan programı: -- ====================================29.09.2007-- LCD ayarli saat uygulamasi-- ====================================include 16f84_4 -- 4.194304 Mhz'lik osilator kullanilacakinclude jlibinclude hd447804 -- LCD ekran icin kullanilacak-- === PORTLARIN YONLENDIRILMESI ===pin_a0_direction = inputpin_a1_direction = input-- === DEGISKENLER ===var byte saat = 0var byte dakika = 0var byte saniye = 0var byte clock = 0-- === AYARLAMALAR ===hd44780_clear-- === ALT PROGRAMLAR ===procedure saat_yazisi is hd44780 = "S" hd44780 = "a" hd44780 = "a" hd44780 = "t"end procedureprocedure saat_ayarla is if pin_a1 == high then delay_500ms saat = ( saat + 1 ) % 24 saniye = 0 end if if pin_a0 == high then delay_500ms dakika = ( dakika + 1 ) % 60 saniye = 0 end ifend procedureprocedure saat_sayaci is pragma interrupt clock = ( clock + 1 ) % 32 if clock == 0 then saniye = ( saniye + 1 ) % 60 if saniye == 0 then dakika = dakika + 1 if dakika == 60 then dakika = 0 saat = saat + 1 if saat == 24 then saat = 0 end if end if end if end if intcon_t0if = lowend procedureoption = 0b10000110 -- 1/128tmr0 = 0intcon_t0if = lowintcon_t0ie = trueintcon_gie = true-- === PROGRAM BASI ===forever loop saat_ayarla hd44780_line1 saat_yazisi hd44780_line2 print_decimal_2 ( hd44780, saat, "0" ) hd44780 = ":" print_decimal_2 ( hd44780, dakika, "0" ) hd44780 = ":" print_decimal_2 ( hd44780, saniye, "0" )end loop-- === PROGRAM SONU ===Devrenin resmi Resim 1: Tamamlanmış devrenin çalışır şekildeki görünümü. Devrenin Malzeme Listesi:U1: PIC 16F84 LCD1: İki satır LCD R1, R2: 470 R3: 1K RV1: 1K trimpot XTAL: 4.194304MHz C1, C2: 22pF B1-B3: Buton | |
|
| | #53 (mesaj-linki) | |
| Cvp: Hobby Elektronik DevrelerAlarmlı Ayarlanabilir PIC 16F84 Entegreli LCD Göstergeli Saat Devresi Bu devre, alarmlı bir saat olarak kullanılması amacıyla tasarlanmıştır. Bu devre ile saati ve alarmı istediğimiz değere ayarlayabiliriz. Alarm ayarlanan (kurulan) saatte çalışır. Kristal osilatör referaslı olarak çalıştığı için bir kez ayarlandıktan sonra enerjisi kesilmediği takdirde geri kalma veya ileri gitme gibi sorunlar ortaya çıkmaz. Ayarlaması çok basit ve pratiktir. Saat ve alarm olarak verilen bütün değerler LCD displeyde gösterilmektedir. Devrenin Çalışması ve Yapısı: Devrede PIC 16F84 mikrokontrolör entegresi kullanılmıştır. Programı ise JAL ile hazırlanmıştır. Devreyi, saati ve aynı zamanda alarmı sıfırlamak amacıyla bir adet buton kullanılmıştır. PIC16F84 entegresinin 4 nolu RESET ucuna bağlı olan bu butona basılıp bırakıldığı anda devre, saat ve alarm değerleri sıfırlanır yani resetlenmiş olur. Saati, dakikayı ve alarm için saat ve dakika değerlerini ayarlamak amacıyla 4 adet buton kullanılmıştır. Aslında 4 adet buton sayı olarak bir devrede kullanım açısından bakıldığında biraz fazladır. Daha az sayıda buton ile ayarlama devresi yapılabilirdi. Benim buton sayısını fazla tutmaktaki amacım, devrenin JAL ile hazırlanan yazılımının (programının) sade olmasını sağlamaya yöneliktir. Saati ayarlamak için PIC16F84 entegresinin 18 nolu RA1 ucuna bağlı olan B2 butonuna basılınca o anda göstergede bulunan saat değeri bir artırılır. Sürekli basılı tutulursa yarım saniye aralıklarla saat değeri birer birer artar. Bu artırma sırasında saniyenin değeri ise sıfırlanır. Saat için her yapılan ayarlamadan sonra saniye değeri sıfırdan saymaya başlar. Dakikayı ayarlamak için, aynı saati ayarladığımız yöntemi kullanırız. Dakikayı ayarlamak için PIC16F84 entegresinin 17 nolu RA0 ucuna bağlı olan B1 butonuna basılınca o anda göstergede bulunan dakika değeri bir atırılır. Sürekli basılı tutulursa yarım saniye aralıklarla dakika değeri birer birer artar. Bu artırma sırasında saniyenin değeri ise sıfırlanır. Dakika için her yapılan ayarlamadan sonra saniye değeri sıfırdan saymaya başlar. Alarmı ayarlamak için yine saat ve dakika ayarlaması için tanımladığımız alarm_saat ve alarm_dakika değişkenlerinin değerini artırıyoruz. Kullanım şekli itibariyle yukarıda anlatılan saat ve dakika ayarlamasında yapıldığı biçimde alarmı ayarlıyoruz. PIC 16F84'ün 1 nolu ucu (RA2) ile alarm için saati, 2 nolu ucu (RA3) ile de alarm için dakikayı ayarlıyoruz. Yaptığım denemelerde, alarmı ayarlarken saatin değerinde herhangi bir değişiklik olmamıştır. Devrede 2 satırlı 16 karakterli LCD ekran kullanılmıştır. Göstergenin birinci satırında “Saat:” ve saatin gösterilecek değeri yazılıdır. İkinci satırda ise “Alarm:” ve ayarlanan alarmın gösterilecek değeri bulunmaktadır. LCD ekranın kontrast ayarını yapmak için RV1 10K ayarlı direnci kullanılmıştır. Devrenin mikrokontrolör yazılımında sayıcı olarak Timer0 zamanlayıcı/sayıcı'sı kullanılmıştır. Timer0'ın zaman aşımı kesmesi özelliğinden yararlanılarak zaman ve saydırma işlemi gerçekleştirilmiştir. Devrede kullanılan kristalin frekansı 4.194304 Mhz olarak seçilmiştir. Programda kullanılan işlemler açık olarak yazıldığından ve bölümler halinde düzenlendiğinden yeterince bilgiyi içermektedir. Devrenin Şeması: Şekil 1: LCD göstergeli alarmlı ayarlı saat devresi şeması.Devrenin JAL ile hazırlanan programı: -- ====================================--- 01.10.2007-- LCD alarmli ayarli saat uygulamasi-- ====================================include 16f84_4 -- 4.194304 Mhz'lik kristal kullanilacakinclude jlibinclude hd447804 -- LCD ekran icin kullanilacak-- === PORTLARIN YONLENDIRILMESI ===port_a_direction = all_inputpin_b7_direction = output-- === DEGISKENLER ===var byte saat = 0var byte dakika = 0var byte saniye = 0var byte clock = 0var byte alarm_saat = 0var byte alarm_dakika = 0-- === AYARLAMALAR ===hd44780_clear-- === ALT PROGRAMLAR ===procedure saat_yazisi is hd44780 = "S" hd44780 = "a" hd44780 = "a" hd44780 = "t" hd44780 = ":" hd44780 = " "end procedureprocedure alarm_yazisi is hd44780 = "A" hd44780 = "l" hd44780 = "a" hd44780 = "r" hd44780 = "m" hd44780 = ":" hd44780 = " "end procedureprocedure saat_ayarla is if pin_a1 == high then saat = ( saat + 1 ) % 24 saniye = 0 delay_500ms end if if pin_a0 == high then dakika = ( dakika + 1 ) % 60 saniye = 0 delay_500ms end ifend procedureprocedure alarm_ayarla is if pin_a2 == high then alarm_saat = ( alarm_saat + 1 ) % 24 delay_500ms end if if pin_a3 == high then alarm_dakika = ( alarm_dakika + 1 ) % 60 delay_500ms end ifend procedureprocedure saat_sayaci is pragma interrupt clock = ( clock + 1 ) % 32 if clock == 0 then saniye = ( saniye + 1 ) % 60 if saniye == 0 then dakika = dakika + 1 if dakika == 60 then dakika = 0 saat = saat + 1 if saat == 24 then saat = 0 end if end if end if end if if saat == alarm_saat & dakika == alarm_dakika Then pin_b7 = high else pin_b7 = low end if intcon_t0if = lowend procedureoption = 0b10000110 -- 1/128tmr0 = 0intcon_t0if = lowintcon_t0ie = trueintcon_gie = true-- === PROGRAM BASI ===forever loop saat_ayarla alarm_ayarla hd44780_line1 saat_yazisi print_decimal_2 ( hd44780, saat, "0" ) hd44780 = ":" print_decimal_2 ( hd44780, dakika, "0" ) hd44780 = ":" print_decimal_2 ( hd44780, saniye, "0" ) hd44780_line2 alarm_yazisi print_decimal_2 ( hd44780, alarm_saat, "0" ) hd44780 = ":" print_decimal_2 ( hd44780, alarm_dakika, "0" )end loop-- === PROGRAM SONU ===Devrenin Resmi: Resim 1: Tamamlanmış devrenin çalışır şekildeki görünümü.Devrenin Malzeme Listesi: U1: PIC 16F84 LCD1: İki satır LCD D1: Kırmızı LED R1, R2, R4, R5, R6: 470 R3: 1K RV1: 1K trimpot XTAL: 4.194304MHz C1, C2: 22pF B1-B5: Buton BUZ1: BUZZER (+5V olanlardan) __________________ | |
|
| | #54 (mesaj-linki) | |
| Cvp: Hobby Elektronik DevrelerProgramlanabilir 0-9999 İleri LCD Göstergeli Alarmlı Sayıcı [font=Verdana, Helvetica, sans-serif][size=2] 8 bitlik bir zamanlayıcı/sayıcıdır. 0-255 arası sayabilir.Programlama: Devre 2 buton ile ayarlanacak. PIC16F84'ün 17 nolu ucuna bağlı olan “HANE” isimli buton ile ayarlanacak olan hane seçilmektedir. Seçilen hanenin önünde “>” işareti bulunmaktadır. Bu “>” işareti ayar yapılacak olan haneyi işaret etmektedir. PIC16F84'ün 18 nolu ucuna bağlı olan “HANE SAY” isimli ikinci buton ile de seçilen hane 0-9 arası sayım yapılmaktadır. Ayarlanacak olan hane seçilmek istendiğinde hane seçim butonuna basıldığında hane büyük haneye (sola) doğru kaymaktadır. Ayarlanacak alarm değeri göstergede dört hane olarak gösterilmektedir. Bu gösterilen değer içinde ayarlanacak olan hanenin başında ok şeklinde köşeli parantez “>” ile okun bulunduğu hane ayar butonuna basıldıkça birer birer artmaktadır. Programlama yapmak için butonlara basılı tutarak ayarlamak gerekiyor. Yarım saniyede bir sayıyı arttırır veya haneyi değiştirir. Program “0000” (sıfır) ise alarm yapılmamış sayılacak ve göstergenin sonunda “+” işareti olacak, program yapıldığında bu “+” işareti kalkacaktır. Sayma İşlemi: Gösterge olarak 2 satırlık 16 karakterlik LCD ekran kullanılmıştır. Birinci satırda “SAYICI: 0000” şeklinde sayım bölümü gösterilmektedir. Bu haliyle “0000-9999” ileri sayım yapılabilmektedir. Devrede sayım işlemini yapmak için PIC16F84'ün 3 nolu TIMER-0 ucu kullanılmaktadır. Bu uca dışarıdan saymak amaçlı lojik sinyal girilebileceği gibi devrenin şemasında gösterildiği gibi butonda kullanılabilir. Buton ile devre yapıladığında, “SAY” butonuna bastıkça değeri 1 artarak büyümektedir. Devreye sayma amaçlı lojik sinyal girilirse buton (SW4) ve bağlı direnç (R2 22K) birlikte kullanılabilir. Sayıcıları (sayılan değeri) sıfırlamak için de buton kullanılmaktadır. “SIFIRLA” adını taşıyan ve PIC16F84'ün 1 nolu ucunda bağlı olan bu butona basınca sayıcılar sıfırlanmakta ve alarm iptal edilmektedir. Bütün butonlar giriş ve +5 volta bağlanacak, girişten şaseye direnç atılacaktır. Bu direnç 22K değerinde olabilir. Ayrıca bu girişlere ark önleme amaçlı kondansatör bağlanmasında fayda vardır. Alarm çıkısı, 16F84'ün RB7, 13 nolu ucundan yapılmaktadır. Alarm çıkışına sürücü devre yapılarak röle veya diğer alarm devreleri bağlanabilir. Devrenin Yapısı: Devredenin PIC16F84 mikro kontrolör yazılımında sayıcı olarak TIMER-0 zamanlayıcı/sayıcı'sı kullanılmıştır. Bu zamanlayıcı/sayıcı özelliklerine kısaca bakacak olursak; TMR0 özel amaçlı saklayıcısı ile bu zamanlayıcının değeri okunabilir veya bu saklayıcıya veri yazılabilir. 8 bitlik ön bölücü kullanılarak zamanlama süresi/sayma miktarı ayarlanabilir. Dahili komut çevrimi veya harici saat işareti ile çalışabilir. TMR0 saklayıcısının değeri 255'ten 0'a geçtiğinde kesme üretir. Harici saat işareti için kenar seçimi yapılabilir. TMR0'ın bu özelliklerini kontrol ederek düzenlemek için OPTION saklayıcısı kullanılır. Gerekli bilgiler için PIC16F84 katalog bilgilerinden faydalanılabilir. Programda kullanılan OPTION değeri programın çalışmasını düzenlemek amacıyla 10101000 olarak seçilmiştir. Bit7'den itibaren bit1'e doğru tanımlayacak olursak, 1 = Port B'deki pull-up dirençleri iptal. 0 = kesme inen kenarda oluşsun. 1 = RA4/T0CKI ucundan girilen saat işareti. 0 = RA4/T0CKI işaretin yükselen kenarından sayma değeri arttırılır. 1 = Ön bölücü WDT için çalışır. 000 = TMR0 oranı 1:2 özelliklerini seçmiş olduk. Burada kullanımda faydalı olacağını düşündüğümüz bir noktayı da izah etmekte yarar var. Bu devremizde, giren palsın yükselen kenarından sayma işlemi yapılmaktadır. Yani butonun basma anında sayım yapılmaktadır. Sayma işlemini düşen kenardan yapmak gerektiğinde OPTION değerindeki bit4'ün 0 olarak atanan değerini 1 olarak atamak gerekmektedir. Bu durumda OPTION değeri 10111000 olacaktır. Böylece butonun bırakıldığı anında sayma işlemi gerçekleşir. Devre 5 voltluk besleme ile çalışmaktadır. Devrede kullanılan yazılım JAL ile hazırlanmıştır. JAL için gerekli kaynaklar jal.sourceforge.net web sitesinde geliştirilmektedir. Türkçe olarak adresinden faydalanılabilir. Devrenin Şeması: Şema: Programlı İleri Sayıcı Devre Şeması (13.11.2007 tarihinde güncellendi) Malzeme Listesi: U1: PIC16F84 LCD1: 2X16 LCD Ekran X1: 4MHz kristal D1: LED SW1-SW4: Buton C1,C2: 22pF C3: 220nF R1: 1K R2-R5: 22K R6: 470 RV1: 10K trimpot Ayrıca, şemada gösterilmemesine rağmen, devrenin besleme hattına 100nF değerinde filtre amaçlı kondansatör ilave edilmelidir. Yine devrede bulunan R2-R5 22K dirençlerine paralel olarak 100nF kutupsuz kondansatör butonlarda oluşabilecek arkları önlemeye yönelik olarak ilave edilebilir. Notlar: Devrenin baskıdevresi hazırlanmamıştır. Resimlerde de görüldüğü şekliyle çalıştırılmıştır. Devrenin Çalışma Görüntüleri: Devrenin ilk çalışma ve programlanmamış görüntüsü: Devrenin programlanmış görüntüsü: Devrenin alarm çalışmış görüntüsü: | |
|
| | #55 (mesaj-linki) | |
| Cvp: Hobby Elektronik Devreler 0-9999 İleri LCD Göstergeli Programlanabilir Alarmlı Sayıcı İçin Baskı Devre Devrenin baskı devresi: Baskı devreyi, görüntüsünde de görüldüğü gibi devreye malzeme ekleyerek geliştirdim. Tek sıra LCD ekrana göre göstergeyi tek satır olarak düzenledim. Eklenen malzemeler: 555 7805 BC337 (2 tane) 1N4001 1N4148 100mF 16V elektrolitik kondansatör (2 tane) 100K trimpot 2K2 (2 tane) 4K7 10K (2 tane) 1K 5Volt Röle Buzzer Baskı devreden çeşitli resimler: | |
|
| | #56 (mesaj-linki) | |
| Cvp: Hobby Elektronik Devreler8 Ledli Karaşimşek Devresi Mehmet Yılmaz Bu devre, PIC16F628 mikrokontrolör entegresi ve çok az sayıda eleman kullanılarak gerçekleştirilmiştir. Devre uzun süre çalıştırılmış ve çalışmasında herhangi bir kusur görülmemiştir. 1 adet PIC16F628, 1 adet 470 ohm direnç ve 8 adet led kullanılmıştır. C1, 100nF kondansatörü ise beslemede filtre olarak kullanılmıştır. Programlama için JAL kullanılmıştır. 16F628 entgresinin dahili osilatörü ve dahili reset özelliği kullanılarak programı yapılmıştır. Bunun için 16f628_4i.jal kütüphane dosyası kullanılmıştır. Ayrıca 16F628 entegresinin Analog giriş uçları kullanılmayacağı için comp.jal kütüphane dosyası kullanılmıştır. [size=2] Devrenin Şeması: Malzeme Listesi: U1: PIC 16F628 R1: 470 ohm D1-D8: Kırmızı 3mm Led C1: 100nF Devrenin Uygulama Resmi: | |
|
| | #57 (mesaj-linki) | |
| Cvp: Hobby Elektronik DevrelerJal İle 15 Ledli Karaşimşek Devresi [font=Verdana, Arial, Helvetica, sans-serif][size=2]Bu devre, PIC16F628 mikrokontrolör entegresi ve çok az sayıda eleman kullanılarak gerçekleştirilmiştir. 1 adet PIC16F628, 1 adet 470 ohm, 1 adet 1K direnç ve 15 adet led kullanılmıştır. C1, 100nF kondansatörü ise beslemede filtre olarak kullanılmıştır. PIC 16F628 entegresinin dahili osilatör özelliğini kullanarak bütün uçları giriş ve çıkış olarak kullanılabilmektedir. Bu devrede de bütün uçları çıkış olarak kullanılmıştır. 4 nolu, RA5/MCLR ucu sadece giriş ucu olarak kullanılabildiğinden bu uca çıkış yetkisi verilememektedir. Devre, bu uç göz ardı edilerek 15 adet led ile gerçekleştirilmiştir. Devrede PIC 16F628'in çıkışlarının her bir seferinde sadece 1 tane ledi yakacağı düşünülerek, bütün çıkış uçlarına direnç bağlamak gereksiz görülmüş ve bütün ledlere ortak olarak 470 ohm direnç bağlanmıştır. Ayrıca R2, 1K direnci 2 nolu RA3 çıkış ucunun yapısal durumu gereği konulmuştur. Bu uç açık kollektör özelliğine sahip bulunmakatadır ve çıkış alabilmek için direnç bağlanılması gerekmektedir. Programlama için JAL kullanılmıştır. 16F628 entgresinin dahili osilatörü ve dahili reset özelliği kullanılarak programı yapılmıştır. Bunun için 16f628_4i.jal kütüphane dosyası kullanılmıştır. Ayrıca 16F628 entegresinin Analog giriş uçları kullanılmayacağı için comp.jal kütüphane dosyası kullanılmıştır. Devrenin Şeması Malzeme Listesi: U1: PIC 16F628 R1: 1K R2: 470 ohm D1-D15: Kırmızı 3mm Led C1: 100nF Devrenin çalışmasının görüntüsü: | |
|
| | #58 (mesaj-linki) | |
| Cvp: Hobby Elektronik DevrelerPTC İle Otomatik Fan Kontrolü PTC oda sıcaklığında düşük direnç gösterir. Bundan hareketle oda sıcaklığında PTC üzerinden akım geçişi olur. PTC ısıtıldığında direnci yükselerek A noktası üzerinden transistör tetiklenir. Tetiklenen transistörden collector ve emiter arası akım geçi olur. Fan çalışmaya başlar. Fakat PTC üzerinden ısındığındada akım geçişi olur fakat bu akım geçişi PTC nin sıcaklığına göre değişeceğinden A noktası üzerinden geçen akımda buna bağlı olarak değişir. Potu da Fanın hangi sıcaklıkta dönmeye başlayacağını değiştirebilirsiniz. Devrenin Şeması: Devrenin Baskı Devresi: | |
|
![]() |
| En popüler 5 etiket
Bu Konunun Etiketleri
|
| 16f628 devreleri, 1k direnç, basit siren devresi, saat devreleri, siren devreleri, |
Hobby Elektronik Devreler Konusuna Benzer Konular | ||||
| Konu | Konuyu Başlatan | Forum | Cevap | Son Mesaj |
| Elektronik Denetimli Asansörler | CrasHofCinneT | Mühendislik Bilimleri | 0 | 14-09-2008 09:46 |
| Elektronik Teknikeri | P.u.S.u | Meslekler | 1 | 21-03-2008 14:08 |
| Elektronik Nedir? Elektronik Hakkında | Blue Blood | Mühendislik Bilimleri | 0 | 17-12-2007 21:24 |
| Elektronik Arşiv | gevv | Mühendislik Bilimleri | 1 | 15-05-2007 00:29 |
| Elektrik ve Elektronik Mühendisliği | Mystic@L | Meslekler | 1 | 03-10-2006 02:41 |