in ,

Arduino, Nrf24l01 ile DHT11 kullanarak Lcd Ekrana Sıcaklık Verisi Yollama

Merhaba arkadaşlar arduino ile projelerde olabildiğince hızlı ilerlemeye çalışıyoruz. Bugün ki konumuz bir önceki yazımızın devamı niteliği taşımakta. ( bir önceki yazıyı okumadıysanız buradan ulaşabilirsiniz 🙂 )

Geçen sefer sıcaklık verilerini serial monitörden okumuştuk şimdi ise I2C LCD ekrandan okuyacağız.. Bildiğiniz üzere I2C LCD Ekranın kullanımını daha önceki yazılarımda anlatmıştım kullanımını bilmiyorsanız şuradan bakabilirsiniz. 🙂

Her şey bir önceki yazıyla aynı sadece lcd ekran bağlayacağız ve kodunda azıcık oynama yapacağız..

Kısa bilgilendirmenin ardından isterseniz zaman kaybetmeden projemize geçelim.. 🙂

Her zamanki gibi birkaç tane vatandaşa ihtiyacımız var…

Malzeme Listesi

1- Herhangi bir arduino modeli 2 Adet

2- Nrf24l01 2 Adet

3- Dht11 ve 4,7 K direnç

4- I2C dönüştürücü modül

5- 16×2 LCD

6- Gerekli ekiptmanlar

Not: Tüm bu malzemeleri elektronik parça satan yerlerde bulabilirsiniz yada şu ve bu adreslerden internet üzerinden güvenle sipariş edebilirsiniz 

Ayrıca eğer zamanım bol diyorsanız Çin’den de Aliexpress vasıtasıyla getirtebilirsiniz. Daha uygun fiyata gelecektir. 🙂

Devre Şeması

Alt tarafta çizdiğimiz devre şemasına bakarak uygun arduino modeline göre devremizi breadboard’umuza kuralım.

Alıcı Devresi

Sizinde gördüğünüz üzere bu devreye diğer devreden farklı olarak Lcd ekledik..

Not: Arduino ve I2C LCD Modülün Bağlantı Şeması , SDA = A4 ve SCL = A5‘ tir. Lakin Arduino Mega da ise I2C LCD Modülün Bağlantı Şeması SDA = 20,SCL = 21 dir.(Zaten mega kullananlar göreceklerdir ki 20. pinin yanında SDA,21. pinin yanında SCL yazmaktadır.)

Verici Devresi

Bu devremizde herhangi bir değişiklik yok.

Dikkat: Bütün bağlantıları yapıp arduino kodlarını da yükledikten sonra modüller arasında iletişim sağlanmaz ise her iki modülün de VCC ve GND pinleri arasına 10 uF değerinde kondansatör yerleştirerek tekrar deneyiniz.  Yada daha önceki yazımda anlattığım gibi adaptör alınız 🙂

Yazılım

Bu modüllerle çalışabilmek için 3 Farklı kütüphaneye gerek duyuyoruz. Bunlardan birincisi DHT11 ikincisi RF24 sonuncusu ise lcd’miz için LiquidCrystal_I2C kütüphanesi. Daha önceki yazılarımda vermiştim ama kurmayanlar için aşağıdan indirebilirsiniz..

Öncelikle Nrf24l01 kütüphanesi;

İkinci olarak Dht11 kütüphanesi;

Üçüncü olarak LiquidCrystal_I2C kütüphanesi;

Kütüphanelerimizi indirdikten sonra aşağıda belirtilen yoldaki klasöre rar dosyasından dan çıkarıp atın.

Rar Şifresi: donanimplus.com

Belgeler >  Arduino > libraries

Bildiğiniz üzere iki devremiz var ve bunlar için gerekli iki yazılım hemen aşağıda 🙂

Verici Yazılımı

//DONAIM PLUS ELEKTRONİK
// MODİFİKASYON TOLGA SOYTEPE
// İNSTAGRAM TOLGASYTP
// TWİTTER TSytpp
// Arduino, Nrf24l01 ile DHT11 kullanarak lcd'den Sıcaklık Bilgileri Okuma
// 2019
// VERİCİ YAZILIMI
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <DHT11.h>
 
int pin = A0;
DHT11 dht11(pin);
float veri[2];
 
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
 
void setup(void) {
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
}
 
void loop(void)
{
float sicaklik, nem;
dht11.read(nem, sicaklik);
veri[0] = sicaklik;
veri[1] = nem;
radio.write(veri, sizeof(veri));
delay(1000);
}

Yazılım kodlarını aşağıdan indirebilirsiniz 🙂

Alıcı Yazılımı

//DONAIM PLUS ELEKTRONİK
// MODİFİKASYON TOLGA SOYTEPE
// İNSTAGRAM TOLGASYTP
// TWİTTER TSytpp
// Arduino, Nrf24l01 ile DHT11 kullanarak lcd'den Sıcaklık Bilgileri Okuma
// 2019
// ALICI YAZILIMI
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
float veri[2];
 
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
 
void setup(void) {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1, pipe);
radio.startListening();
lcd.begin();
lcd.backlight();
lcd.clear();
lcd.print("Nem - Sicaklik");
delay(1000);
lcd.clear();
lcd.print("Baglaniyor.....");
delay(1000);
}
 
void loop(void)
{
if ( radio.available() )
{
bool done = false;
while (!done)
{
done = radio.read(veri, sizeof(veri));
lcd.clear();
delay(500);
lcd.setCursor(0, 0);
lcd.print("Sicaklik:");
lcd.setCursor(0, 1);
lcd.print("Nem:");
lcd.setCursor(11, 0);
lcd.print(veri[0]);
lcd.print(" C");
lcd.setCursor(6, 1);
lcd.print(veri[1]);
lcd.print(" %");
delay(1000);
}
}
}

Yazılım kodlarını aşağıdan indirebilirsiniz 🙂

Dikkat: Bütün bağlantıları yapıp arduino kodlarını da yükledikten sonra modüller arasında iletişim sağlanmaz ise her iki modülün de VCC ve GND pinleri arasına 10 uF değerinde kondansatör yerleştirerek tekrar deneyiniz.  Yada daha önceki yazımda anlattığım gibi adaptör alınız 🙂

Sıcaklık değerleri karşınızda olacaktır.. 🙂

Arkadaşlar sanırsam bir yazının daha sonuna geldik umarı faydalı olmuştur. Umarım bir şeyler katabilmişimdir size anlamadığınız yada kafanıza takılan bir yer olduysa yada bir proje üzerinde çalışıyorsunuzdur yardım falan gerek olursa biz buradayız çekinmeden yorumdan yada kişisel sosyal medya hesaplarımdan sorabilirsiniz.. Bir sonraki yazıda görüşmek üzere.. Kolay Gelsin 🙂

İçeriği Oyla

Yazar Tolga Soytepe

Ara Sıra Yazılımcı :D

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir