Ö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.
Kod:
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
Kod:
/*
* 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);
}
Kod:
/*
* 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);
}
}