NRF24L01 Çalıştıramıyorum

emirhancelik05

Yeni Üye
Katılım
22 Kasım 2023
Mesajlar
8
Merhaba,

2 adet arduino nano ile NRF24L01 modül kullanarak uzaktan kumandalı araç yapmaya çalışıyorum ancak ne yaparsam yapayım çalışmıyor. Çalışıp çalışmadığı test etmek için seri iletişim başlattım. Bazen radio.available fonksiyonu çalışmıyor bazense anlamsız harfler soru işaretleri yazmaya başlıyor. Sorun ne olabilir ? Nrf için ara adaptörünüde kullanıyorum
 
Son düzenleme:
Böyle şeyler basitten karmaşığa doğru yapman lazım. Önce bir Arduino ve NRF24L01 kullanarak bunları bir cep telefonuna bağlayabilmen lazım. Cep telefonunda bir BLE terminal programı kullanabilirsin, sürüyle var internette. İki Arduino da cep telefonuna NRF üzerinde bağlanabiliyorsa, artık birbirlerine de bağlanabilmeleri çok yakındır. Öncelikle bu aşamaya gelmen lazım.
 
Böyle şeyler basitten karmaşığa doğru yapman lazım. Önce bir Arduino ve NRF24L01 kullanarak bunları bir cep telefonuna bağlayabilmen lazım. Cep telefonunda bir BLE terminal programı kullanabilirsin, sürüyle var internette. İki Arduino da cep telefonuna NRF üzerinde bağlanabiliyorsa, artık birbirlerine de bağlanabilmeleri çok yakındır. Öncelikle bu aşamaya gelmen lazım.
Teşekkürler deneyeceğim.
 
Böyle şeyler basitten karmaşığa doğru yapman lazım. Önce bir Arduino ve NRF24L01 kullanarak bunları bir cep telefonuna bağlayabilmen lazım. Cep telefonunda bir BLE terminal programı kullanabilirsin, sürüyle var internette. İki Arduino da cep telefonuna NRF üzerinde bağlanabiliyorsa, artık birbirlerine de bağlanabilmeleri çok yakındır. Öncelikle bu aşamaya gelmen lazım.
Bu konuyla alakalı eğitim videosu var mı tam olarak ne yapmam gerektiğini anlayamadım
 
İlk çalıştırmak istediğimde, güvendiğim bir sitededeki hazır çalışan kodlar kullanmama rağmen ben de bir türlü iki modülü birbiri ile haberleştiremedim.

İşin kötü yanı, bendeki modüller farklı zamanlarda alındı ve yeni aldıklarıma biraz daha güvensem de hepsinin çalışıp çalışmadığını da bilmimyorum.

Sonunda en başa geri döndüm ve jumper kabloları söktüm. Bunlar çok karmaşık ve dandik olabiliyorlar. Bunun yerine aşağıdaki gibi kendi hazırladığım bir kabloyu kullandım. Sorun bir anda ortadan kayboldu.

Yani kablolama işini doğru yaptığından emin olduktan sonra aşağıdaki kodları kullanarak test edebilirsin. Kodun çalıştığını ben doğruladım.


20231123_181036.jpg
 
İstersen kendi yazdığın kodu da gönder test edeyim.
 
Öncelikle kodlarını ekran görüntüsü olarak paylaştığın için bunları tekrar yazıp deneyemem. Paylaşım yaparken kod ekleme seçeneğini kullanıp metin olarak eklemeni tavsiye ederim.

Robolink adresindeki modülde ufak farklar var. Mesala NRF24L01'i beslemek için voltaj regülatörü kullanmış. Sanıyorum bu sebeple modülü düşük enerji moduna sokma ihtiyacı duymamış. Aşağıdaki satır ile bu yapılıyor.

düşük enerji tüketim modu:
kablosuz.setPALevel(RF24_PA_MIN);

Birkaç pin farkı filan da var ama ben çalıştığını doğruladığım kodları kullanmanı ve bağlantılarını buna göre yapılandırmanı tavsiye ederim. Bunların çalıştığını test ettiğim için biliyorum.

Birde imkanın varsa NRF24L01 modüllerin beslemesine bypass kondansatörü ekle. Düşük enerji moduna aldığında buna çok gerek olmuyor sanırım ama her türlü faydası olacaktır.

1700759130469.png



