{"id":2449,"date":"2014-04-23T01:56:39","date_gmt":"2014-04-22T22:56:39","guid":{"rendered":"http:\/\/www.Devrearsivi.com\/?p=2449"},"modified":"2017-03-14T17:29:43","modified_gmt":"2017-03-14T15:29:43","slug":"lcd-ekranli-basit-termometre-devresi","status":"publish","type":"post","link":"https:\/\/devrearsivi.com\/lcd-ekranli-basit-termometre-devresi\/","title":{"rendered":"LCD Ekranl\u0131 Basit Termometre Devresi"},"content":{"rendered":"
Merhabalar,<\/span><\/p>\n \u201cNerden \u00e7\u0131kt\u0131 bu termometre?\u201d derseniz de, masam\u0131n \u00fcst\u00fcnde duran LCD ve\u00a0PIC<\/strong><\/span><\/a>\u2019e ekolarak<\/strong><\/span><\/a>\u00a0\u00f6nceden al\u0131p\u00a0bir<\/strong><\/span><\/a>\u00a0k\u00f6\u015feye att\u0131\u011f\u0131m s\u0131cakl\u0131k sens\u00f6r\u00fcn\u00fc bulmam en b\u00fcy\u00fck neden tabi.\u00a0\u00a0Ayr\u0131ca haberlerde g\u00f6rd\u00fc\u011f\u00fcm\u00fcz \u201cYar\u0131n s\u0131cakl\u0131k -3 derceye kadar d\u00fc\u015fecek.\u201d benzeri s\u00f6ylemlerden dolay\u0131 \u201cD\u0131\u015far\u0131s\u0131 ger\u00e7ekten ne kadar so\u011fuk?\u201d diye d\u00fc\u015f\u00fcnmem de\u00a0bir<\/strong><\/span><\/a>\u00a0di\u011fer etken.<\/p>\n Kullanaca\u011f\u0131m\u0131z sens\u00f6r teorik olarak -55, +125 santigrat derece aras\u0131 s\u0131cakl\u0131klar\u0131 ortalama 0.5 santigrat derece hassiyetler \u00f6l\u00e7ebiliyor. Yine teorik olarak devreyi 3V DC ve \u00fczeri bir kaynakla \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/span><\/p>\n Devreye ge\u00e7meden \u00f6nce malzemelerimizi sayal\u0131m:<\/span><\/p>\n Her malzemeden bir adet olmas\u0131 yeterlidir. Devrenin \u00f6zelliklerine k\u0131saca bakal\u0131m.<\/span><\/p>\n Sens\u00f6rden dolay\u0131 geni\u015f bir s\u0131cakl\u0131k aral\u0131\u011f\u0131n\u0131 \u00f6l\u00e7ebiliyoruz. Devrede okuma yap\u0131ld\u0131\u011f\u0131n\u0131 belirten bir adet LED bulunuyor. Sens\u00f6r yakla\u015f\u0131k her saniyede bir kez okunmakta ve okunan de\u011fer ekrana yazd\u0131r\u0131lmaktad\u0131r. Her okuma i\u015flemi esnas\u0131nda da LED k\u0131sa bir s\u00fcre yan\u0131p, s\u00f6nmektedir. Devre \u015femas\u0131 a\u015fa\u011f\u0131daki gibidir:<\/span><\/p>\n <\/a><\/p>\n <\/p>\n Evet, g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi devre olduk\u00e7a basit. Zaten t\u00fcm i\u015fi sevgili mikrokontrolc\u00fcm\u00fcz PIC yap\u0131yor. LCD\u2019yi 4 bit olarak s\u00fcr\u00fcyoruz. \u0130\u015fimizi kolayla\u015ft\u0131ran eleman ise sens\u00f6r\u00fcm\u00fcz: DS18B20. Devreyi 5V civar\u0131 voltaj veren bir DC kaynak ile \u00e7al\u0131\u015ft\u0131rabilirsiniz. Devre, video \u00e7ekimlerinde 4.5V ile \u00e7al\u0131\u015f\u0131yordu.<\/p>\n Bu yaz\u0131n\u0131n konusu termometre devresi oldu\u011fudan, DS18B20, LCD gibi elemanlar\u0131n kullan\u0131m\u0131 y\u00fczeysel olarak anlat\u0131lm\u0131\u015ft\u0131r. Yaz\u0131 konu anlat\u0131m\u0131 niteli\u011finde de\u011fildir. Bu elemanlar\u0131n kullan\u0131m\u0131 ile ilgili detayl\u0131 bilgi arayanlar\u0131n ihtiyac\u0131n\u0131 bu yaz\u0131 kar\u015f\u0131lamayabilir. \u0130lerleyen zamanlarda yay\u0131nlanacak ba\u015fka yaz\u0131larda, bahsi ge\u00e7en elemanlar\u0131n kullan\u0131m\u0131 detayl\u0131 bir \u015fekilde anlat\u0131labilir.<\/p>\n DS18B20, Dallas firmas\u0131 taraf\u0131ndan \u00fcretilen bir s\u0131cakl\u0131k sens\u00f6r\u00fc. T\u00fcrkiye\u2019de 2-3 Tl civar\u0131nda bulabilmeniz m\u00fcmk\u00fcn. DS18B20 dijital bir sens\u00f6r ve s\u0131cakl\u0131k de\u011ferini ileti\u015fim kurarak okuyoruz. Sens\u00f6r tek hat \u00fczerinden (\u201cone-wire\u201d) ileti\u015fim kuruyor. Sens\u00f6r\u00fc veri hatt\u0131 ve n\u00f6tr ile besleyebilmeniz (\u201cparasite power\u201d) m\u00fcmk\u00fcn. Bu devrede bu \u00f6zelli\u011fi kullanm\u0131yoruz.<\/p>\n Asl\u0131nda DS18B20\u2032nin alarm \u00f6zelli\u011fi gibi kullanmad\u0131\u011f\u0131m\u0131z ba\u015fka \u00f6zellikleri de mevcut. Merak edenler, internetten sens\u00f6r\u00fcn kullan\u0131m k\u0131lavuzuna (\u201cdatasheet\u201d) eri\u015ferek detayl\u0131 bilgiye ula\u015fabilir. Tek hat \u00fczerinden ileti\u015fim kurarken kullan\u0131lan protokol\u00fcn en \u00f6nemli avantajlar\u0131ndan biri ise tek bir hat \u00fczerinde birden fazla sens\u00f6r\u00fcn ba\u011flanabiliyor olmas\u0131. Mikrokontrolc\u00fcn\u00fcz\u00fcn tek bir pinini feda ederek birden fazla sens\u00f6r\u00fc ayr\u0131 ayr\u0131 okuyabilirsiniz. Bu devrede sadece tek bir sens\u00f6r okuyoruz. Belki<\/p>\n ba\u015fka bir yaz\u0131da sens\u00f6r\u00fcn di\u011fer \u00f6zelliklerinin kullan\u0131m\u0131na ve tek hat \u00fczerinden birden fazla sens\u00f6r\u00fcn okunmas\u0131na de\u011finilebilir.<\/p>\n Kullanaca\u011f\u0131n\u0131z ekran\u0131n\u0131n HD44780 veya benzeri ba\u015fka bir s\u00fcr\u00fcc\u00fc i\u00e7ermesi gerekiyor. \u00c7o\u011fu sat\u0131c\u0131 satt\u0131\u011f\u0131 \u00fcr\u00fcn\u00fc bilmese de piyasada bulaca\u011f\u0131n\u0131z LCDlerin \u00e7o\u011fu bu \u015fekildedir. Al\u0131rken dikkat etmeniz gereken nokta sat\u0131c\u0131lar\u0131n bir k\u0131sm\u0131 \u00fccreti daha y\u00fcksek oldu\u011fu i\u00e7in grafik LCD satmaya \u00e7al\u0131\u015fmaktad\u0131r. Ald\u0131\u011f\u0131n\u0131z LCD ekran\u0131n 16\u00d72 Dot-Matrix LCD oldu\u011fundan emin olunuz.<\/p>\n Programlama dili olarak Pic Basic Pro dilini kulland\u0131m. Bu t\u00fcr basit projelerde dilin yaz\u0131m rahatl\u0131\u011f\u0131 b\u00fcy\u00fck bir zaman kazanc\u0131 ve kolayl\u0131k sa\u011fl\u0131yor. PBP\u2019nin yetersiz oldu\u011fu noktalar yok de\u011fil. Bu devre i\u00e7in ihtiyac\u0131m\u0131z\u0131 \u00e7ok rahat kar\u015f\u0131lad\u0131\u011f\u0131ndan tercih ettim. \u0130sterseniz program\u0131m\u0131za bir g\u00f6z atal\u0131m.<\/p>\n <\/p>\n \u2018* Ad\u0131 : Termometre LOW LED Kodlar\u0131n i\u00e7inde de belirtti\u011fim gibi \u00e7ok daha g\u00fczel algoritmalar ile bu i\u015f yap\u0131labilir. Bu devre i\u00e7in performans \u00e7ok \u00f6nemli olmad\u0131\u011f\u0131 i\u00e7in akl\u0131ma gelen ilk algoritmay\u0131 kulland\u0131m. \u00d6\u011frenmek isteyenler i\u00e7inse, kod \u00fczerinde d\u00fc\u015f\u00fcnmenin var olan a\u00e7\u0131klamay\u0131 okumaktan daha yararl\u0131 oldu\u011funu d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fcmden baz\u0131 k\u0131s\u0131mlar\u0131n a\u00e7\u0131klamalar\u0131n\u0131 eklemedim. Program\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 \u00f6\u011frenmek isteyenler i\u00e7in tavsiyem kodu anlamaya \u00e7al\u0131\u015fmalar\u0131 ve sorular\u0131 olursa yaz\u0131n\u0131n alt\u0131na yorum yazarak iletmeleri.<\/p>\n Program\u0131n sonlar\u0131na do\u011fru ikinci sat\u0131r\u0131 temizlemek i\u00e7in ikinci sat\u0131ra bir dizi bo\u015fluk bas\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6rebilirsiniz. Alt sat\u0131r\u0131 silmezseniz videoda da g\u00f6rebilece\u011finiz gibi iki adet C harfi basma problemi olu\u015fuyor. Temizleme i\u015flemini sadece alt sat\u0131r\u0131 silen bir komut ile yapmak \u00e7ok daha g\u00fczel olacakt\u0131r. Yaln\u0131z HD44780 entegresinin kullan\u0131m k\u0131lavuzunda b\u00f6yle bir komut bulamad\u0131m. T\u00fcm ekran\u0131 temizleyip her seferinde \u00fcst sat\u0131ra \u201cS\u0131cakl\u0131k\u201d yazd\u0131rmak da daha uzun bir yol olarak g\u00f6z\u00fckt\u00fc. Bu y\u00fczden alt sat\u0131r\u0131 temizlemek i\u00e7in ekrana bo\u015fluk bast\u0131rmay\u0131 tercih ettim. E\u011fer daha etkili bir yol bulur ya da HD44780\u2032in alt sat\u0131r\u0131 temizleme gibi bir \u00f6zelli\u011fi varsa bunu iletirseniz sevinirim. \u00a0\ud83d\ude42<\/p>\n <\/a><\/p>\n","protected":false},"excerpt":{"rendered":" Merhabalar, \u201cNerden \u00e7\u0131kt\u0131 bu termometre?\u201d derseniz de, masam\u0131n \u00fcst\u00fcnde duran LCD ve\u00a0PIC\u2019e ekolarak\u00a0\u00f6nceden al\u0131p\u00a0bir\u00a0k\u00f6\u015feye att\u0131\u011f\u0131m…<\/p>\n","protected":false},"author":1,"featured_media":2450,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,12,23],"tags":[956,957,839,958],"aioseo_notices":[],"featured_image_urls":{"full":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema.png",1000,895,false],"thumbnail":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema-150x150.png",150,150,true],"medium":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema-300x268.png",300,268,true],"medium_large":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema.png",640,573,false],"large":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema.png",640,573,false],"1536x1536":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema.png",1000,895,false],"2048x2048":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema.png",1000,895,false],"covernews-slider-full":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema.png",799,715,false],"covernews-slider-center":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema.png",559,500,false],"covernews-featured":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema.png",1000,895,false],"covernews-medium":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema.png",380,340,false],"covernews-medium-square":["https:\/\/devrearsivi.com\/wp-content\/uploads\/2014\/04\/Termometre_\u015eema.png",279,250,false]},"author_info":{"display_name":"Ferhat \u00c7elik","author_link":"https:\/\/devrearsivi.com\/author\/94ferhat\/"},"category_info":"Basit Elektronik Devreler<\/a> Elektronik Devreler<\/a> P\u0130C Devreler<\/a>","tag_info":"P\u0130C Devreler","comment_count":"5","_links":{"self":[{"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/posts\/2449"}],"collection":[{"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/comments?post=2449"}],"version-history":[{"count":6,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/posts\/2449\/revisions"}],"predecessor-version":[{"id":3148,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/posts\/2449\/revisions\/3148"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/media\/2450"}],"wp:attachment":[{"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/media?parent=2449"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/categories?post=2449"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devrearsivi.com\/wp-json\/wp\/v2\/tags?post=2449"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}\n
\n@ DEVICE pic16f628, WDT_OFF
\n@ DEVICE pic16f628, PWRT_OFF
\n@ DEVICE pic16f628, BOD_OFF
\n@ DEVICE pic16f628, LVP_OFF
\n@ DEVICE pic16F628, PROTECT_OFF
\n@ DEVICE pic16f628, MCLR_OFF
\n@ DEVICE pic16f628, INTRC_OSC_NOCLKOUT
\nInclude \u201cmodedefs.bas\u201d
\nDEFINE OSC 4 \u20194 Mhz h\u0131z\u0131nda \u00e7al\u0131\u015f\u0131yoruz.
\nSENSOR VAR PORTB.7 \u2018Sens\u00f6r PORTB.7\u2032ye ba\u011fl\u0131
\nLED VAR PORTB.6 \u2018LED PORTB.6\u2032ya ba\u011fl\u0131
\nMESGUL VAR BYTE \u2018\u00c7e\u015fitli de\u011fi\u015fken tan\u0131mlamalar\u0131
\nBILGI VAR WORD
\nISARET VAR BYTE
\nONDA1 VAR WORD
\nONDA2 VAR WORD
\nARA VAR WORD
\nDEGER VAR BYTE
\n\u2018LCD TANIMLAMALARI
\nDEFINE LCD_DREG PORTB \u2018LCD Veri pinleri PORTB\u2019ye ba\u011fl\u0131.
\nDEFINE LCD_DBIT 0 \u2018LCD\u2019nin D0 pini PORTB.0\u2032a ba\u011fl\u0131
\nDEFINE LCD_RSREG PORTB \u2018RS P\u0130N\u0130 PORTB\u2019ye ba\u011fl\u0131
\nDEFINE LCD_RSBIT 4 \u2018RS P\u0130N\u0130 = PORTB.4
\nDEFINE LCD_EREG PORTB \u2018ENABLE P\u0130N\u0130 PORTB\u2019ye ba\u011fl\u0131
\nDEFINE LCD_EBIT 5 \u2018ENABLE P\u0130N\u0130 = PORTB.5
\nDEFINE LCD_RWREG PORTA \u2018RW P\u0130N\u0130 KULLANILMIYOR \u2013 Kullan\u0131lmayan bir pin tan\u0131mland\u0131.
\nDEFINE LCD_RWBIT 1 \u2018RW P\u0130N\u0130 KULLANILMIYOR \u2013 Kullan\u0131lmayan bir pin tan\u0131mland\u0131.
\nDEFINE LCD_BITS 4 \u2018LCD 4 B\u0130T S\u00dcR\u00dcL\u00dcYOR
\nDEFINE LCD_LINES 2 \u2018LCD 2 SATIRLIK
\n\u2018LCD TANIMLAMALARI B\u0130T\u0130\u015e
\nTRISA=%11111111 \u2018PORT giri\u015f-\u00e7\u0131k\u0131\u015f tan\u0131malamlar\u0131
\nTRISB=%10111111
\nPAUSE 500 \u2018Ekran\u0131n haz\u0131r olmas\u0131 i\u00e7in biraz bekliyoruz.
\nLCDOUT $FE,$40,6,9,9,6,0,0,0,0 \u2018Derece g\u00f6sterimi i\u00e7in \u00f6zel karakteri LCD\u2019ye y\u00fckl\u00fcyoruz.
\nLCDOUT $FE,$48,4,0,14,4,4,4,14,0 \u2018\u0130 karakterini LCD\u2019ye y\u00fckl\u00fcyoruz.
\nLCDOUT $FE,$50,0,0,4,4,4,4,4,0 \u2018\u0131 karakterini LCD\u2019ye y\u00fckl\u00fcyoruz.
\nLCDOUT $FE,1,1,\u201dzoelektronik\u201d \u2018\u0130lk sat\u0131ra \u0130zoelektronik yaz.
\nLCDOUT $FE,$C0,\u201d90alper90 \u2013 2010\u2033 \u2018\u0130kinci sat\u0131ra yaz.
\nPAUSE 3000 \u2018Biraz bekle
\nLCDOUT $FE,1,\u201dS\u201d,2,\u201dcakl\u201d,2,\u201dk:\u201d \u2018Ekran\u0131 temizleyip, \u00fcst sat\u0131ra S\u0131cakl\u0131k: yaz.
\nBASLA: \u2018Dong\u00fcye gir.
\nISARET=\u201d+\u201d
\nOWOUT SENSOR,1,[$CC,$44] \u2018Sens\u00f6re s\u0131cakl\u0131\u011f\u0131 okumas\u0131n\u0131 s\u00f6yle.
\nBEKLE: \u2018Sens\u00f6r haz\u0131r olana kadar bekle.
\nOWIN SENSOR,4,[MESGUL]
\nIF MESGUL=0 THEN
\nGOTO BEKLE
\nENDIF
\nDEVAM:
\nOWOUT SENSOR,1,[$CC,$BE] \u2018Sens\u00f6re okudu\u011fu de\u011feri g\u00f6ndermesini s\u00f6yle.
\nOWIN SENSOR,0,[BILGI.LOWBYTE,BILGI.HIGHBYTE] \u2018Gelen 16 bitlik bilgiyi al.
\nIF BILGI.BIT13=1 THEN \u2018S\u0131cakl\u0131k negatif ise
\nISARET=\u201d-\u201d \u2018\u0130\u015faret art\u0131k + de\u011fil –
\nBILGI=~BILGI \u2018Gelen bilgideki bitleri tersle, 1->0, 0->1
\nBILGI=BILGI+1 \u2018Bilgiyi 1 artt\u0131r.
\nENDIF
\nARA=BILGI*625 \u201912 bit hassasiyet kulland\u0131\u011f\u0131m\u0131z i\u00e7in her de\u011fer 0.0625 santigrat dereceye denk geliyor.
\nDEGER=DIV32 10000
\nARA=BILGI*625
\nONDA1= DIV32 1000
\nARA=BILGI*625
\nONDA2= DIV32 100
\nONDA1=ONDA1-(DEGER*10)
\nONDA2=ONDA2-((dEGER*100)+(ONDA1*10))
\nLCDOUT $FE,$C0,\u201d \u201d \u2018LCD ekran\u0131n alt sat\u0131r\u0131n\u0131 temizle
\nLCDOUT $FE,$C0,ISARET,#DEGER,\u201d.\u201d,#ONDA1,#ONDA2,\u201d \u201c,0,\u201dC\u201d
\nHIGH LED \u2018LEDi yak\u0131p s\u00f6nd\u00fcrerek d\u00f6ng\u00fcn\u00fcn bitti\u011fini belirt.
\nPAUSE 200<\/p>\n
\nPAUSE 800
\nGOTO BASLA \u2018BASLA etiketine d\u00f6n
\nEND<\/p>\nDevrenin t\u00fcm i\u00e7eriklerini buradan temin edebilirsiniz.<\/span><\/h3>\n