mBlock ile Arduino! DHT11 Sensörü ile LCD Termometre
mBlock serimize, DHT11 Sıcaklık ve Nem sensörü kullanarak devam ediyoruz. Bildiğiniz gibi önceden LM35 sıcaklık sensörü hakkında bir yazı paylaşmıştık. Aralarındaki en belirgin fark ise, DHT11 sensörünün, nem ölçme özelliğinin de olmasıdır. Tabii ki daha detaylı bilgi için data sheet’i incelemek daha mantıklı olacaktır.
DHT 11 Nedir?
Öncelikle ölçüm aralıklarından bahsetmek gerekirse, DHT11 nemi ±%5 hassasiyetle, 0-50°C aralığındaki sıcaklığı ise ±2°C hassasiyetle ölçebilen sensörlerdir. Fiyatı uygun olmakla birlikte, bu sebepten ötürü hassasiyeti çok yüksek değildir.
Bu sebeple ciddi anlamda hassas ölçümler yapmak istemediğiniz, daha basit durumlarda kullanabileceğiniz bir sensör çeşididir.
LCD Ekran Nedir?
Öncelikle LCD kavramı, Liquid Crystal Display kelimelerinin birleşmesiyle oluşmaktadır. Bu kavramı Türkçeye çevirdiğimizde karşımıza Sıvı Kristal Ekran gelmektedir. LCD’nin kendi iç yapısı bir sürü katmana ayrılmaktadır. Bu katmanların birlikte çalışmasını sonucu görüntü elde edilir. LCD ekran genel olarak robotik projeleri olsun, otomasyon projeleri olsun, birçok alanda karşımıza çıkmaktadır. Günümüzde LCD Panellerin bir sürü boyutu olması ile birlikte en yaygın kullanımı 2×16 boyutlarında olandır. Tabii ki LCD’ye göre bu durum birçoğunda değişse de 14 tanesi kontrol ve 2 tanesi arka plan ışığı için olmak üzere 16 adet bacak bulunur.
Uygulama
Bugün ki uygulamamızda ise, hem sıcaklık ve nem sensörü olan DHT 11 ve LCD ekran kullanarak dijital termometre yapacağız. Hem sıcaklık hem nem değerlerini ekranımız sayesinde anlık olarak gözlemleyebileceğiz. Uygulamamızı yaparken 2×16 LCD kullandım ama siz istediğinizi kullanabilirsiniz.
Gerekli Olan Malzemeler
- Arduino UNO
- LCD 2×16
- DHT 11
- Potansiyometre
- Breadboard
- Jumper Kablo
Bağlantı Şeması
- Vss-GND
- Vcc-5V
- VEE (Kontrast ayarı)- potansiyometre orta bacağı
- RS-8 numaralı pin
- RW-GND
- E-9 numaralı pin
- D4-4 numaralı pin
- D5-5 numaralı pin
- D6-6 numaralı pin
- D7-7 numaralı pin
- A-5V
- K-GND
DHT 11 bağlantısı;
- 1-Vcc(+)
- 2-Signal
- 3-Not Signal
- 4-GND(-)
Kod Blok Yapısı
Öncelikle bu uygulamamıza başlamadan önce belirtmek isterim ki 2 adet eklenti indirmeniz gerekmektedir. Kullanacağımız eklentilerin isimlerini sırası ile vermek gerekirse.
- DHT Extensions
- LCD
İsimli eklentiler olacaktır. Zaten bir önceki yazımızda eklentilerin nasıl yüklendiğini ve çalıştırıldığını daha detaylı bir şekilde anlatmıştım.
Anlayacağınız üzere Arduino Kipi modunda kullanacağımız için, programlamamıza “Arduino Programı” adlı kod bloğu ile başlıyoruz. Devamında ise LCD ekranını temizlemek için “LCD clear” adlı kod bloğu ile devam ediyoruz. Kullanacağımız DHT türüne göre ve pine bağlı “DHT no 1, pin10, Version DHT11” adlı kod bloğumuzu koyuyoruz. DHT11 tanımlandığına göre altına sürekli tekrarla bloğunu koyarak döngümüzün içine giriyoruz. LCD set cursor ile imlecimizin pozisyonunu ayarlıyoruz. Devamında ise işlemlerden aldığımız birleştir bloğu ile DHT11 sensöründen aldığımız değeri Sıcaklık: “sensör değeri” olarak yazdırıyoruz. Tabii ki bu olay döngüsüne 2,5 saniye veriyorum. Sebebi ise devamında “LCD clear” adlı kod bloğu ile ekranı temizleyerek baştan devreyakan yazdırıyorum. Sonuna ise 1 saniye bekleme vererek, bu olay örgüsünün 1 saniye çalışmasına izin veriyorum. Artık kodumuz çalışmaya hazır hale gelmiş bulunmaktadır. Tek yapmanız gereken baştan kontrol edip, Arduino’nun Port bağlantısını yapmak olacaktır. Ardından kodu Arduino’ya başarı ile yükleyip çalıştırabilirsiniz.
Program Kodu
Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.