Arduino Polska Forum

Pełna wersja: nRF24L01+ PA LNA - brak komunikacji z modułem
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam,

przeszukałem już dosyć gęsto internet w tej sprawie, ale może coś pomijam i to wyłapiecie. Mam dwa transreceviery nRF24L01+ PA LNA, które chcialem podłączyć do chińskich klonów arduino UNO (odbiornik) i NANO V3 (nadajnik). Na wstępie dodam, że zasilałem moduły 3.3V z dolutowanym kondensatorem elektrolitycznym 47uF, jaki i z baterii 2x1,5V. Obniżyłem moc nadawania. Przerobiłem mnóstwo programów i ostatecznie ograniczyłem się do najprostszego (tutaj dla odbiornika, nadajnik jest analogiczny):

Kod:
//Odbiornik nRF2401.

#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include "printf.h"
int msg=0;

RF24 radio(10,9);
const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(void)

{
Serial.begin(9600);
radio.begin();
radio.setPALevel(RF24_PA_LOW);
Serial.println("check1");
radio.printDetails();
radio.openReadingPipe(1,pipe);
radio.startListening();
Serial.println("check2");
}

void loop(void)
{

if (radio.available())
{
   radio.read(msg, 1); 
   Serial.println(msg);
   delay(500);
}
}

Komunikacji brak, ale zacząłem drążyć po kolei. Chciałem wyświetlić na UNO radio.printDetails(), jak i radio.printPrettyDetails(). W pierwszym przypadku nic się nie działo i raz na kilka restartów wywalało kilka krzaczków i pół słowa z Serial.println("check1"). W drugim przypadku monitor portu w ogóle nic nie wyświetlał, jakby arduino się wieszało. To samo działo się na NANO. Spróbowałem jeszcze na oryginalnym arduino MEGA. Tutaj .printDetails() wyświetlał coś co by wyglądało jak to co ma się wyświetlić, ale w postaci krzaków w kilku linijkach. .printPrettyDetails() tak samo wywalał wszystko. Bez tych komend, wszystkie checki wyświetlają się, ale nie ma żadnej transmisji, bo msg jest caly czas 0


Ma ktoś pomysł co z tym? Spróbować  lutować kabelki bezpośrednio jeszcze? (Nie używam płytek stykowych wszystko łączę bezpośrednio kablami). Zaczynam podejrzewać, że moduły są uwalone, ale na razie nie mam innych na sprawdzenie, a kupowanie z tego samego miejsca kolejnych mija się z celem.



Pozdrawiam

Nie wiem za bardzo jak to ruszyć
No to dobra, problem przez przypadek sam się rozwiązał. Problemem była biblioteka, a raczej zbyt nowa wersja w stosunku do napisanego programu. Najnowsze wersje mają problem z printDetails(), szczególnie w chińskich klonach arduino. Polecam ten tutorial https://forum.arduino.cc/index.php?topic=421081.0
Druga sprawa to połączenie. Używajcie porządnych kabelków, a nie chińczyków, które mają dwa włoski miedzianej żyły.