NRF24L01 Sorunların Çözümü ve Kullanımı

3 dk okuma süresi
8,653

Bu gün RC car RC  tekne uzaktan kumanda edilebilecek her türlü aracın yapımı için en önemli modül olan NRF24L01 i inceleyelim biraz 🙂

Merhaba maker adayı arkadaşlar bu gün arduino da çalışması en sıkıntılı ve en güzel modüllerden biri olan NRF24L01 i inceleyip sorunları beraber çözeceğiz. Öncelikle bu modül neden bu kadar sıkıntılı veya ana sıkıntı nedir sorunlarını ele alalım. NRF24L01 modülünün en başlıca sorunu yeterli enerji yi(voltaj değerini) alamamasıdır. Yeterli enerji yi alamayınca NRF24L01 arasındaki bağlantı sağlanamıyor ve veri aktarımı sağlanamıyor. Buda NRF24L01modülü ile proje yapmamıza engel oluyor. Nrf24L01 uzaktan kumandalı veya uzaktan iletişim için kullanabileceğimiz en az maliyetli üründür. Antenli Modellerinde 1km kadar mesafe ye kadar kullanım alanı mevcuttur .Bu yüzden sürekli tercih edilir. peki bize daha fazla mesafe lazım ise ozaman xbee ürünlerini inceleyebilirsiniz.

Peki  çözüm nedir ?

En etkili yöntem NRF24L01 Adaptörünü almaktır ve onunla kullanmaktır. Eğer adaptör almadıysanız ve yinede kullanmak istiyorsanız 100uF lik bir kondansatörü NRF24L01 modülünün GND ve VCC bacaklarına bağlarsanızdaNRF24L01modülünüzün çalıştığını göreceksiniz.

Bu kadar NRF24L01 modülünden bahsetmişken haydi beraber bir devre kuralım

 

 

Alıcı Devre   :

 

 

Verici Devre :

 

 

 

Verici Kodları

#include

#include “nRF24L01.h”

#include “RF24.h”     //Modül ile ilgili kütüphaneleri ekliyoruz

int mesaj[1];      //mesaj isminde bir dizi tanımlıyoruz

RF24 verici(9,10);     //kütüphane tarafından kullanılacak pinleri tanımlıyoruz

const uint64_t kanal = 0xE8E8F0F0E1LL; //kanalı tanımlıyoruz

int buton = 7;      //butonun bağlı olduğu dijital pin

void setup(void)

{

verici.begin();       //nrf yi başlatıyoruz

verici.openWritingPipe(kanal);  //kanal id sı tanımlanıyor

}

void loop(void)

{

if (digitalRead(buton) == HIGH)

{

mesaj[0] = 123;

verici.write(mesaj, 1);   //mesaj değişkeni yollanıyor

}

}

Alıcı Kodları

#include

#include “nRF24L01.h”

#include “RF24.h”           //Modül ile ilgili kütüphaneleri ekliyoruz

int mesaj[1];

RF24 alici(9,10);

const uint64_t kanal = 0xE8E8F0F0E1LL;

int led = 2;

void setup(void){

Serial.begin(9600);

alici.begin();

alici.openReadingPipe(1,kanal);

alici.startListening();

pinMode(led, OUTPUT);

}

void loop(void){

if (alici.available())

{

bool done = false;

while (!done)

{

done = alici.read(mesaj, 1);

if (mesaj[0] == 123)

{

delay(10);

digitalWrite(led, HIGH);

}

else {

digitalWrite(led, LOW);

}

delay(10);

}

}

}

Devre şemalarını doğru kurup kodlarınızıda bu şekilde yazdıktan sonra 2.devredeki (verici devre) butona basınca 1.devredeki(alıcı devre)led in yandığını göreceksiniz.  Yakın zamanda NRF24L01 İle bir araç yapımı yazısıda gelecektir İyi Çalışmalar !

Daha Fazla İlgili Makale Yükleyin
Daha Fazla Yük Arduino

4 Yorumlar

  1. ahmet uysal

    17/09/2019 at 16:39

    merhaba nrf24l01 3,3 voltla çalışıyor arduino uno nun giriş çıkış pinleri (8,9,10,11,12) ise 5 volt nrf24l01 i doğrudan bu pinlere bağlayınca ( vcc 3,3 volta bağlansa bile) modül zarar görmüyor mu yada çalışıyor mu

    cevap

  2. zahid

    03/09/2019 at 21:14

    merhaba ben bu nrf24l01 2.4 Ghz modülü ile iki tane kumanda ve araba yaptım bunlardan 1 tanesini kullanırken hiç sorun olmuyor ama 2 kumandada açık olduğu zaman arabalar sinyali geç alıyormuş gibi sonradan tepki veriyor bunu nasıl çözebilirim.

    cevap

  3. brk123

    17/04/2018 at 11:40

    Mega ile nano arasında bağlantı kurmak istiyorum. Mega alıcı nano verici olacak şekilde nasıl düzenleyebilirim /Acil yardım edebilir misiniz!!!(nanoya buton taktim mega alıcı)nrf24l01

    cevap

    • yakup afşin

      17/04/2018 at 21:11

      Bağlantıyı kablolu mu yoksa kablosuz mu kuracaksınız?

      cevap

Bir cevap yazın

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

Ayrıca Kontrol Edin

Temel Elektronik ve Arduino için PDF

Bu paylaşacağımız PDF bize ait olmayıp tamamen takipçilerimizin faydalanması için siteye e…