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…
İçindekiler
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 🙂
Yorum Yap