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 :D 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 :D 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 :D
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 :D )
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.

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 :D
Projenin isis simülasyon görüntüsü
Projeye ait kaynak kod dosyaları, proteus isis simülasyon şeması ares pcb dosyaları: pic-18f452-ile-sicaklik-nem-basinc-algilayici.ZIP
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 |
- |
Yazar: Konyalı
Yazarımızın 320volt.com Blog üzerinde şu an okuduğunuz yazı dahil 15 yazısı bulunmaktadır. Yazarımız hakkında bilgileri ve diğer yazılarını görmek için bakınız; Konyali











Yazılar e-postanıza gönderilsin
Şö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ü
Bu devreyi 2*16 lcd ile nasıl çalıştırabilirim bu mümkünmü yada önerebileceğiniz başka biryol?