Herkese selam.
Arduino ile uçan, kaçan projeler yapmak için biçilmiş kaftan olan, çoğu makerın çalıştırmakta zorluk çektiği ama, çalıştırınca çok güzel projelere imza atan NRF24L01 kablosuz haberleşme modülünün, nasıl kullanıldığından bahsedeceğim.
Arduino gibi geliştirme kartları ile kablosuz haberleşme sağlamak için birçok modül mevcuttur. Ancak NRF24L01 kablosuz haberleşme modülü, ucuz olmasının yanı sıra, küçük boyutları ve uzun haberleşme menzili ile öne çıkmaktadır. Açık alanda 800 metreye kadar haberleşme sağlayabilmektedir. Bu durumlar göz önünde bulundurulduğunda, NRF24L01 projeler için tam olarak biçilmiş kaftandır.
İnternette birçok kaynak bulunmasına rağmen hala çoğu kişi bu modülü kullanmada problemler yaşamaktadır. Yazımda size deneyimlerimden yola çıkarak, projelerinizde problem yaşamadan nasıl bu modülü kullanacağınızdan bahsedeceğim.
Hadi öyleyse ne duruyorsunuz, uçan, kaçan projeler yapmak için bir adım atalım. 😊
NRF24L01 Modülü Nedir?
NRF24L01 Modülü ve NRF24L01 PA / LNA Antenli Versiyonu
NRF24L01 ailesinin en popüler olan versiyonu, aşağıda bulunan ilk çıkan antensiz versiyonudur.
İlk versiyondaki modülün üzerinde dahili anten bulunuyor. Bu durum modülün daha kompakt ve küçük olmasını sağlıyor. Anteninin küçük olması daha az enerji tüketmesine neden oluyor ancak anteninin küçük olması iletişim mesafesini azaltıyor. Bu versiyonda, kapalı alanda ortalama 100 metreye kadar iletişim sağlayabilirsiniz. Bu mesafe açık alanda tabii ki daha çok artacaktır.
İkinci versiyonda bir SMA konektörü ve harici anteni bulunur, ama donanım olarak güncellenen fark bu değildir. Asıl fark, modülün üzerinde bulunan güç devrelerine yapılan iyileştirmelerdir. Bu sayede ilk modülün iletişim mesafesinden kat ve kat daha fazla mesafede iletişim sağlayabiliyor. Açık alanda bu mesafe 1000 metreye kadar çıkabiliyor.
NRF24L01 Modülü Özellikleri ve Pin Çıkışları
Teknik Özellikleri
Frekans Aralığı | 2,4 GHz ISM |
Max. Veri Hızı | 2 Mb/s |
Modülasyon Formatı | GFSK |
Maks. Çıkış Gücü | 0 dBm |
Çalışma Gerilimi | 1.9 V ila 3.6 V |
Maks. Çalışma Akımı | 13.5 mA |
Min. Akım (Bekleme Modu) | 26 mA |
Logic Pini | 5V (Toleranslı) |
Veri İletim Mesafesi | 800m+ (Açık Alanda) |
GND Topraklama pinidir.
VCC Güç pinidir. 1,9 ila 3,9 arasında bir voltaj verebilirsiniz. Arduino ile kullanımda 3.3V çıkışa bağlayabilirsiniz. 5V pinine bağlarsanız modülünüz büyük ihtimalle bozulacaktır. Ancak adaptörlü bir devre kuracaksanız, adaptör 5v desteklediği için 5v güç verebilirsiniz.
CE aktif bir HIGH pinidir. Seçildiğinde, NRF24L01 hangi moduna bağlı olarak veri gönderir ya da alır.
CSN aktif bir LOW pinidir ve normalde HIGH tutulur. Bu pin LOW olduğunda NRF24L01, SPI portunu veri alımı moduna geçirir.
SCK SPI Bus Master tarafından sağlanan saat hareketlerini kabul eder.
MOSI NRF24L01’in SPI girdisidir.
MISO NRF24L01’den SPI çıkışıdır.
Arduino ile Kullanılması ve İlk Çalıştırmadaki Hatayı Giderme
Artık NRF24L01 alıcı-verici modülünün nasıl çalıştığını tam olarak anladığımıza göre, Arduino’muza bağlamaya başlayabiliriz!
Arduino ile NRF24L01 modülünün kullanımını göstermek için örnek bir proje yapacağız. Bu projede bir Arduino’dan diğer Arduino’ya serial port sayesinde mesaj göndereceğiz.
NRF24L01 modülleri 3.3v ile çalışırlar, Arduino’ya modülü direkt bağlayarak kullanıldığı zaman güç problemleri ya da iletişimsizlik problemleri ortaya çıkabilmektedir.
Bu problemleri gidermek için birkaç yöntem mevcuttur. Bunlardan birisi de kondansatör yöntemidir. İnternette çoğu kaynak NRF24L01 modülüne kondansatör lehimleyerek bu sorunun çözülebileceğini öneriyorlar, fakat ben bu yöntemi önermiyorum.
Benim önerdiğim yöntem, güç problemi için tasarlanmış olan NRF24L01 adaptörü kullanmak. Çünkü diğer yöntemler tam stabil olarak çalışan yöntemler değildir. Adaptör kullanarak bu sorunun önüne kesin olarak geçebilirsiniz.
NRF24L01 adaptörü üzerinde voltaj regülatörü olduğundan 5V girişini kullanabilirsiniz. Arduino kartlarında 3.3V çıkış gücü düşük olduğu için 5V ile beslediğinizde güç problemi yaşamazsınız. Ayrıca modülün ihtiyaç duyduğu bypass kapasitörler de kart üzerinde mevcuttur.
Bu şekilde, adaptör sayesinde stabil ve kolay bir kullanıma sahip olabilirsiniz.
Arduino ile kullanımını öğrenmek için örnek projeyi yapmaya geçebiliriz.
KULLANILACAK MALZEMELER
- NRF24L01 (2 ADET)
- NRF24L01 ADAPTÖRÜ (2 ADET)
- JUMPER KABLO
- ARDUİNO UNO SMD (2 ADET)
Bağlantılar ve Devre Şeması
NRF24L01 modülü ile proje yaparken kesinlikle devre şemasında bulunan adaptörden kullanmanızı öneririm. Aksi halde iletişimsizlik sorunlarıyla karşılaşma ihtimaliniz yüksektir.
Alıcı
Verici
Modüllerden birini alıcı, diğerini ise verici olarak ayarlamamız gerekiyor. İstenirse projenin durumuna göre bir modül hem alıcı hem de verici olarak da kullanılabilmektedir. Modülün alıcı veya verici durumunda olması kablo bağlantılarını değiştirmez. Bu yüzden alıcı ve verici bağlantıları da aynı olacaktır.
Devre şemasındaki bağlantıları daha kolay yapabilmek için, aşağıda bulunan tablodan pin numaralarını takip ederek bağlantılarınızı yapabilirisiniz. Alıcı ve verici için de aynı bağlantılar olacaktır.
NRF24L01 | Arduino Uno |
VCC | 5v (NRF24L01 adaptörü var ise) |
GND | GND |
CS | 10 |
CE | 9 |
MOSI | 11 |
MISO | 12 |
SCK | 13 |
Alıcı ve verici devrelerinin bağlantılarını yaptıktan sonra kod kısmına geçebiliriz.
Alıcı Kodu
Siteniz “enlighter/codeblock” bloğu için gerekli desteği içermiyor. Bu bloğu olduğu gibi bırakabilir, içeriğini özel HTML bloğuna çevirebilir ya da tamamen kaldırabilirsiniz.HTML olarak sakla
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> RF24 radio(9, 10); // CE, CSN const byte address[10] = "robotistan100"; void setup() { Serial.begin(9600); radio.begin(); radio.openReadingPipe(0, address); radio.setPALevel(RF24_PA_MIN); radio.startListening(); } void loop() { if (radio.available()) { char text[32] = "";//print only 32 characters radio.read(&text, sizeof(text)); Serial.println(text); } }
Verici Kodu
Siteniz “enlighter/codeblock” bloğu için gerekli desteği içermiyor. Bu bloğu olduğu gibi bırakabilir, içeriğini özel HTML bloğuna çevirebilir ya da tamamen kaldırabilirsiniz.HTML olarak sakla
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> RF24 radio(9, 10); // CE, CSN const byte address[6] = "robotistan100"; void setup() { radio.begin(); radio.openWritingPipe(address); radio.setPALevel(RF24_PA_MIN); radio.stopListening(); } void loop() { const char text[] = "Hello World"; // maksimium 32 karakter olabilir radio.write(&text, sizeof(text)); delay(1000); }
Sonunda aldığımız mesajı seri monitöre yazdırabiliyoruz. Her şeyi doğru yaptıysanız ve bağlantılarda hata yoksa, serial monitörünüzde bu yazıyı görmelisiniz. :
Kodlarda geçen bazı fonksiyonların açıklaması :
- Modülün nRF24L01p.h adında kütüphanesini tanımlıyoruz.
- Yazılımda öncelikle CE ve CSN pinlerini tanımlamamız gerekiyor.
- RF24 radio(9, 10); // CE, CSN Buradaki komutla 10.pin CSN, 9.pin CE pini olarak tanımlıyoruz.
- SPI protokolü ile haberleştiği için SPI kütüphanesi eklenip SPI.begin(); fonksiyonu setup’ın içine yazılarak haberleşme başlatılır.
- radio.openReadingPipe(0, address); Bu fonksiyon ile modülü alıcı olarak ayarladık.
- radio.openWritingPipe(address); Bu fonksiyon ile de modülü verici olarak ayarladık.
- Modüllerin haberleşebilmeleri için iki modülün de adres ismi aynı olmalıdır.
NRF24L01 Wireless Modül Kütüphanesi Ekleme
NRF24L01 + alıcı-verici modülüyle bağlantı kurmak ve aynı şekilde doğru kütüphaneyi bulmak da zahmetli işlerdir. Popüler kütüphanelerden biri RF24 kütüphanesini sizinle paylaştım. Bu kütüphane, yeni başlayanlar için kullanımı basittir, ancak ileri düzey kullanıcılar için de çok şey sunabilmektedir. Bizde projelerimizde bu kütüphaneyi kullanacağız.RF24 Kütüphanesi indir
İndirdiğiniz kütüphaneyi Arduino ide’ye eklemek için “Taslak > Library ekle > Zıp Kitaplığı Ekle…“ sekmelerini takip ederek kütüphane yöneticisini açalım.
Açılan pencerede indirdiğiniz .zip dosyasını bulup seçin. Zip dosyasını seçmeniz yeterli olacaktır, otomatik olarak kütüphane Arduino ide’ye eklenecektir.
Kütüphane dosyanız bu şekilde yüklendiği zaman sol alt köşede “yüklendi” yazısı çıkması gerekir.
Kütüphanenin yüklendiğinden emin olmak için manuel kontrol yapabilirsiniz.
Manüel kontrol nasıl yapılır bilmiyorsanız, Arduino ide’ye nasıl kütüphane yüklenir konulu blog yazımızı buradan okumanızı tavsiye ederim.
NRF24L01 Fiyatı Ne Kadar?
Şu anda NRF24L01 kablosuz haberleşme modülü 7₺‘dir. Güncel fiyat için sitemizi ziyaret edebilir ve Robotistan’dan güvenli alışveriş yapabilirisiniz.
NRF24L01 Adaptörünün fiyatı ise 4,90 ₺‘dir. Aynı şekilde güncel fiyat için sitemizi ziyaret edebilirsiniz.
NRF24L01 Proje Örnekleri
NRF24L01 kablosuz haberleşme modülü kullanılarak yapılan projeleri sizin için derledim ;
RC Araba Yapımı – RC Aracınızı Kendiniz Yapın!
Bu yazıda Arduino kullanarak joystick shield ile 4WD RC araba kontrolü nasıl yapılır, detaylı bir şekilde anlatılmış. Fotoğrafa tıklayarak projenin yazısına gidebilirsiniz.
NRF24L01, LM35 ve Arduino ile Kablosuz Sıcaklık Uyarı Sistemi
Bu yazıda NRF24L01 modülünü kullanarak kablosuz uyarı sisteminin nasıl yapılacağını öğreneceksiniz. Bunun, başlangıç seviyesi için ideal bir proje olduğunu düşünüyorum. Fotoğrafa tıklayarak projenin yazısına gidebilirsiniz.
Arduino ve DHT11 ile Sıcaklık Ölçümü ve NRF24L01 ile LCD Ekranda Kablosuz Görüntüleme
Bu yazıda DHT11 ile sıcaklık ve nem değerlerini ölçüp yine NRF24L01 modülüyle kablosuz olarak LCD ekranda görüntüleyerek basit bir kablosuz hava durumu istasyonu projesi yapabilirsiniz.
Bu projeyi kendi evinizdeki veya arka bahçenizdeki hava koşullarını izlemek için kullanabilirsiniz.
Fotoğrafa tıklayarak projenin yazısına gidebilirsiniz.
Arduino Uygulaması: NRF24L01 ile uzaktan kontrol
Bu yazıda iki Arduino’yu NRF24L01 modülü ile haberleştireceğiz ve ilk Arduino’dan butona basıldığında, diğer Arduino’daki ledin yanmasını sağlayacağız.
Fotoğrafa tıklayarak projenin yazısına gidebilirsiniz.
NRF24L01 İle Servo Motor Kontrolü
Bu projede NRF24L01 modülü kullanarak, potansiyometre sayesinde servo konyrolü nasıl yapılırla ilgili güzel bir yazı mevcut. Fotoğrafa tıklayarak projenin yazısına gidebilirsiniz.
Sizlere NRF24L01 ile ilgili tecrübelerimi aktarmaya çalıştım. Yazımızda geçen bilgiler işinize yaradıysa, görüş ve önerilerinizi yorum yaparak iletmenizden mutluluk duyarız 🙂
Nordic Semiconductor şirketinin ürettiği NRF24L01 çipini kullanan alıcı verici modüldür. 2.4GHz frekansında kablosuz haberleşme yapmanıza imkân sağlayan düşük güç tüketimine sahip bir modüldür.
Antenli ve antensiz olmak üzere iki tane modeli vardır. Bağlantı ve datasheet olarak hiçbir farkları yoktur. Antenli olan modeli antensiz modeline göre daha uzak mesafelerden haberleşebiliyor.
SPI arabirimini desteklemekte olup, Bu sayede tam 6 tane Arduino’nun bir ana Arduino ile haberleşmesini saylayabilirsiniz.
SPI pinleri Arduino türüne göre değişiklik gösterir. Arduino türlerine göre pinler aşağıdaki tabloda gösterilmiştir.
Arduino türü | MOSI | MISO | SCK |
Arduino UNO | 11 veya ICSP4 | 12 veya ICSP1 | 13 veya ICSP3 |
Arduino Mega | 51 veya ICSP4 | 50 veya ICSP1 | 52 veya ICSP3 |
Arduino Leonardo | ICSP-4 | ICSP-1 | ICSP-3 |
Arduino Due | ICSP-4 | ICSP-1 | ICSP-3 |
NRF24L01 Modülü ve NRF24L01 PA / LNA Antenli Versiyonu
NRF24L01 ailesinin en popüler olan versiyonu, aşağıda bulunan ilk çıkan antensiz versiyonudur.
İlk versiyondaki modülün üzerinde dahili anten bulunuyor. Bu durum modülün daha kompakt ve küçük olmasını sağlıyor. Anteninin küçük olması daha az enerji tüketmesine neden oluyor ancak anteninin küçük olması iletişim mesafesini azaltıyor. Bu versiyonda, kapalı alanda ortalama 100 metreye kadar iletişim sağlayabilirsiniz. Bu mesafe açık alanda tabii ki daha çok artacaktır.
İkinci versiyonda bir SMA konektörü ve harici anteni bulunur, ama donanım olarak güncellenen fark bu değildir. Asıl fark, modülün üzerinde bulunan güç devrelerine yapılan iyileştirmelerdir. Bu sayede ilk modülün iletişim mesafesinden kat ve kat daha fazla mesafede iletişim sağlayabiliyor. Açık alanda bu mesafe 1000 metreye kadar çıkabiliyor.
NRF24L01 Modülü Özellikleri ve Pin Çıkışları
Teknik Özellikleri
Frekans Aralığı | 2,4 GHz ISM |
Max. Veri Hızı | 2 Mb/s |
Modülasyon Formatı | GFSK |
Maks. Çıkış Gücü | 0 dBm |
Çalışma Gerilimi | 1.9 V ila 3.6 V |
Maks. Çalışma Akımı | 13.5 mA |
Min. Akım (Bekleme Modu) | 26 mA |
Logic Pini | 5V (Toleranslı) |
Veri İletim Mesafesi | 800m+ (Açık Alanda) |
GND Topraklama pinidir.
VCC Güç pinidir. 1,9 ila 3,9 arasında bir voltaj verebilirsiniz. Arduino ile kullanımda 3.3V çıkışa bağlayabilirsiniz. 5V pinine bağlarsanız modülünüz büyük ihtimalle bozulacaktır. Ancak adaptörlü bir devre kuracaksanız, adaptör 5v desteklediği için 5v güç verebilirsiniz.
CE aktif bir HIGH pinidir. Seçildiğinde, NRF24L01 hangi moduna bağlı olarak veri gönderir ya da alır.
CSN aktif bir LOW pinidir ve normalde HIGH tutulur. Bu pin LOW olduğunda NRF24L01, SPI portunu veri alımı moduna geçirir.
SCK SPI Bus Master tarafından sağlanan saat hareketlerini kabul eder.
MOSI NRF24L01’in SPI girdisidir.
MISO NRF24L01’den SPI çıkışıdır.
Arduino ile Kullanılması ve İlk Çalıştırmadaki Hatayı Giderme
Artık NRF24L01 alıcı-verici modülünün nasıl çalıştığını tam olarak anladığımıza göre, Arduino’muza bağlamaya başlayabiliriz!
Arduino ile NRF24L01 modülünün kullanımını göstermek için örnek bir proje yapacağız. Bu projede bir Arduino’dan diğer Arduino’ya serial port sayesinde mesaj göndereceğiz.
NRF24L01 modülleri 3.3v ile çalışırlar, Arduino’ya modülü direkt bağlayarak kullanıldığı zaman güç problemleri ya da iletişimsizlik problemleri ortaya çıkabilmektedir.
Bu problemleri gidermek için birkaç yöntem mevcuttur. Bunlardan birisi de kondansatör yöntemidir. İnternette çoğu kaynak NRF24L01 modülüne kondansatör lehimleyerek bu sorunun çözülebileceğini öneriyorlar, fakat ben bu yöntemi önermiyorum.
Benim önerdiğim yöntem, güç problemi için tasarlanmış olan NRF24L01 adaptörü kullanmak. Çünkü diğer yöntemler tam stabil olarak çalışan yöntemler değildir. Adaptör kullanarak bu sorunun önüne kesin olarak geçebilirsiniz.
NRF24L01 adaptörü üzerinde voltaj regülatörü olduğundan 5V girişini kullanabilirsiniz. Arduino kartlarında 3.3V çıkış gücü düşük olduğu için 5V ile beslediğinizde güç problemi yaşamazsınız. Ayrıca modülün ihtiyaç duyduğu bypass kapasitörler de kart üzerinde mevcuttur.
Bu şekilde, adaptör sayesinde stabil ve kolay bir kullanıma sahip olabilirsiniz.
Arduino ile kullanımını öğrenmek için örnek projeyi yapmaya geçebiliriz.
KULLANILACAK MALZEMELER
- NRF24L01 (2 ADET)
- NRF24L01 ADAPTÖRÜ (2 ADET)
- JUMPER KABLO
- ARDUİNO UNO SMD (2 ADET)
Bağlantılar ve Devre Şeması
NRF24L01 modülü ile proje yaparken kesinlikle devre şemasında bulunan adaptörden kullanmanızı öneririm. Aksi halde iletişimsizlik sorunlarıyla karşılaşma ihtimaliniz yüksektir.
Alıcı
Verici
Modüllerden birini alıcı, diğerini ise verici olarak ayarlamamız gerekiyor. İstenirse projenin durumuna göre bir modül hem alıcı hem de verici olarak da kullanılabilmektedir. Modülün alıcı veya verici durumunda olması kablo bağlantılarını değiştirmez. Bu yüzden alıcı ve verici bağlantıları da aynı olacaktır.
Devre şemasındaki bağlantıları daha kolay yapabilmek için, aşağıda bulunan tablodan pin numaralarını takip ederek bağlantılarınızı yapabilirisiniz. Alıcı ve verici için de aynı bağlantılar olacaktır.
NRF24L01 | Arduino Uno |
VCC | 5v (NRF24L01 adaptörü var ise) |
GND | GND |
CS | 10 |
CE | 9 |
MOSI | 11 |
MISO | 12 |
SCK | 13 |
Alıcı ve verici devrelerinin bağlantılarını yaptıktan sonra kod kısmına geçebiliriz.
Alıcı Kodu
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> RF24 radio(9, 10); // CE, CSN const byte address[10] = "robotistan100"; void setup() { Serial.begin(9600); radio.begin(); radio.openReadingPipe(0, address); radio.setPALevel(RF24_PA_MIN); radio.startListening(); } void loop() { if (radio.available()) { char text[32] = "";//print only 32 characters radio.read(&text, sizeof(text)); Serial.println(text); } }
Verici Kodu
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> RF24 radio(9, 10); // CE, CSN const byte address[6] = "robotistan100"; void setup() { radio.begin(); radio.openWritingPipe(address); radio.setPALevel(RF24_PA_MIN); radio.stopListening(); } void loop() { const char text[] = "Hello World"; // maksimium 32 karakter olabilir radio.write(&text, sizeof(text)); delay(1000); }
Sonunda aldığımız mesajı seri monitöre yazdırabiliyoruz. Her şeyi doğru yaptıysanız ve bağlantılarda hata yoksa, serial monitörünüzde bu yazıyı görmelisiniz. :
Kodlarda geçen bazı fonksiyonların açıklaması :
- Modülün nRF24L01p.h adında kütüphanesini tanımlıyoruz.
- Yazılımda öncelikle CE ve CSN pinlerini tanımlamamız gerekiyor.
- RF24 radio(9, 10); // CE, CSN Buradaki komutla 10.pin CSN, 9.pin CE pini olarak tanımlıyoruz.
- SPI protokolü ile haberleştiği için SPI kütüphanesi eklenip SPI.begin(); fonksiyonu setup’ın içine yazılarak haberleşme başlatılır.
- radio.openReadingPipe(0, address); Bu fonksiyon ile modülü alıcı olarak ayarladık.
- radio.openWritingPipe(address); Bu fonksiyon ile de modülü verici olarak ayarladık.
- Modüllerin haberleşebilmeleri için iki modülün de adres ismi aynı olmalıdır.
NRF24L01 Wireless Modül Kütüphanesi Ekleme
NRF24L01 + alıcı-verici modülüyle bağlantı kurmak ve aynı şekilde doğru kütüphaneyi bulmak da zahmetli işlerdir. Popüler kütüphanelerden biri RF24 kütüphanesini sizinle paylaştım. Bu kütüphane, yeni başlayanlar için kullanımı basittir, ancak ileri düzey kullanıcılar için de çok şey sunabilmektedir. Bizde projelerimizde bu kütüphaneyi kullanacağız.
İndirdiğiniz kütüphaneyi Arduino ide’ye eklemek için “Taslak > Library ekle > Zıp Kitaplığı Ekle…“ sekmelerini takip ederek kütüphane yöneticisini açalım.
Açılan pencerede indirdiğiniz .zip dosyasını bulup seçin. Zip dosyasını seçmeniz yeterli olacaktır, otomatik olarak kütüphane Arduino ide’ye eklenecektir.
Kütüphane dosyanız bu şekilde yüklendiği zaman sol alt köşede “yüklendi” yazısı çıkması gerekir.
Kütüphanenin yüklendiğinden emin olmak için manuel kontrol yapabilirsiniz.
Manüel kontrol nasıl yapılır bilmiyorsanız, Arduino ide’ye nasıl kütüphane yüklenir konulu blog yazımızı buradan okumanızı tavsiye ederim.
NRF24L01 Fiyatı Ne Kadar?
Şu anda NRF24L01 kablosuz haberleşme modülü 7₺‘dir. Güncel fiyat için sitemizi ziyaret edebilir ve Robotistan’dan güvenli alışveriş yapabilirisiniz.
NRF24L01 Adaptörünün fiyatı ise 4,90 ₺‘dir. Aynı şekilde güncel fiyat için sitemizi ziyaret edebilirsiniz.
NRF24L01 Proje Örnekleri
NRF24L01 kablosuz haberleşme modülü kullanılarak yapılan projeleri sizin için derledim ;
RC Araba Yapımı – RC Aracınızı Kendiniz Yapın!
Bu yazıda Arduino kullanarak joystick shield ile 4WD RC araba kontrolü nasıl yapılır, detaylı bir şekilde anlatılmış. Fotoğrafa tıklayarak projenin yazısına gidebilirsiniz.
NRF24L01, LM35 ve Arduino ile Kablosuz Sıcaklık Uyarı Sistemi
Bu yazıda NRF24L01 modülünü kullanarak kablosuz uyarı sisteminin nasıl yapılacağını öğreneceksiniz. Bunun, başlangıç seviyesi için ideal bir proje olduğunu düşünüyorum. Fotoğrafa tıklayarak projenin yazısına gidebilirsiniz.
Arduino ve DHT11 ile Sıcaklık Ölçümü ve NRF24L01 ile LCD Ekranda Kablosuz Görüntüleme
Bu yazıda DHT11 ile sıcaklık ve nem değerlerini ölçüp yine NRF24L01 modülüyle kablosuz olarak LCD ekranda görüntüleyerek basit bir kablosuz hava durumu istasyonu projesi yapabilirsiniz.
Bu projeyi kendi evinizdeki veya arka bahçenizdeki hava koşullarını izlemek için kullanabilirsiniz.
Fotoğrafa tıklayarak projenin yazısına gidebilirsiniz.
Arduino Uygulaması: NRF24L01 ile uzaktan kontrol
Bu yazıda iki Arduino’yu NRF24L01 modülü ile haberleştireceğiz ve ilk Arduino’dan butona basıldığında, diğer Arduino’daki ledin yanmasını sağlayacağız.
Fotoğrafa tıklayarak projenin yazısına gidebilirsiniz.
NRF24L01 İle Servo Motor Kontrolü
Bu projede NRF24L01 modülü kullanarak, potansiyometre sayesinde servo konyrolü nasıl yapılırla ilgili güzel bir yazı mevcut. Fotoğrafa tıklayarak projenin yazısına gidebilirsiniz.
Sizlere NRF24L01 ile ilgili tecrübelerimi aktarmaya çalıştım. Yazımızda geçen bilgiler işinize yaradıysa, görüş ve önerilerinizi yorum yaparak iletmenizden mutluluk duyarız 🙂
Merhaba ,
Bu Modülü gps modülü ile beraber kullanıyorum. Fakat bir türlü gps ten elde ettiğim veriyi Diğer Arduinoya Ulaştıramıyorum. Bu sensörle bunu yapmak mümkün değil mi ? Eğer Mümkünse, bir devreye bağlı gps sensöründeki verileri diğer devrenin Serial port undan nasıl çıktı alabilirim. Lütfen Yardım eder misin,z ? acil olarak bu bilgiye ihtiyacım var
Tam olarak ne hatası alıyorsunuz? NRF24L01 adaptörü kullandınız mı?
YA arkadaş ben bu adaptörle kullanımı anlamadım bendemi çalışmıyor yoksa yapamıyormuyum
Kablolara, lehimlere ve kütüphanelere dikkat ediniz.
Kodları denediğimde seri portta ?????????? şeklinde bir sinyal alıyorum. Sürekli gelen bir sinyal olmuyor, yaklaşık 20 satırda bir falan geliyor. Bu problem besleme kaynaklı olabilir mi? Modüllerim iletişim kurmaya mı çalışıyor? Yardımcı olursanız çok sevinirim. Kolay gelsin.
Baudrate hızını değiştirmeyi denemelisiniz.
Zaten birkaç farklı baud rate hızı denedim ; 9600, 57600 ve 115200 denemiştim fakat hiçbiri için bir anlamlı sinyal elde edemedim. İşin garibi vericinin gücünü kessem bile aynısını yapmaya devam etti. Acaba modüllerde bir sıkıntı mı var? Teşekkürler.
Merhaba , her yerde ikiden NRF-24ler arası iletişim kurulabileceği yazılıyor fakat hiçbir yerde örnek yok. Lütfen bana yardımcı olabilir misiniz. Şimdiden teşekkürler .
Nrf24l01 modülü veri okuduğunda hangi pin den bu veriyi bı LED e aktarabilirim. Yani mesele Arduino ya bir kodu yüklerken rx tx ledleri yanıp sönüyor ya onun gibi verinin alındığını haber etmesi için bir LED yakmak istiyorum ama Arduino kullanarak değil direk nrf24l01 den mümkün mü bu Ve veride bir kayıp veya hata oluşturur mu
Aşağıdaki komutlarda yazılan bilgi verilen hafızan büyük.
const byte address[6] = “robotistan100”;
const byte address[10] = “robotistan100”;
Bir de
radio.write(&text, sizeof(text)); komutunda text değişkeni zaten pointer dolayısıyla tekrardan adresini almak kafamı karıştırdı. Kodun şöyle olması gerekmez miydi? radio.write(text, sizeof(text));
Kodların gözden geçirilmesi lazım. Huzeyfe arkadaşımız haklı gözüküyor.
void value not ignored as it ought to be
hatası alan arkadaşlar bu hata kütüphane hatasıdır. Kütüphane read değerini void döndürdüğü için hata veriyor. kütüphanenin bool döndürmesi lazımmış. https://github.com/maniacbug/RF24 bu kütüphaneyle düzeldi benimki.