Skocz do zawartości

Pomocna odpowiedź

#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>

RF24 radio(9,10);

void setup() {
  Serial.begin(9600);

}

void loop() {
  radio.printDetails();
  delay(1000);
}

Taki kod też nic nie zwraca

Wgrałem ten kod, kilka razy zresetowałem i przez minutę działało, juz nie działa. Popróbuję jutro z przewodami.

I dzięki za pomoc 😉

(edytowany)
38 minut temu, kostuch napisał:

Płytka stykowa (aka "zło wszelakie")?

Zapewne, ale nie było nam dane zobaczyć prototypu.

Edytowano przez _LM_
(edytowany)

Wspomniałeś o esp32, więc z ciekawości wygrzebałem i odpaliłem dwa "nrf24l01" w micropythonie v1.25 na płytkach "esp32-devkit-v1". Nadajnik/odbiornik działa, podłączyłem je bezpośrednio przewodami, bez kondensatora na linii 3.3V. Jeżeli chcesz powalczyć, ewentualnie sprawdzić, czy moduły są sprawne, tu jest biblioteka. Domyślną pinologię (gpio) dla esp32 znajdziesz w pliku "nrf24l01test.py":

elif sys.platform == "esp32":  # Software SPI
    spi = SoftSPI(sck=Pin(25), mosi=Pin(33), miso=Pin(32))
    cfg = {"spi": spi, "csn": 26, "ce": 27}

 

Gdybyś był zainteresowany, to po prostu flaszujesz firmware micropythona na esp32 za pomocą esptool, następnie wrzucasz katalog "lib"z dołączonego archiwum (NRF24L01.zip) bezpośrednio na płytkę. W katalogu "lib" są pliki "odbierz.py" lub "wyslij.py", które do testu odpalasz np. za pomocą "import odbierz" lub "import wyślij". Jako ide używam "Thonny".

moduly.thumb.jpg.af87dc5a571bcf5a1040a48136dc4c7e.jpg

 

Log z nadajnika (testowo wysyła 16 pakietów, otrzymuje potwierdzenie z odbiornika):

 

MicroPython v1.25.0 on 2025-04-15; Generic ESP32 module with ESP32
Type "help()" for more information.
>>> import wyslij
NRF24L01 test module loaded
NRF24L01 pinout for test:
    CE on 27
    CSN on 26
    SPI on SoftSPI(baudrate=500000, polarity=0, phase=0, firstbit=0, sck=25, mosi=33, miso=32)
run nrf24l01test.responder() on responder, then nrf24l01test.initiator() on initiator
NRF24L01 initiator mode, sending 16 packets...
sending: 357014 1
got response: 357014 (delay 34 ms)
sending: 357298 2
got response: 357298 (delay 33 ms)
sending: 357581 4
got response: 357581 (delay 33 ms)
sending: 357864 8
got response: 357864 (delay 33 ms)
sending: 358148 1
got response: 358148 (delay 35 ms)
sending: 358433 2
got response: 358433 (delay 33 ms)
sending: 358716 4
got response: 358716 (delay 33 ms)
sending: 358999 8
got response: 358999 (delay 35 ms)
sending: 359285 1
got response: 359285 (delay 33 ms)
sending: 359568 2
got response: 359568 (delay 33 ms)
sending: 359851 4
got response: 359851 (delay 33 ms)
sending: 360135 8
got response: 360135 (delay 32 ms)
sending: 360418 1
got response: 360418 (delay 32 ms)
sending: 360701 2
got response: 360701 (delay 33 ms)
sending: 360984 4
got response: 360984 (delay 33 ms)
sending: 361267 8
got response: 361267 (delay 33 ms)
initiator finished sending; successes=16, failures=0
>>>

 

Log z odbiornika:

 

MicroPython v1.25.0 on 2025-04-15; Generic ESP32 module with ESP32
Type "help()" for more information.
>>> import odbierz
NRF24L01 test module loaded
NRF24L01 pinout for test:
    CE on 27
    CSN on 26
    SPI on SoftSPI(baudrate=500000, polarity=0, phase=0, firstbit=0, sck=25, mosi=33, miso=32)
run nrf24l01test.responder() on responder, then nrf24l01test.initiator() on initiator
NRF24L01 responder mode, waiting for packets... (ctrl-C to stop)
received: 357014 1
sent response
received: 357298 2
sent response
received: 357581 4
sent response
received: 357864 8
sent response
received: 358148 1
sent response
received: 358433 2
sent response
received: 358716 4
sent response
received: 358999 8
sent response
received: 359285 1
sent response
received: 359568 2
sent response
received: 359851 4
sent response
received: 360135 8
sent response
received: 360418 1
sent response
received: 360701 2
sent response
received: 360984 4
sent response
received: 361267 8
sent response

Edytowano przez orb777
Dnia 3.08.2025 o 17:27, MikLuk napisał:

Wgrałem ten kod, kilka razy zresetowałem i przez minutę działało, juz nie działa. Popróbuję jutro z przewodami.

I dzięki za pomoc 😉

Nie chciało mi się czytać całego wątku...kondensatory na zasilaniu tych układów masz? Są konieczne 

Resetowałem może 20 razy, ale zadziałało. Nie wiem co naprawiło (najpierw zadziałało na chwilę, przestało, a teraz znowu działa), ale trochę przerywa. Może przewody nie łączyły? Funkcja printDetails() nie działała wcale 🙂 Ale ważne że działa. Dzięki za pomoc 🥰

Tak w planach miałem taki uniwersalny pilot zbudować, ale na jak daleko będę go używać. Na razie buduję małą łódkę i niezbyt szybką ale nie wiem jeszcze co dalej.

Na esp zrobisz komunikację esp now, zaś plusem nRF jest pobór prądu, przy odpowiednim podejściu można śmiało zasilać je z baterii. Pasmo to samo więc zakładam podobny zasięg 

@MikLuk jest jeszcze opcja modułów lora...kupujesz dwa moduły po 100mw (moc jest regulowana programowo) i masz pewność że Ci zasięgu nie braknie nawet za krzakami i budynkami 👍 a zapłacisz za nie na Ali praktycznie te same pieniądze (~20zl dwie sztuki)

  • Pomogłeś! 1

@MikLuk moze być i takie coś https://a.aliexpress.com/_Evqt1AK generalnie 100mw Ci wystarczy z 20 krotnym zapasem zasięgu w porównaniu do marnych nrf24, 16.5mA to pewnie będzie pobór przez RX, choć trzeba poczytać bo ja już nie pamiętam, modułów jest cała masa, komunikacja UART lub SPI, do wyboru...ogólnie te moduły są produkowane z myślą o zasilaniu bateryjnym tak więc powinno być ok...jest jeszcze kwestia przepustowości, one nie są szybkie, 4800kb/s to taki standard żeby miały w miarę dobry zasięg (kilometry) no i też ważne że są raczej niezawodne i bez problemowe czego o nrf24 powiedzieć się nie da, bibliotek też jest w brud tak że można próbować...moduły na UART z przykręcaną anteną są droższe...30-50zl w zależności jaka moc 

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...