PIC 18F452 İle Sıcaklık-Nem-Basınç Algılayıcı

| Haziran 1, 2023 Tarihinde güncellendi
PIC 18F452 İle Sıcaklık-Nem-Basınç  Algılayıcı

Zorlu bir yılın ardından üniversitede dersler bitti. Benim gibi DGS ile elektrik-elektronik mühendisliğine geçenlerin işi gerçekten zor 😀 Dersler zaten zor birde üzerine intibak döneminde olmanın stresi… İyi kötü elimden geleni yaptım ama 16 dersin 5’inden kalmayı başardım. Bu yüzden tatil boyunca ders çalışmaya devam 😀 Ders çalışmanın yanında bu yaz uygulamayı düşündüğüm bazı projelerim var.

Projelerim;

• Birden çok sensör kullanılarak elde edilen verilerin kablosuz olarak bilgisayara aktarılması ve görsel bir arayüz kullanarak veri kaydedilmesi. Elde edilen veriler doğrultusunda uzak noktadaki çıkışların kontrol edilmesi ve LCD kullanılarak mesajlaşmak.

• Yukarıdaki projenin geliştirilerek ethernet ve USB üzerinden erişim sağlanması, verilerin her uç noktada SD/MMC karta kaydedilmesi,

• Eğer yukarıdaki projeler biterse protip PCB için basit bir CNC yapmak 😀

Bu projeleri gerçeklediğim takdirde PIC ve PICC konusunda epey yol kat edeceğime inanıyorum. Yaptığım çalışmalara elimden geldiğince paylaşmaya çalışacağım. İlk projemiz 18F452 ile sıcaklık-nem-basınç değerlerinin algılanması. Sıcaklık ve nem değerlerini algılamak için piyasada en çok bulunan SHT11 sensörünü kullandım (Biraz pahalı ama kaliteli 😀 )

Basıncı algılamak içinse MPX5100A sensörünü kullandım. SHT11 zaten dijital çıkış veriyor ve i2C protokolü ile haberleşiyor. Kullanımı için gerekli kütüphane dosyaları PICC için mevcut.

MPX5100A basınç sensörü ise analog bir çıkış üretiyor. Çıkışından elde edilen gerilim değeri kullanılarak basınç değeri hesaplanıyor. Gerekli formül datasheet’inde mevcut ve şu şekilde;

Nominal Transfer Value: VOUT = VS (P x 0.009 – 0.095)± (Pressure Error x Temp. Mult. x 0.009 x VS) VS = 5.0 V ± 5% P kPa

Buradan P değişkenini çekerek basınç değerini hesaplayabiliyoruz. Programı PICC dili kullanarak yazdım. Açılışta ve ana ekranda gösterilen grafikleri daha önce ki yazılarımda anlattığım şekilde Bitmap2LCD programını kullanarak oluşturdum.

algilama-devresi-isis-semasi

SHT11 ve MPX5100A’yı plakete dişi header kullanarak bağladım böylece istediğim zaman kablo ile uzatma yapabileceğim. Başlangıçta tek kaynaktan PC’ye veri aktaracağım için devreye grafik LCD ve fazladan butonlar ekledim ilerde kullanmak amacıyla. Sonraki adımda verileri RS232 üzerinden PC’ye aktarıp görsel bir arayüz aracılığıyla veritabanına kaydedeceğim.

Projeyi bu aşamadan sonra adım adım ilerletmeyi ve maddi güçüm, vaktim, vs yeterse 1 ayda bitirmeyi düşünüyorum.

Kolay gelsin 😀

Projenin isis simülasyon görüntüsü

PIC 18F452 İLE SICAKLIK-NEM-BASINÇ ALGILAYICI (Malzeme Listesi)

MALZEME ADI

ADET

PIC16F452

1

128×64 GRAFİK LCD

1

20MHz KRISTAL OSİLATÖR

1

33 pF KONDANSATÖR

2

100 nF KONDANSATÖR

2

330 uF KONDANSATÖR

2

10KΩ Direnç

5

7805 REGÜLATÖR

2

1N4001 DİYOT

2

SHT11 (SICAKLIK-NEM SENSÖRÜ)

1

MPX5100 (BASINÇ SENSÖRÜ)

1

KLEMENS

1×2(GİRİŞ)

BUTON

41

ERKEK-DİŞİ HEADER PİN

Projeye ait kaynak kod dosyaları, proteus simülasyon şeması ares pcb ;

pic-18f452-ile-sicaklik-nem-basinc-algilayici

Şifre-Pass: 320volt.com

Yayım tarihi: 2010/07/01 Etiketler: , , , , , ,



