arduino nokia5110 ekran etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
DHT11 VE NOKIA 5110 EKRAN UYGULAMASI
Merhaba arkadaşlar.Bugün elimden geldigince arduıno ile DHT11 sıcaklık ve nem sensörünü tanıtıp bunu 5110 ekranı ile kullanarak basit bir uygulama yapacagız.Öncelikle DHT11 ve 5110 ekranı biraz tanıyalım.
DHT11:Nem degerini ±%5 hassasiyetle ve sıcaklık degerini ±2°C ölçen bir devre elemanıdır.Bu sensörü kullanmak için sadece 1 adet 10k dirence ihtiyaç duyarız.
1.bacagı :+5V2.bacagı: arduıno da herhangi bir pine ve 10k lık direnç ile +5v baglıyoruz
3.bacagı: boş bırakıyoruz
4.bacagı:GND yanı topraga baglıyoruz.
NOKIA 5110 EKRANI:
1.RST:pin 11
2.CE: pin 12
3.DC: pin 10
4.Din: pin 9
5.Clc: pin 8
6.Vcc: 3.3 V
7.BL: pin 7
8.Gnd: Toprak
Not:Yazılım kısmında bu pinler degiştirilebilir.
Pinler arasında bilmemiz gereken tek yer bence BL pinidir.5110 ekranında yan tarafta 4 adet mavi ışık var.Bunlar sayesınde ekranı aydınlatmaya yarar.
Gelelim Kod Kısmına :
#include <dht11.h> //Dht11 kutuphanesı
#include <LCD5110_Basic.h> //5110 kutuphanesı
LCD5110 lcd(8,9,10,11,12); //5110 baglantı kısımları
extern uint8_t SmallFont[]; //Küçük boy yazı için
extern uint8_t MediumNumbers[]; //Orta boy rakam için
extern uint8_t BigNumbers[]; // Büyük boy rakam için
dht11 DHT11; //DHT11 adı altında degişken tanımladık
#define DHT11PIN 2 //2 nolu pin DHT11PIN ismini verdik
void setup() {
lcd.InitLCD(); //5110 ekranını hazırladık.Bu kod olmazsa olmaz kodlarımızdan bir tanesıdır.
//Ve her 5110 ekranı ugularken yazılmak zorundadır
lcd.setContrast(60); //5110 ekranı kontrastını ayarladık
digitalWrite(7,HIGH); //7 nolu pini +5 v ver
}
void loop() {
int veri=DHT11.read(DHT11PIN); //DHT11PIN deki veri degerinin oku
float x=DHT11.humidity; // Sensorden nem degerını oku ve x degişkenıne ata
float y=DHT11.temperature;//Sensorden sıcaklık degerını oku ve y degişkenıne at
lcd.setFont(SmallFont);//5110 ekranına küçük harf yazılacagını belirten kod
lcd.print("NEM",60,0);//Yatay 60,dikey 0 yerine NEM yaz
lcd.setFont(MediumNumbers);//Orta boy rakam yazılacagını belirten kod
lcd.printNumI(x,RIGHT,10);//x degişkenını dikey 10 ve saga dayalı olarak yaz
lcd.setFont(SmallFont);//5110 ekranına küçük harf yazılacagını belirten kod
lcd.print("SICAKLIK",0,0);//Yatay 0,dikey 0 yerine SICAKLIK yaz
lcd.setFont(MediumNumbers);//Orta boy rakam yazılacagını belirten kod
lcd.printNumI(y,LEFT,10);//x degişkenını dikey 10 ve sola dayalı olarak yaz
delay(3000);
}