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

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

1,128

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

İLGİLİ MAKALE  programlama-autocad ve aklınıza gelecek tüm dersler tek link altında

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

2 Yorumlar

  1. 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 Yorum Yazın

Ayrıca Kontrol Edin

Temel Arduino Eğitimi | Ders #13: Karakter Dizileri (Stringler)

Karakter Dizileri (Stringler): Arduino’da birden fazla karakter barındıran değişkenlere ka…