76 Yorum “PIC 18F452 İle Sıcaklık-Nem-Basınç Algılayıcı

  1. SeçkinSeçkin

    hocam merhaba bu usb ile haberleşme işi win7ye geçince kabus oldu ! buna bir çözümünüz varmı_

    CEVAPLA
  2. mertmert

    Çalışmanızdan dolayı kutluyorum bi sorum olacaktı bu çalışmanızdaki basınç değerini milibar olacak şekilde düzenleyebilirmisiniz? bu çalışmanız denizciler için hava tahmininde çok işe yarayabilir o yüzden soruyorum tekrar teşekkürler.

    CEVAPLA
  3. KonyaliKonyali

    @mert
    Tabiki milibara dönüştürülebilir ben sadece basınç sensörü datasheet indeki dönüşüm formulü kpa cinsinden sonuç verdiği için onu kullandım.

    CEVAPLA
  4. IOIO

    gayet güzel bir devre rüzgar ölçümü olursa uzak mesafe atışlarda yol gösterici olarak kullanılabilir.

    CEVAPLA
  5. a.kemala.kemal

    Merhaba, güzel bir çalışma olur inşallah. Bende aynı projeyle ilgileniyorum şu anda, yalnız PC programında takıldım, bunun için nasıl bir çözüm önerirsiniz,

    CEVAPLA
  6. KonyaliKonyali

    @a.kemal
    PC programını en kolay visual asic 6 veya delphi ile halledebilirsiniz zaten bu iki platform hakkında binlerce örnej var seri port iletişimi de çok basit en temel iletişim yöntemidir internette rahatlıkla benzer projeler bulabilirsiniz
    Kolay gelsin

    CEVAPLA
  7. özcan çifçiözcan çifçi

    selam ben özcan hasan bey ısı basınç nem algılayıcı yapıyorum malzemelerim tamam ama devrede bbutonların üstüne ne koyulacak anlamadım ?

    CEVAPLA
  8. KonyaliKonyali

    @Özcan Çiftçi
    Kusura bakmayın onları belirtmemişim ben genelde plaket üzerine buton,reset,..vs için ilerde kartı kutularsam kullanmak amacıyla erkek header pin(http://www.direnc.net/main/40_pin_tek_sira_erkek_header-4970-0-478.html ) takıyorum. Butonların üzerinde ve diğer isimsiz olanlar bu header lardan. Sensörler içinde bunların dişisinden kullandım. Bu arada baskı devreye geçmeden önce bread board üzerinde kurmanızı tavsiye ederim genelde grafik lcd uymuyor yanlış devre paylaşılmış gibi algılanıyor. Bu devrenin normal lcd lisini yapmıştım problemsiz çalışmıştı ama bu devrenin baskı devresini basmaya vaktim olmadı. Eğer devreyi yaptıktan sonra birkaç fotoğrafını çekip bana veya site yönetcisine ulaştırırsanız sizden sonra yapmak isteyeceklere ışık tutmuş olursunuz.
    İyi çalışmalar

    CEVAPLA
  9. özcan çifçiözcan çifçi

    sayın konyalı ben özcan bu devreyi kurma aşamasına kadar geldim sensörler ve grafik ekranı temin ettim sadece pic programlanacak ama butonların üstündeki ikişerli deliklere takılacak elemanı arıyorum orası boşmu kalacak yoksa bir şeymi takılacak birde entegrenin üstünde 3 bacaklı boşluk var orayada takılacak malzemeyi bulamadık

    CEVAPLA
  10. KonyaliKonyali

    Yukarıda da belirttiğim gibi baskı devredeki 2li 3lü 4lü isimsiz deliklere erkek header pin takmak için koymuştum daha sonra lazım olur belki diye siz isterseniz kullanmayabilirsiniz

    CEVAPLA
  11. özcan çifçiözcan çifçi

    Selam konyalı ben devreyi yaptım sayılır sadece bu sht11 nem sıcaklık sensörünü nasıl monte edeceğimi bilemiyorum şuan elimde smd eleman o çok küçük onu nasıl monte edeceğim bir akıl danışmak istedim

    CEVAPLA
  12. özcan çifçiözcan çifçi

    birde bu 18 bacaklı grafik ekran bende 20 bacak olanından var devreye taksam çalışırmı??

    CEVAPLA
  13. KonyaliKonyali

    @Özcan Çiftçi
    ben sht11 için http://www.denizelektronik.com/sht11.htm linkteki sensörü almıştım sende bu tip bir adaptör pcb yapabilirsin. Sensör havya ısısına çok fazla dayanamaz profesyonel yardım almalısın. Yada çok dikkatli ol smd malzemelerin lehimlenmesi hakkında internette videolar vs var onları izle. Grafik lcdye gelince bende PG12864-D marka lcd vardı çizimler ona göre kendi lcd markanızın internetten datasheet ine bakıp pin bağlantılarını vs düzenleyin.
    Kolay gelsin

    CEVAPLA
  14. özcan cifciözcan cifci

    sht11 i bir şekilde yaparım ama bendeki lcd grafik ekran 20 bacak ama adam bana 128×64 olarak yolladım dedi sadece 20 bacak o kadar normalde devreye taksam çalışır mı?datashete baktım ama bulamadım bi zahmet siz yardımcı olsanız modeli pvg120602 uyumlu olurmu sizce..

    CEVAPLA
  15. NebiNebi

    selam ,

    devreyi proteusta açıyorum ama açılmasıyla kapanması bir oluyor. proteus 7.7 sp2 den mi kaynaklanıyor acaba bu arada emeğine sağlık kardeşim

    CEVAPLA
    1. AhmetAhmet

      İyi günler uzun zaman önce paylaşılmış bir devre ama bu devrenin proton basic dilinde yazılımı var mı bana ulaşabilir misiniz

      CEVAPLA
  16. MuhammetMuhammet

    Grafık lcdyi nereden temin edebilirim yardımcı olurmusunuz markası nedir söylermisiniz?

    CEVAPLA
  17. MuhammetMuhammet

    hex dosyası hangisi bu devrenin pice yazılan bir sürü dosya var anlayamadım yardımcı olursanız sevinirim birde baskı devresinde 4 tane bosyere bir şey takılıyor mu parca ismi verilmemiş

    teşekkürler

    CEVAPLA
  18. KonyaliKonyali

    @Muhammet
    Yorumlarının tamamını ve yazıyı okursan sorularının cevapları var. 4 tane boş yer dediğin sanırım buton veya erkek header’dır.
    Kolay gelsin

    CEVAPLA
  19. GOKHANGOKHAN

    konyali ellerine sağlık bu devre için senle görüşmemiz mümkün mü aklıma takılan bazı sorular var ve kodlamada bazı yerlerde degiştirmem gereken şeyler var eğer yardım edersen çok güzel olur proje olarak sunacağım bunu okulda…

    CEVAPLA
  20. MertMert

    Sizden programın MİLİBAR cinsinden dönüşümünü nasıl yapabileceğimiz konusunda yardım alabilirmiyiz? Proje gerçekten harika teşekkürler.

    CEVAPLA
  21. KonyaliKonyali

    @Mert
    MPX5100 datasheet’ine bakarsan orada sensör çıkış geriliminden kPa cinsinden basınç değerini elde etme formulü var. kPa cinsinden basınç değerini elde ettikden sonra 1 Pa=10^-5 Bar eşitliğini kullanarak çevrim yapabilirsiniz. Örnek;
    Devre resminde görülen 100.39 kPa=1,0039 Bar= 1003,9 mBar yapar

    CEVAPLA
  22. MURATMURAT

    Merhaba ben devreyi kurdum baskı devre üzerine çalıştırdım. Ama şöyle bir sorunum var. Açılış ekranında çok bekliyor. ve açılış ekranındaki yazılarda çok geç geliyor anlamadım. Yardımcı olursanız sevinirim.

    CEVAPLA
    1. mustafamustafa

      KİRİSTAL HIZINI YÜKSELT YADA KODDAKİ delay_ms leri azaltmayı dene

      CEVAPLA
  23. KonyaliKonyali

    @MURAT
    Kaynak c kodu içerisinde main() fonksiyonu altında ekrana görüntü yüklendikten sonra delay_ms(4000) satırında 4000 değerini azaltırsan sorun çözülecektir ayrıca PIC 20MHz de çalışıyor olmalı

    CEVAPLA
  24. GOKHANGOKHAN

    Herkese kolay gelsin ben devreyi yaptım ama bir türlü ekrana yazı gelmiyor, nedenini bulamadı, kendi grafik lcd ye göre bağlantıyı düzenledim kodlarında kontrol ettim bulamadım hatayı, bağlantılarda doğru neleri kontrol etmem gerekir bunlar hakkında bilgilendirmeniz dileğiyle…

    Devre için çok teşekkür ederim emeğin çok büyük, çalmış gibi olmak istemiyorum bilgin dahilinde, proje olarak, sundum bilmeni isterim o yüzden adımı yazmak zorunda kaldım bunun içinde kusura bakma konyali arkadaşım yoksa devrenin sana ait olduğunu ve emeğinin çok olduğunu iyi biliyorum o yüzden teşekkürlerim, ve dualarımı esirgemiyorum senden 🙂 herkese hayırlı günler dilerim…

    CEVAPLA
  25. KonyaliKonyali

    @GOKHAN
    Bu projeleri ihtiyacı olanların kullanması için ekliyoruz siteye zaten bize yapacağın en büyük iyilik(dua etmenin yanında) proje sunumunu,baskı devreni vs burada paylaşman olacaktır.Böylece daha sonra kullanacak arkadaşların dualarından sende nasibini alırsın.Bu konuda Gevv hocam yardımcı olur.

    Sorununa gelince kontrast ayarından kaynaklanıyor olabilir yada hiç görüntü gelmiyorsa LCD nin farklı olmasından kaynaklanan problemler olabilir mesela simülasyonda RST bacağı var onu bağlamazsan simülasyon çalışmıyor ama benim kullandığım LCD de böyle bir bacak yoktu muhtemelen bağlantı problemin olabilir LCD datasheetini iyi incelemeni tavsiye ederim

    CEVAPLA
  26. GOKHANGOKHAN

    Öncelikle her şey için teşekkür ederim konyali arkadaşım devreyi zor zar çalıştırdım ama anlamadığım bir şey var düğmeleri ne için kullanıyoruz ekranda değişim olduğunda hafif gidip gelme gibi oluyor ekran sayılar değişiminde bunu engellemek için ne yapabilirim? ben parmağımı dokunduğum zaman sht11 sensörüne 27 C filan diyor normal vücut sıcaklığını göstermesi gerekmiyor mu yanı sıra nemde artıyor yüzdesi mpx5700 kullandım ben onu takmadığım halde 10 kpa filan gösteriyor birde ben mpx57000-700kpa arası ölçüm yapıyor bunu nasıl düzenleye bilirim ? biraz fazla soru sordum kusura bakma 🙂

    CEVAPLA
  27. GOKHANGOKHAN

    öncelikle teşekkür ederim ben rapor olarak yayınlarım ama fazla bilgi veremedim sensörler hakkında, çalışması hakkında verebildim baskı devrede ters olmuş ama ben o şekil kullanmak zorunda kaldım kutuya koyacağım ondan dolayı belli olmayacak tekrardan düzenlerim baskı devreyi o şekilde buraya koyarım onları bitmiş resimlerini vs hepsini toparlayım, şu projeyi teslim edeyim de ondan sonra burada yayınlayacağım Allah izin ederse benım son sorularım vardı onlar hakında bilgi verebilir misin? Konyali kardeşim ben sıkıntı çektim oralarda daha sensörlerin tam çalışıp çalışmadığını anlayamadım bilgilendirirsen sevinirim butonları özellikle ne işe yarıyor kalibrasyon ayarı için filan mı yoksa menü gösterimleri için mi? birde 7805 entegre ve sensör beslemesindeki ısınıyor çok neden ısınır akım çeker mi sensörler o kadar ?

    CEVAPLA
  28. GOKHANGOKHAN

    birde konyali kardeş senle bir iletişime geçebilirsek sevinirim bende senin gibi geçiş yapacağım bir konuşursak sevinirim…

    CEVAPLA
  29. muratmurat

    bir sorum daha olacak biz bu programı açıyoruz derlenmiyor. programı derleyemiyoruz bize kullandığınız kendi programınızı atabilirmisniz yada bir link verirmisiniz bir çok progam denedim ama olmadı yardımcı olursanız seviirim ilginiz için teşekkürler.

    CEVAPLA
  30. MuratMurat

    devrede başka bir sorunla karşılaştım. Elimi entegreye yaklaştırınca çalışıyor ama çekince ekran donup kalıyor tekrar yaklaştırınca entegre yavaşca dokununca ekran takıldığı yerden devam ediyor sorun nedir acaba acil yardım ederseniz sevinirim…

    CEVAPLA
  31. GOKHANGOKHAN

    @Murat

    o dediğin sorun muhtemelen picin bacaklarındna biri veya bir kaçı temas etmiyordur soket kullanıyorsan eğer ondan dolayıdır iyice tak soketi ve soğuk lehım varmı diyede iyice kontrol etmende yarar vardır

    CEVAPLA
  32. muratmurat

    20 mhz lik kristali söküp yerine 4 mhz kristal taktım sorun çözüldü. Şimdi çok kararlı bir şekilde çalışıyor. 20MHZ kristal fazla geliyor.

    CEVAPLA
  33. ibrahimibrahim

    Merhaba paylaşımın için teşekkür ederim. yanlız rar şifresi nedir ?

    CEVAPLA
  34. oktayoktay

    merhaba arkadaşlar ben bu devreyi yapmak istiyorum ama baskı devresindeki lcd – pic bağlantılarıyla devre şemasoındaki bağlantılar tam olarak aynı değil. birde Bende basınç sensörü olarak MPX200A var 4 bacaklı onu kullansam olur mu?

    CEVAPLA
  35. KonyaliKonyali

    @Oktay
    Şema ve baskı devre arasında nasıl bir fark var?
    Basınç sensörü olarak MPX200A kullanamazsınız çünkü o sensörün sıcaklık kompanzasyonu vs yok o sensörü kullanabilmek için sensör çıkışına farklı eklemeler yapmanız gerekir.Sensör datasheet lerini incelerseniz aradaki farkı görürsünüz.

    CEVAPLA
  36. KayseriKayseri

    emeğiniz için teşekkürler!. 🙂

    Yorumları inceledim bu lcd sorununu tam anlayamadım bende kurdum devreyi kendim çizdim baskı devreyi kullandıgım “pg12864-d” ye göre ama hiç görünt yok ://

    Bu sorunu nasıl atlatabiliriz ayrıntılı tane tane bilgilendirirseniz çok makbule geçer, dualarla 🙂

    CEVAPLA
  37. KonyaliKonyali

    @Kayseri
    1.Adım:
    Grafik LCD’nin çalaşır vaziyette olduğundan emin olun(başka devrede yada breadboard üzerinde denenmiş mi?) Eğer GLCD’nin çalıştığından eminsen 2.adıma geç

    2.Adım:
    GLCD’yi simülasyonda gözüktüğü şekliyle datasheet inden faydalanarak baskı devreye ekle (Not:PG12864-D nin data uçları datasheette belirtilen şeklin tam tersi DB7-DB0 olacak,CSA ve CSB de yer değiştirecek internette araştırırsanız bu konudan muzdarip pek çok insan var.Bende bu konudan daha önceki yazılarımda bahsetmiştim) bu adımda tamamsa 3. Adıma geç (Baskı devre çizmeden önce ilk defa kullanacağınız bir elemanı mutlaka breadboardda deneyin emeğiniz ve malzemeniz boşa gitmez:))

    3.Adım
    Devreyi kurdunuz PIC programını yazdınız programladınız ama çalışmadı. Bu adıma kadar sorun yoksa bundan sonrası tamamen yazılımdan kaynaklanır. Öncelikle kullandığınız kütüphane dosyalarını kontrol edin. Her zaman kullandığınız kütüphaneleri kendi yazdığınız dosyayla aynı klasöre koyun. Aksi takdirde derleyici Library klasöründen çağırır ve istenmeyen durumlara sebep olabilir. Tüm kodları ve kütüphaneleri aynı dizinde topladıktan sonra GLCD kütüphanesinde belirtilen bacak bağlantılarını devrenize veya simülasyona göre düzenleyin.Ve tekrar programlayın.

    Unutmayın ki elektronikte ilk defa kullanacağınız malzeme her zaman sorun çıkartır. Önceden tedbirinizi alın ve sabırlı olun:)

    CEVAPLA
  38. MenekşenMenekşen

    Herese merhaba. Ben bu devreyi bitirme projesi olarak düşünüyorum. Ancak LCD ekranında devreyi yapan arkadaşın ismi var. Tabiki olacaktır ama proje olarak okula sunacağım için ismin olmaması lazım. ben gazi üniversitesi meslek yüksek okulunda okuyorum. ismin yerine okulun adını yazmak istiyorum. Devreyi yapan hocamdan rica ediyorum eğer onun için bir mahsuru yoksa bu değişikliği yazılımda nerede ve nasıl yapacağımı yazabilirmi? Şimdiden çok teşekkür ederim.

    CEVAPLA
  39. OktayOktay

    Hocam Şema ve baskı devreyi karşılaştırdım ve LCD ile PIC arasındaki bağlantıların farklı olduğunu gördüm. Eğer devreyi bu haliyle çalıştıran arkadaşlar varsa dikkatsizliğimden dolayı özür dilerim. Hocam birde ben MPX5100 basınç sensörünü bulamadım onun yerine kullanabileceğim basınç sensörleri varsa kodlarını yazabilir misiniz? Yada MPX5100 alab,leceğim internet sitesi adresi biliyor musunuz sipariş vermem için herhangi bir site adresi olabilir.

    CEVAPLA
  40. GOKHANGOKHAN

    @OKTAY

    Oktay sen sensörü şuralardan birinden temin edebilirsin http://www.sahibinden.com/search.php?a=4&&b%5Bsearch_text%5D=mpx&b%5Bpage%5D=1&b%5Bsort_field%5D=date_first_activated&b%5Bsort_order%5D=desc&c2=3&c=3&sListe=1

    @MENEKŞEN

    ılk satırdakı kodlamadkı su kısmı:

    //Açılış ekranı görüntüsü
    const int8 image_0[64][16]={
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x03 0xFF 0xFF 0x80 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x0C 0x00 0x00 0x60 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x10 0x03 0x00 0x10 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x20 0x04 0x80 0x08 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x20 0x08 0x40 0x08 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x40 0x09 0xC0 0x04 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x40 0x08 0x40 0x04 0x00 0x00,
    0x00 0x03 0xB8 0x41 0xC2 0x19 0xC0 0x00,
    0x00 0x00 0x40 0x09 0xC0 0x04 0x00 0x00,
    0x00 0x01 0x10 0x42 0x42 0x08 0x80 0x00,
    0x00 0x00 0x40 0x08 0x40 0x04 0x00 0x00,
    0x00 0x01 0x10 0xA2 0x05 0x0C 0x80 0x00,
    0x00 0x00 0x40 0x09 0xC0 0x04 0x00 0x00,
    0x00 0x01 0xF0 0xA1 0x05 0x0A 0x80 0x00,
    0x00 0x00 0x40 0x18 0x60 0x04 0x00 0x00,
    0x00 0x01 0x10 0xA0 0x85 0x0A 0x80 0x00,
    0x00 0x00 0x40 0x10 0x20 0x04 0x00 0x00,
    0x00 0x01 0x11 0xF0 0x4F 0x89 0x80 0x00,
    0x00 0x00 0x40 0x27 0xB0 0x04 0x00 0x00,
    0x00 0x01 0x11 0x12 0x48 0x88 0x80 0x00,
    0x00 0x00 0x40 0x3F 0xF0 0x04 0x00 0x00,
    0x00 0x03 0xBB 0xBB 0x9D 0xDC 0x80 0x00,
    0x00 0x00 0x40 0x3F 0xF0 0x04 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x20 0x1F 0xE0 0x08 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x20 0x1F 0xE0 0x08 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x10 0x07 0x80 0x10 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x0C 0x00 0x00 0x60 0x00 0x00,
    0x02 0x80 0x05 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x03 0xFF 0xFF 0x80 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x0E 0xEF 0xDD 0xDC 0x38 0xEF 0xDF 0x80,
    0x01 0xFF 0xFF 0xC0 0x07 0xFF 0xFF 0x00,
    0x04 0x48 0x88 0x88 0x18 0xC4 0x51 0x00,
    0x06 0x00 0x00 0x30 0x18 0x00 0x00 0xC0,
    0x04 0x41 0x08 0x88 0x18 0xC5 0x02 0x00,
    0x08 0x00 0x00 0x08 0x20 0x0F 0x80 0x20,
    0x04 0x42 0x08 0x88 0x15 0x47 0x04 0x00,
    0x10 0x00 0x80 0x04 0x40 0x32 0x60 0x10,
    0x04 0x42 0x08 0x88 0x15 0x45 0x04 0x00,
    0x10 0x00 0x80 0x04 0x40 0x48 0x90 0x10,
    0x04 0x44 0x08 0x88 0x15 0x44 0x08 0x00,
    0x20 0x01 0x40 0xC2 0x80 0xA2 0x28 0x08,
    0x04 0x48 0x48 0x88 0x92 0x44 0x50 0x80,
    0x20 0x02 0x21 0x22 0x80 0x87 0x08 0x08,
    0x03 0x8F 0xC7 0x1F 0xBA 0xEF 0xDF 0x80,
    0x21 0x84 0x12 0x12 0x81 0x42 0x14 0x08,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x22 0x44 0x12 0x12 0x81 0x02 0x04 0x08,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x24 0x24 0x11 0x22 0x81 0x42 0x14 0x08,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x24 0x28 0x08 0xC2 0x81 0xFF 0xFC 0x08,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x22 0x48 0x08 0x02 0x80 0xFF 0xF8 0x08,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x21 0x90 0x04 0x02 0x80 0xFF 0xF8 0x08,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x20 0x08 0x08 0x02 0x80 0x7F 0xF0 0x08,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x20 0x08 0x08 0x02 0x80 0x3F 0xE0 0x08,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x10 0x06 0x30 0x04 0x40 0x0F 0x80 0x10,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x10 0x01 0xC0 0x04 0x40 0x02 0x00 0x10,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x08 0x00 0x00 0x08 0x21 0xFE 0x00 0x20,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x06 0x00 0x00 0x30 0x18 0x00 0x00 0xC0,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x01 0xFF 0xFF 0xC0 0x07 0xFF 0xFF 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0xF2 0x38 0x21 0x0A 0x0A 0x10 0x42,
    0xFA 0x08 0x3E 0x08 0x3C 0xA1 0x1C 0x00,
    0x01 0x0A 0x44 0x51 0x12 0x0A 0x20 0x62,
    0x83 0x18 0x21 0x14 0x42 0xB1 0x22 0x00,
    0x01 0x02 0x80 0x51 0x22 0x0A 0x40 0x52,
    0x83 0x18 0x21 0x14 0x40 0xA9 0x40 0x00,
    0x00 0xC2 0x80 0x51 0x62 0x0A 0xC0 0x52,
    0xFA 0xA8 0x3F 0x14 0x30 0xA9 0x40 0x00,
    0x00 0x32 0x80 0x89 0xA2 0x0B 0x40 0x4A,
    0x82 0xA8 0x21 0x22 0x0C 0xA5 0x40 0x00,
    0x00 0x0A 0x80 0xF9 0x12 0x0A 0x27 0x4A,
    0x82 0xAB 0xA1 0x3E 0x02 0xA5 0x40 0x00,
    0x01 0x0A 0x45 0x05 0x12 0x0A 0x20 0x46,
    0x82 0x48 0x21 0x41 0x42 0xA3 0x22 0x00,
    0x00 0xF2 0x39 0x05 0x0B 0xEA 0x10 0x42,
    0xFA 0x48 0x3E 0x41 0x3C 0xA1 0x1C 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x04 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x00 0x00 0x0C 0x00,
    0x00 0x00 0x00 0x00 0x04 0x20 0x38 0xA0,
    0x10 0x82 0x8E 0x40 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x0A 0x20 0x44 0xA0,
    0x28 0x44 0x91 0x40 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x0A 0x20 0x82 0xA0,
    0x28 0x44 0xA0 0x40 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x0A 0x20 0x80 0xA0,
    0x28 0x28 0xA0 0x40 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x11 0x20 0x8E 0xA0,
    0x44 0x10 0xA0 0x40 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x1F 0x20 0x82 0xA0,
    0x7C 0x10 0xA0 0x40 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x20 0xA0 0x44 0xA0,
    0x82 0x10 0x91 0x40 0x00 0x00 0x00 0x00,
    0x00 0x00 0x00 0x00 0x20 0xBE 0x38 0xBE,
    0x82 0x10 0x8E 0x40 0x00 0x00 0x00 0x00
    };

    bu kısmı aşagıdakı gibi değiştireceksin:

    //Açılış ekranı görüntüsü
    char image_0[]={“GOKHAN”};
    char image_2[]={“GUNEY”};

    ve aşagıda lcd kısmı var ekran kısmı su kısımdada:

    void glcd_image(int tip)
    {
    char i,j;
    signed char k;
    if (tip==0){ //Açılış ekranı yükleniyor
    for( i = 0 ; i < 64 ; i ++ )
    {
    for( j = 0 ; j -1;–k)
    {
    if( bit_test(image_0[i][j] ,7-k ))
    glcd_pixel( j*8+k,i, ON );
    }
    }
    }
    }

    şu şekilde degiştireceksin sayılarla oynaraka ekranındaki yerini degiştirebilirsin ilk satır sayısı ikinciside sütun sayısıdır :

    void glcd_image(int tip)
    {
    char i,j;
    signed char k;
    glcd_text57(10,10,image_0,2,ON);
    glcd_text57(60,35,image_2,2,ON);

    CEVAPLA
  41. MetinMetin

    merhaba arkadaşlar. LGM12641BS1R LCD datasheet bulamadım. LCD ekranda bilmediğim uçlar varda. Başka bir lcd ekran bağlarsam devreye yanlış yapmamak için datasheet e ihtiyacım var. bir çok LCD de CS1 ve CS2 uçları yok.

    CEVAPLA
  42. KayseriKayseri

    Adımları uyguladım Kristali 4 mhz’e ayarldım görüntü aldım fakat görüntü bozuk yani göstergeler okunmuyor çarpık çurpuk onu çözemedim başka Glcd ile de denedim aynı görüntü program çalışıyor ama görüntüyü düzeltemedim bir türlü 🙁

    CEVAPLA
  43. KonyaliKonyali

    @Kayseri
    PIC programı 20MHz e göre yazıldı neden 4 MHz kullandın?
    Kristali 20 MHz yaptıktan sonra HDM64GS12x.c kütüphanesi içinden glcd_writeByte ve glcd_readByte fonksiyonları içinden enable ucunun aktif kalma süresini değiştirerek görüntüyü netleştirebilirsin

    CEVAPLA
  44. KayseriKayseri

    20 mhzde hiç görüntü alamadık 🙁 yazılımıda 4 mhz yaptık Görüntü geldi zira net değil. şimdi bu son dediklerinizi uygulayayım birde inşAllah düzelir :/

    CEVAPLA
  45. KayseriKayseri

    4mhz yapınca görüntü geldi yazılımdanda ayarladık. şu son dediklerinizi uygulayayım bakalım inşAlah Çalışır zira bir örnek verebilirmisiniz bu enable ucunun aktif kalma süresini değiştirmeye bir kaç satır gösterebilirmisiniz?

    CEVAPLA
  46. KayseriKayseri

    Bakın benim sorunum bu verdiğim linkte resmini ekledim.

    ekran1-glcd-hata-lcd-error

    CEVAPLA
  47. uzulmezhasan@hotmail.com[email protected]

    @Kayseri
    void glcd_writeByte(int1 side, BYTE data)
    {
    if(side) // Choose which side to write to
    output_high(GLCD_CS2);
    else
    output_high(GLCD_CS1);

    output_low(GLCD_RW); // Set for writing
    output_d(data); // Put the data on the port
    delay_cycles(1);
    output_high(GLCD_E); // Pulse the enable pin
    delay_cycles(5);
    output_low(GLCD_E);

    output_low(GLCD_CS1); // Reset the chip select lines
    output_low(GLCD_CS2);
    }

    // Purpose: Reads a byte of data from the specified chip
    // Ouputs: A byte of data read from the chip
    BYTE glcd_readByte(int1 side)
    {
    BYTE data; // Stores the data read from the LCD

    set_tris_d(0xFF); // Set port d to input
    output_high(GLCD_RW); // Set for reading

    if(side) // Choose which side to write to
    output_high(GLCD_CS2);
    else
    output_high(GLCD_CS1);

    delay_cycles(1);
    output_high(GLCD_E); // Pulse the enable pin
    delay_cycles(4);
    data = input_d(); // Get the data from the display’s output register
    output_low(GLCD_E);

    output_low(GLCD_CS1); // Reset the chip select lines
    output_low(GLCD_CS2);
    return data; // Return the read data
    }

    #endif

    bu fonksiyonlarda ki gecikmelerin sürelerini oynayarak programı tekrar derleyin.

    CEVAPLA
  48. KayseriKayseri

    İşin kötüsü bunu nasıl yapacağımı bilmiyorum 🙁 bu gecikme süreleri bir örnek verirseniz telefonla görüşmemiz mümkünmü bilgi alsam kısa bir örnek bir gösterseniz söyleseniz ?

    CEVAPLA
  49. KayseriKayseri

    Şöyle bir durum var birde şimdi yazılım 20 mhzde 20 mhz kristal taktığımda hiç görüntü yok…
    Yazılım 20 mhz de iken 4 mhz kristal taktıgımda bu görüntü geliyor 🙁
    yazılımı 4mhz yapıyorum 4 mhzlik kristal takıyorum gene aynı görüntü

    CEVAPLA
  50. KayseriKayseri

    Bu devreyi 2*16 lcd ile nasıl çalıştırabilirim bu mümkünmü yada önerebileceğiniz başka biryol?

    CEVAPLA
  51. TurKuaZTurKuaZ

    peki bu 3 veri ile basınç, sıcaklık, nem, anlık hava tahmini yapılabilirmi? yapılırsa neye göre olur, mesela basınç belli aralıkta iken nem %**’nın üzerinde ise artı sıcaklıkta yağmur eksi olursa kar yağar gibi falan,
    alışveriş sitelerinde hava tahmin cihazları var masa saati gibi onlar hangi mantıkla çalışıyor acaba,
    Meteoroloji bilgisi olan bir arkadaşın cevap vermesi lazım sanırım. 🙂

    CEVAPLA
  52. YelenYelen

    Bu projeyi birkaç arkadaş bizde yapmayı istiyoruz.Bu devreye kablosuz bir eklenti yapabilir miyiz? RFİD vb.

    CEVAPLA
  53. Erdi AYErdi AY

    Aynı devreyi yaptık ama lcd ekrana hiç bi şekilde görüntü aktaramadık.Kristali 4 mhze düşürdük sonuç yine hüsran.lcd çıkışlarına bi kaç tane led bağladım ledler çalışıyor ama lcdde hiç bir karakter çıkmıyor sorun nerde olabilir bu arada bizim lcdmizin modeli TG12864B-28(R)

    CEVAPLA
  54. KonyaliKonyali

    @Erdi AY
    LCD KS108 denetleyicisi kullanmıyor olabilir. Kristali düşürmenizin olumlu bir etkisi olmayacaktır. LCD datasheetini inceleyerek bağlantı pinlerini ve denetleyicisini kontrol ediniz.

    CEVAPLA
  55. MehmetMehmet

    Merhaba TG12864b de piksel kayma sorunu yaşıyorum,
    datasheet de gördğüm kadarıyla “Viewing angle: 6 o’clock”
    clock zamanını nereden değiştirebilirim yazılar kayık ve bazı pikseller çıkmıyor. 1/64 duty cycle, 1/9 Bias nedir bunu da sürücüden değiştirmek gerekirmi ve nasıl değişir.

    lütfen yardım

    CEVAPLA
  56. muratmurat

    devre çalışıyor ben yaptım. 8mhz lik kristal kullanmanızı tavsiye ederim. Ayrıca ekran seçimide önemli

    CEVAPLA
  57. erkanerkan

    hocam paylasımınız çok iyi ama lcd yi temin edemedim bir türlü bu konuda nereden temin edebileceğimi veya hangi siteden bulacağım konusunda yardımcı olurmusunuz…

    CEVAPLA
  58. ERKANERKAN

    hocam hangi siteye baksam 10-15 lira deniyor bulması kolay deniyor lcd için ama ben bulamadım.yardım edin yoksa proje dersinden kalacağım

    CEVAPLA
    1. gevvgevv

      LCD Kodu: WG12864B

      “WG12864B ürün” yada “WG12864B fiyat” olarak googlede aratın satıcılara ulaşırsınız

      CEVAPLA
  59. erkanerkan

    hocam elimdeki lcd bu zaten fakat projedeki 18 pin girişli lcd bulamadım zamanım daraldı ve proteus çiziminde her seferinde sorun yasıyorum.18 pın girişli bulacağım bir yer varmı…

    CEVAPLA
  60. erkanerkan

    hocamın verdiği malzeme listesinde lcd kodu PG12864G idi yanılmıyorsam bunu bulmam gerekiyor

    CEVAPLA
  61. emreemre

    merhabalar hocam,
    elinize sağlık çok güzel bir proje olmuş. ama mpx5100 sensörünü Türkiyede bulamadım. bunun yerine kullanabileceğimiz bir sensör var mı ?

    CEVAPLA
  62. MehmetMehmet

    Baskı devredeki LCD WG12864B göre çıkartılmamış. Devreyi yapmak isteyenler, kullanacakları LCD nin pin bağlantılarını baskı devrede ayarlayarak hazırlamaları gerekmekte. Sonradan benim gibi mağdur olmayın.

    CEVAPLA
      1. MehmetMehmet

        proteus ares programı ile kullandığın GLCD nin baskı devresini tekrar düzenleyebilirsin.

        CEVAPLA
  63. Uğur TombulUğur Tombul

    Hocam merhabalar sizin kullandıgınız LCD yi bulamadık bizde WG12864B LCD aldık ama bir turlu LCD de sonuc alamadık kodunda nasıl degısıklıkler yapmamız gerekıyor bız Graphıcs ve HDM dosyasını degıstırıyoruz ama bır turlu olmadı yardımcı olabılırmısınız

    CEVAPLA
  64. ahmetahmet

    hocam paylaşım için sağolun çok güzel olmuş. Benim proje sıcaklık nem konrol sistemi aslında ortamın sıcaklığını ve nemi okuyup ona göre led yakcak ama hocamız lcd ekransız yapmamızı istiyor yani bilgisayarla bilgi akış çıkşı yapacağız. yardımcı olursanız sevinirim

    CEVAPLA
  65. ugurugur

    merhaba benimde çalışan bir devrem var bu devrede normalde ısı var ama ben ayrıca nemde eklemek istiyorumsize benim kodları versem acaba benim devre içerisine sizin bu kodları ekleme şansınız varmı ben beceremedim `

    CEVAPLA

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir