Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

Несколько nrf24l01 к одному ардуино.

Пт мар 10, 2023 10:35:45

Есть 5 модулей nrf24l01, один Arduino UNO и один Nano.
По типовым схемам и скетчам получается только последовательно их включать и то только на UNO, потому, что у него количество выводов позволяет и в loop.
Требуется включить на передачу одновременно все 5 модулей но на разных каналах. Возможно ли это сделать?

Re: Несколько nrf24l01 к одному ардуино.

Пт мар 10, 2023 13:27:54

Да хоть 50 штук. Лишь бы выводов у МК хватило.
Там же обычный SPI, со своим CS.

Re: Несколько nrf24l01 к одному ардуино.

Пт мар 10, 2023 14:28:25

chip_1 писал(а):включить на передачу одновременно все 5 модулей но на разных каналах. Возможно ли это сделать?

да
https://www.radiokot.ru/forum/viewtopic ... 8&t=185219

Re: Несколько nrf24l01 к одному ардуино.

Пт мар 10, 2023 15:16:28

chip_1 писал(а):включить на передачу одновременно все 5 модулей но на разных каналах. Возможно ли это сделать?

да
https://www.radiokot.ru/forum/viewtopic ... 8&t=185219


Перерыл, не нашел там подключения нескольких модулей..

Добавлено after 3 minutes 20 seconds:
Да хоть 50 штук. Лишь бы выводов у МК хватило.
Там же обычный SPI, со своим CS.
2023-03-10_13-25-29.png
-->


А как? В первом топике я написал, что делал, но модули работают не одновременно. Цикл Loop же работает, перебирая выводы для активации модулей.

Re: Несколько nrf24l01 к одному ардуино.

Пт мар 10, 2023 15:17:52

https://yandex.ru/search/?text=spi+%D1% ... est_T&lr=5
И сразу, первая же картинка :

Re: Несколько nrf24l01 к одному ардуино.

Пт мар 10, 2023 16:04:00

chip_1 писал(а):А как?

chip_1 писал(а):модули работают не одновременно.

значит надо выкинуть библиотеку ардуины... и написать всё самому...
я так и сделал))
Loop можно оставить...
хотя я его тоже выкинул))

Re: Несколько nrf24l01 к одному ардуино.

Пт мар 10, 2023 16:16:40

chip_1 писал(а):А как?

chip_1 писал(а):модули работают не одновременно.

значит надо выкинуть библиотеку ардуины... и написать всё самому...
я так и сделал))
Loop можно оставить...
хотя я его тоже выкинул))


Библиотеки писать не умею, так как совсем начинающий писарь скетчей )) Хочется пока воспользоваться тем, что есть..

Re: Несколько nrf24l01 к одному ардуино.

Пт мар 10, 2023 16:42:03

Почему 5 устройств на разных каналах к одному мастеру? Каждое устройство уникально (pipe), отправляете информацию только ему, только то, что опознано - оно отвечает. На один канал.

Re: Несколько nrf24l01 к одному ардуино.

Вс мар 12, 2023 11:25:54

Мне не важно, главное, что бы передавали одновременно, потоком данные. Данные будут одни и те же. Т.е. повторяться.

Re: Несколько nrf24l01 к одному ардуино.

Вс мар 12, 2023 13:29:55

пока ты ведёшь тут переписку... уже бы давно всё собрал и настроил))

модуль nrf24l01 слишком простой)) ему н нужны библиотеки...

управление модулем nrf24l01, как и всеми другими модулями, осуществляется через простые команды... по SPI...

переходим по ссылке... https://www.radiokot.ru/forum/viewtopic ... 8&t=185219
какаем список основный команд модуля nrf24l01... согласно даташиту...
ATmega8-nRF24L01+.txt
(15.99 KiB) Скачиваний: 31

в даташите много команд... но для нормальной работы модуля nrf24l01 этих команд достаточно:

// 0x00 CONFIG
// 0x01 EN_AA
// 0x03 SETUP_AW (3,4,5 bytes)
// 0x04 SETUP_RETR
// 0x05 RF_CH RF Channel
// 0x06 RF_SETUP
// 0x07 STATUS
// 0x0A RX_ADDR_P0
// 0x10 RX_ADDR_P0
// 0x11 RX_PW_P0

всего то надо знать 10 команд))
:tea:

затем берём ардуину (1 штука) и берём nRF24L01 (8 штук).

делаем две шины:
1-шина данных (для команд и данных).
2-шина адреса (для каждого модуля nRF24L01 отдельно).
ардуина.jpg
(79.95 KiB) Скачиваний: 50

затем...

-если хотим отправить данные то:
указываем адрес (0...7) модуля nRF24L01 через который хотим передать данные,
указываем частоту (0x05 RF_CH RF Channel) для данного модуля
и отправляем данные... для данного модуля.

-если хотим отправить данные через все модули одновременно то:

указываем адрес (0...7) модуля nRF24L01, =0
указываем частоту (0x05 RF_CH RF Channel) для данного модуля =0
указываем адрес (0...7) модуля nRF24L01, =1
указываем частоту (0x05 RF_CH RF Channel) для данного модуля =1
указываем адрес (0...7) модуля nRF24L01, =2
указываем частоту (0x05 RF_CH RF Channel) для данного модуля =2
указываем адрес (0...7) модуля nRF24L01, =3
указываем частоту (0x05 RF_CH RF Channel) для данного модуля =3
указываем адрес (0...7) модуля nRF24L01, =4
указываем частоту (0x05 RF_CH RF Channel) для данного модуля =4
указываем адрес (0...7) модуля nRF24L01, =5
указываем частоту (0x05 RF_CH RF Channel) для данного модуля =5
указываем адрес (0...7) модуля nRF24L01, =6
указываем частоту (0x05 RF_CH RF Channel) для данного модуля =6
указываем адрес (0...7) модуля nRF24L01, =7
указываем частоту (0x05 RF_CH RF Channel) для данного модуля =7

и отправляем данные... на все модули одновременно (!).

в итого все модули (8 штук) будут передавать данные одновременно (!) и каждый на своей частоте (!).

и что сложного то ?
:dont_know:

Re: Несколько nrf24l01 к одному ардуино.

Пн мар 13, 2023 10:44:34

Огромное спасибо за столь развернутый ответ! :beer:
Ну для меня, как новичка это сложно, и опыт приходит не сразу ))
Написал вот такой скетч для DUE: Вопрос, это тоже самое, что вы имели в виду, или всё-таки разница есть? Если есть, то в чем?
Спасибо!

(данные временно рандомные)

Для не ардуиновских проектов я совсем слаб, полный ноль, пока даже не знаю в чём программировать и чем заливать.. )
Вложения
Скетч NRF_DUE.txt
(2.76 KiB) Скачиваний: 34

Re: Несколько nrf24l01 к одному ардуино.

Пн мар 13, 2023 14:34:09

аналогично можно подключить несколько интернет модулей... и несколько экранов... и т.д.
Screenshot_2.jpg
(89.8 KiB) Скачиваний: 38

я подключал 3 экрана к одному МК...
подключение к компу Atmega_8.jpg
(144.42 KiB) Скачиваний: 38

и т.д. и т.п.
всё работает одинаково... по одной схеме:
-шина данных
-шина адреса
Вопрос, это тоже самое, что вы имели в виду, или всё-таки разница есть? Если есть, то в чем?

разница в том что у меня нет ардуины))
поэтому я не использую библиотеки от ардуины... и я не знаю как они работают))
// Библиотека для работы с SPI
#include <SPI.h>
// Файл с настройками для библиотеки RF24
#include <nRF24L01.h>
// Библиотека RF24
#include <RF24.h>

зато я знаю как работает сам модуль nRF24L01... и мне этого достаточно))
Для не ардуиновских проектов я совсем слаб, полный ноль, пока даже не знаю в чём программировать и чем заливать.. )

я программирую в CodeVisionAVR или AVR Studio
эти две программы мне хватает))

заливаю с помощью обычного программатора USBASP

через программу avrdudeprog33 или eXtreme Burner - AVR
эти две программы мне хватает))

Re: Несколько nrf24l01 к одному ардуино.

Пн мар 13, 2023 15:06:42

Благодарю за наставления! Буду изучать лучше программирование напрямую. Arduino конечно интересно, но урезанно слишком.

Re: Несколько nrf24l01 к одному ардуино.

Пн мар 13, 2023 15:39:12

chip_1 писал(а):лучше программирование напрямую.

это правильно))
купи простой программатор... https://www.youtube.com/watch?v=AxiI2gSYmnc
подключи к своей ардуине... и программируй напрямую !))

качаем две программки...
программируем напрямую...
-на Си
-на Ассемблере
две программы.jpg
(236.54 KiB) Скачиваний: 37

Итого: полный доступ к МК... без ограничений))
:tea:

Re: Несколько nrf24l01 к одному ардуино.

Пн мар 13, 2023 15:49:09

Справедливости ради, следует отметить что еще есть гибридный путь (без программатора) к этому "счастью": любой Hex (из asm или c) > AvrDude по USB > Загрузчик Arduino > Flash.
Активно пользуюсь - удобно. viewtopic.php?p=4333134#p4333134

Re: Несколько nrf24l01 к одному ардуино.

Пн мар 13, 2023 16:08:43

Hex (из asm или c) > AvrDude по USB > Загрузчик Arduino > Flash.
не пробовал)) потому что у меня нет ардуины...
:dont_know:
а ещё лучше так:
Hex (из asm или c) > Java по Ethernet (с PoE) > Загрузчик AVR > Flash.
загрузчик_AVR.jpg
(156.02 KiB) Скачиваний: 39

:))
Ответить