bulduğum yerlerin hepsinde aynısı var aynısını koyuyorum konunun
DEVRE ADI:
Dijital Saat ve Dijital Termometre
DEVRE ELEMANLARI:
1 Adet pic16F84
1 Adet kristal osilatör
2 Adet 22pF kondansatör
4 Adet 7 segment ortak katodlu display
1 Adet 10K NTC
4 Adet buton
10 Adet BC237 transistör
26 Adet 470, 1 Adet 10K ve 1 adet 100 direnç
2 Adet 0.1uF kondansatör
ÇALIŞMA PRENSİBİ:
Devrede asıl istenen 4 adet display ile yaklaşık 15 saniye aralıklarla zamanı ve sıcaklığı göstermesidir. Zaman yazılış formatı ‘ss.dd’ şeklinde olup sıcaklık formatı ise ‘XXC’ şeklindedir. Devreye enerji verildikten sonra saat ve dakika göstergelerinde varsayılan değer olan 00.00 değeri yanıp sönecektir. Dakika ayar ve saat ayar tuşlarına basılması durumunda saat ayarlanacak ve SET tuşuna basıldığında saat işlemeye ve 15 saniye içinde sıcaklık gösterilmeye başlanacaktır. Bu bir döngü şeklinde devam edecektir.
Devrede saatin çalışması ve sıcaklık ölçümü pic16F84 ile yapılmaktadır. Saatin çalışması pic içerisindeki TMR0 dahili komut sayacı kullanılarak programlanmıştır. Devrenin çalışmasında kullanılan program ek’te mevcuttur. 1 komut saykılının 1s olduğu bilindiğinerek, TMR0 sayacının her döngüsünde oluşturulan kesme ile sayaç a ve sayaç b değerleri artırılmaktadır. Sayaç a’nın istenen değere ulaşması ile sayaç b artırılır. Sayaç b’nin istenen değere ulaşması tam 1 dakikadır ve dakika değeri 1 arttırılır. Bunun bir döngü halinde gitmesi saatin çalışmasını sağlamaktadır.
Devrenin sıcaklık ölçen kısmında ise 1 adet NTC ve kondansatör seri olarak bağlanmış olup (devre şeması ek’te mevcuttur) kondansatör üzerinde oluşan gerilim ölçülmek üzere PIC’in portA 4. pinine bağlanmıştır. Bu küçük devrenin çalışma prensibi ise sıcaklık ölçülmek istendiğinde kondansatörün PIC’e bağlı olduğu pinden lojik ‘0’ değeri (0V) verilir ve kondansatörün boşalmasına yetecek kadar bir sürelik gecikme sağlanır. Kondansatörün boşalması tamamlandıktan sonra PIC’in bu pini giriş olarak koşullanır, bu sırada kondansatör doluma geçecektir. Koşullama yapıldıktan sonra bu pinden lojik ‘1’ değeri gelene kadar (bu kondansatörün dolduğu anlamına gelir) RCSAY sayacını arttıran bir döngü çalıştırılır. Kondansatörün dolum hızı direnç ve kondansatör değerinin çarpımına bağlı olduğundan bu dolum süresi farklı direnç değerlerinde değişecektir. Kullandığımız direnç NTC olduğundan farklı sıcaklıklarda farklı değerler gösterecektir. Bu sayede RCSAY sayacından elde ettiğimiz değer her sıcaklıkta farklı olacaktır. Elde ettiğimiz bu değerlerin kaç dereceye denk geldiği ise NTC test programı (ek’te mevcuttur) kullanılarak farklı sıcaklıklarda yapılan ölçümler sonucunda belirlenmiştir.
Elimizde bulunan PIC modelinin toplam 13 adet giriş çıkış pinleri mevcuttur. Kullanılan displayler ise 7 segment olduğundan tüm displayler aynı anda çalıştırılamamaktadır. Bunun içinse tüm displaylerin a, b, c, d, e, f ve g olarak bilinen uçları paralel olarak bağlanmıştır. Ancak tüm displaylerin toprak uçları lojik kapılardan oluşan bir switcher devresi ile anahtarlama yapılmıştır. Bu anahtarlama devresi için portA’nın 0. ve 1. bitleri kullanılmıştır. Anahtarlama devresi iki adet lojik değil kapısından ve 4 adet lojik vedeğil kapısından oluşmaktadır. Bu kapılar BC237 transistörler ve dirençler ile oluşturulmuştur. Bu şekilde portA ya 00 değeri basıldığında 1. display, 01 değeri basıldığında 2.display, 10 değeri basıldığında 3. display ve 11 değeri basıldığında 4. display aktif olacaktır. Böylece elimizdeki PIC’in 9 adet pinini kullanarak 4 adet displayi çalıştırabilmiş olduk. 4 display hiçbir zaman aynı anda çalışmamaktadır, sırayla birinci, ikinci, üçüncü ve dördüncü displayler göstermeleri gerektiği değeri göstermektedir. Ancak bu işlem çok hızlı yapıldığından insan gözü bu anahtarlamayı farkedememektedir ve hepsini aynı anda yanıyormuş gibi görmektedir.