in

Arduino, Nrf24l01 ile DHT11 kullanarak Serial Monitörden Sıcaklık Bilgileri Okuma

Merhaba arkadaşlar arduino ile projelerde olabildiğince hızlı ilerlemeye çalışıyoruz. Bugün ki konumuz Nrf24l01 ve Dht11 kullanarak bir arduinodan Dht11 aracılığıyla aldığımız Sıcaklık ve Nem değerlerini ikinci arduino üzerinden serial monitörde okuyacağız. 🙂 İyi güzelde bu ne işimize yarar diyen hacılar size sesleniyorum mesela eviniz var ve buna akıllı bir sistem kurmak istiyorsunuz. Özelliklerinden biride hava istasyonu olsun haliyle sensörü dışarıya koymanız gerekecek eğer alıcıızla aranızda 15 20 metre varsa kablo çekmek masraflı ve zahmetli olacaktır. Tabi kablo çekilse bile amper sorunları gerçekleşecektir işte böyle durumlarda bu proje imdadınıza yetişiyor umarım aydınlatıcı olmuştur. Çalışma mantığını biliyorsunuz zaten tabi bir önceki yazımı okuduysanız 😉

Kısa bir bilgilendirmeden sonra isterseniz 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- Gerekli ekipmanlar

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

Verici Devresi

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 2 Farklı kütüphaneye gerek duyuyoruz. Bunlardan birincisi DHT11 ikincisi ise RF24 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;

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 🙂

Alıcı Yazılımı

//DONAIM PLUS ELEKTRONİK
// MODİFİKASYON TOLGA SOYTEPE
// İNSTAGRAM TOLGASYTP
// TWİTTER TSytpp
// Arduino, Nrf24l01 ile DHT11 kullanarak Serial Monitörden Sıcaklık Bilgileri Okuma
// 2019
// ALICI YAZILIMI
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
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();


Serial.print("Nem - Sicaklik");
delay(1000);
Serial.println("Baglaniyor.....");
delay(1000);
}
 
void loop(void)
{
if ( radio.available() )
{
bool done = false;
while (!done)
{
done = radio.read(veri, sizeof(veri));


Serial.print("Sicaklik: ");
Serial.print(veri[0]);
Serial.println("Nem: ");
Serial.print(veri[1]);
delay(1000);
}
}
}

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

Verici Yazılımı

//DONAIM PLUS ELEKTRONİK
// MODİFİKASYON TOLGA SOYTEPE
// İNSTAGRAM TOLGASYTP
// TWİTTER TSytpp
// Arduino, Nrf24l01 ile DHT11 kullanarak Serial Monitörden 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 🙂

Herşey yaptıktan sonra serial monitörü açın..

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

Yorumlar (2)

Yorum Yap
  1. Kolay gelsin.
    arduino pro mini 5v 16mhz ile aynı devreyi yapmama rağmen çalışmıyor. sebep ne olabilir?
    devremde 5v regülatör arduino ya bağlanıyor. aynı regülatörden 3.3v luk başka bir regulatöre bağlanarak nrf24l01 e güç veriyorum. kütüphaneler de aynı ama hiç bir veri gönderimi yapamıyorum?

    • Merhaba Kaan, Anladığım kadarıyla arduino için ayrı, modül için ayrı regülatörler kullanıyorsun. Regülatörler ayrı olduğu için devre tam anlamıyla bütün çalışamıyor, eksi kutuplarının hepsinin ortak olması gerekiyor muhtemelen bundan kaynaklanıyordur. eğer devreni çekip upload edersen sorunu daha iyi anlayabiliriz. 🙂 Saygılarımla.

Bir cevap yazın

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