Verici:
/*
* Arduino Wireless Communication Tutorial
*     Example 1 - Transmitter Code
*              
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
* Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(7, 8); // CE, CSN

const byte address[6] = "00001";

void setup() {
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_MIN);
  radio.stopListening();
}

void loop() {
  const char text[] = "Hello World";
  radio.write(&text, sizeof(text));
  delay(1000);
}

Alıcı:
/*
* Arduino Wireless Communication Tutorial
*       Example 1 - Receiver Code
*              
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
* Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(7, 8); // CE, CSN

const byte address[6] = "00001";

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] = "";
    radio.read(&text, sizeof(text));
    Serial.println(text);
  }
}
 
İlk fotoğrafta çok belirgin değil ama bendeki modüllere de bypass kondansatörü ekledim. Düşük enerji modunda eklemeden de çalışıyor.


20231123_200809.jpg
 
  • Beğen
Reactions: nt
Öncelikle kodlarını ekran görüntüsü olarak paylaştığın için bunları tekrar yazıp deneyemem. Paylaşım yaparken kod ekleme seçeneğini kullanıp metin olarak eklemeni tavsiye ederim.

Robolink adresindeki modülde ufak farklar var. Mesala NRF24L01'i beslemek için voltaj regülatörü kullanmış. Sanıyorum bu sebeple modülü düşük enerji moduna sokma ihtiyacı duymamış. Aşağıdaki satır ile bu yapılıyor.

düşük enerji tüketim modu:
kablosuz.setPALevel(RF24_PA_MIN);

Birkaç pin farkı filan da var ama ben çalıştığını doğruladığım kodları kullanmanı ve bağlantılarını buna göre yapılandırmanı tavsiye ederim. Bunların çalıştığını test ettiğim için biliyorum.

Birde imkanın varsa NRF24L01 modüllerin beslemesine bypass kondansatörü ekle. Düşük enerji moduna aldığında buna çok gerek olmuyor sanırım ama her türlü faydası olacaktır.

26893 eklentisine bak


Verici:
/*
* Arduino Wireless Communication Tutorial
*     Example 1 - Transmitter Code
*            
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
* Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(7, 8); // CE, CSN

const byte address[6] = "00001";

void setup() {
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_MIN);
  radio.stopListening();
}

void loop() {
  const char text[] = "Hello World";
  radio.write(&text, sizeof(text));
  delay(1000);
}

Alıcı:
/*
* Arduino Wireless Communication Tutorial
*       Example 1 - Receiver Code
*            
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
* Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(7, 8); // CE, CSN

const byte address[6] = "00001";

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] = "";
    radio.read(&text, sizeof(text));
    Serial.println(text);
  }
}
Deniyorum ama aynı sorun bir sinyal yok diyor birde soru işaretleri çıkıyor. Evim bodrum katta odamda telefon falan çekmiyor sebep olabilir mi bu duruma acaba ? Ekte ki gibi adaptör kullanıyorum
 

Ekler

  • WhatsApp Görsel 2023-11-23 saat 20.29.25_68f25cfc.jpg
    WhatsApp Görsel 2023-11-23 saat 20.29.25_68f25cfc.jpg
    114.7 KB · Görüntüleme: 31
Tamam sende zaten valtaj regülatörü varmış. Bypass kondansatörüne gerek yok modül için temiz bir voltaj üretiyordur.

Evin izole olması da iyi bunlar 1 km mesafeye kadar çekebilen modüller. Düşük enerji modunda 100 mt'e kadar rahatlıkla çeker. Kaldı ki öyle bir ortamda yanyana en ufak bir sorun olmaması gerekiyor.

Bence sorun senin kablo bağlantından kaynaklanıyor. Ama dikkat edersen projene dair baştan bilmemiz gerek detayları tek tek sorup tahmin yürütüyoruz.

Bağlantı şemanı ve buna göre yaptığın kurulumu etraflıca fotoğraflayıp, kodlarınla birlikte paylaşırsan, bizde tek tek tahmin etmek yerine, eksik gördüklerimiz konusuna odaklanabiliriz.
 
  • Beğen
Reactions: nt
Tamam sende zaten valtaj regülatörü varmış. Bypass kondansatörüne gerek yok modül için temiz bir voltaj üretiyordur.

Evin izole olması da iyi bunlar 1 km mesafeye kadar çekebilen modüller. Düşük enerji modunda 100 mt'e kadar rahatlıkla çeker. Kaldı ki öyle bir ortamda yanyana en ufak bir sorun olmaması gerekiyor.

Bence sorun senin kablo bağlantından kaynaklanıyor. Ama dikkat edersen projene dair baştan bilmemiz gerek detayları tek tek sorup tahmin yürütüyoruz.

Bağlantı şemanı ve buna göre yaptığın kurulumu etraflıca fotoğraflayıp, kodlarınla birlikte paylaşırsan, bizde tek tek tahmin etmek yerine, eksik gördüklerimiz konusuna odaklanabiliriz.
CE - 7
CSN - 8
SCK - 13
M0 - 11
M1 - 12
2 Arduino da bu şekilde bağlı attığınız kod ile çalıştırdım yeni aldığım modülleri taktım sinyal yok diyor.
Görüntü de paylaşacağım ama ne kadar anlaşılır olur bilmiyorum.
 

Ekler

  • WhatsApp Görsel 2023-11-23 saat 21.24.08_16a65d0b.jpg
    WhatsApp Görsel 2023-11-23 saat 21.24.08_16a65d0b.jpg
    153.2 KB · Görüntüleme: 33
  • WhatsApp Görsel 2023-11-23 saat 21.24.08_9fdac0df.jpg
    WhatsApp Görsel 2023-11-23 saat 21.24.08_9fdac0df.jpg
    111.2 KB · Görüntüleme: 37
  • Ekran görüntüsü 2023-11-23 212542.png
    Ekran görüntüsü 2023-11-23 212542.png
    230.2 KB · Görüntüleme: 35
ble terminal ile bağlamayı denediğimde nanolardan biri bağlanmadı unoyla kurdum devreyi bu sefer ble terminale bağlı sonra tekrar aynı kodu yükledim 2 kez hello world mesajını iletti sonra tekrar sinyal yok hatasına döndü. verici arduino yu resetleyince 2 kez helloworld yazısı geliyor sinyal kesiliyor
 
Son düzenleme:

Çevrimiçi personel

Forum istatistikleri

Konular
5,885
Mesajlar
100,432
Üyeler
2,493
Son üye
cym247

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top