128×64 GLCD ile Hava kalitesi ve nem-sıcaklık kontrolü

Merhaba arkadaşlar,

Geçenlerde paylaştığım Grafik LCD kullanılması yazısından yola çıkarak Hava kalitesini ve nem sıcaklığı ölçüp bu değerleri LCD’de yazdırdım .  Projede kullanılan LCD kullandığım arduinonun çoğu pinlerini kullanıyor bundan dolayı kullanıcıya sadece 7 pin kalıyor . Ama bu yedi pinle küçük projelerinizi rahatlıkla gerçekleştirebilrisiniz.

Bu 7 pin aşağıdaki gibidir.

3,2,1,0, ve 12,13 ve A5 dir.

İnternette araşmalarımda bu LCD’yi UNO ile kullanan kişiler RF alıcı verici ile inanılmaz projeler gerçekleştirmişler Akıllı ev otomasyonunda mükemmel animasyonlar yaptırmışlar. Bu değerleri gönderen arduino ile herşeyin kontrolü sağlanmış ama GLCD’li alıcı devresinde sadece değerleri kullanıcılara sunmuşlar . Bu da hakikaten çok akıllıca yöntem ama projelerinizde mega gibi bir modeli kullanırsanız , bu işkencelere gerek duymadan herşeyi yaparsınız .

Arkadaşlar GLCD için kütüphaneyi araştırma fırsatım oldu belirtmeden edemeyeceğim adamlar mükemmel kütüphane yapmışlar , bir bar grafiği yapmak için bir satır kod yetiyor. Kullanıcıyı uğraştıracak herhangi bir sıkıntıyla karşılaşmadan hertürlü projeyi yapabilirsiniz. Programı kontrol ettiğinizde sizde göreceksiniz .

Kullanılan Malzemeler

1 adet arduino UNO

1 Adet GLCD

1 adet DHT11

1 Adet MQ135 Gaz sensörü

Projemizin videosunda  da gördüğünüz gibi sadece kullanımını merak ettiğim için gerçekleştirdim bundan dolayı daha güzel bir dizayn olabilirdi.

Bağlantı Şeması

MQ135

Yukarıdaki devrede analog in yazan yeri arduinomuzun herhangi bir analog girişine bağlanmalıdır. Bu projemizde arduinomuzun A5 pinine bağlıdır.

DHT11 sıcaklık ve nem sensörü ise 2. pine bağlıdır.

 

Arduino Programı

#include <openGLCD.h>
#include <bitmaps/Logom.h>
#define MAXVAL 100
#define DELAY 4000 
int havakalite = A5;

#include "DHT.h"
// 3,2,1,0, ve 12,13 ve A5 kullanılabilir.
#define DHTPIN 2 
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);
void setup()
{
	GLCD.Init();
 dht.begin();
pinMode( havakalite, INPUT);
	
GLCD.DrawBitmap((Logom128x64),0,0);
  GLCD.SelectFont(System5x7);
  GLCD.CursorTo(5, 7);
   GLCD.print("www.arduinom.org");
	delay(DELAY);

}

void loop()
{
 int h = dht.readHumidity();
 int t = dht.readTemperature();
GLCD.ClearScreen();
int hava= analogRead(havakalite);
int havayuzde = map(hava , 0 ,1023,0, 100);
GLCD.print("Hava Kalitesi  :  ");
GLCD.print(havayuzde);
GLCD.CursorToXY(0, 10);
GLCD.print("Hava SICAKLIGI :  ");
GLCD.print(t);
GLCD.CursorToXY(0, 20);
GLCD.print("    Havadaki NEM  ");
	//	GLCD.DrawHBarGraph(GLCD.Left+10, GLCD.Top+21, GLCD.Width-2*10, 10, 1, 0, MAXVAL, havayuzde);
                GLCD.DrawHBarGraph(GLCD.Left+10, GLCD.Top+30, GLCD.Width-2*10, 20, 1, 0, MAXVAL, h);

GLCD.CursorToXY(GLCD.CenterX-12, 55);
GLCD.print("% ");
GLCD.print(h);

delay(DELAY);
  
}

Boş zamanlarda arduino ile uğraşan kendi halinde bir Öğretmen.

  
  1. omer 3 Mayıs 2016 14:45

    kütüphanesinin linkini ve bağlantı şemasını da paylaşabilir misiniz!

    Cevapla

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.