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

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
Открыл глаза
Сообщения: 62
Зарегистрирован: Пн сен 09, 2013 11:43:22

Сообщение chip_1 »

Есть 5 модулей nrf24l01, один Arduino UNO и один Nano.
По типовым схемам и скетчам получается только последовательно их включать и то только на UNO, потому, что у него количество выводов позволяет и в loop.
Требуется включить на передачу одновременно все 5 модулей но на разных каналах. Возможно ли это сделать?
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Да хоть 50 штук. Лишь бы выводов у МК хватило.
Там же обычный SPI, со своим CS.
СпойлерИзображение
2023-03-10_13-25-29.png
(64.11 КБ) 343 скачивания
Контактная информация:
Реклама
Друг Кота
Сообщения: 9175
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

chip_1 писал(а):включить на передачу одновременно все 5 модулей но на разных каналах. Возможно ли это сделать?
да
https://www.radiokot.ru/forum/viewtopic ... 8&t=185219
Открыл глаза
Сообщения: 62
Зарегистрирован: Пн сен 09, 2013 11:43:22

Сообщение chip_1 »

[uquote="roman.com",url="/forum/viewtopic.php?p=4383794#p4383794"]
chip_1 писал(а):включить на передачу одновременно все 5 модулей но на разных каналах. Возможно ли это сделать?
да
https://www.radiokot.ru/forum/viewtopic ... 8&t=185219[/uquote]

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

Добавлено after 3 minutes 20 seconds:
[uquote="Аlex",url="/forum/viewtopic.php?p=4383763#p4383763"]Да хоть 50 штук. Лишь бы выводов у МК хватило.
Там же обычный SPI, со своим CS.
СпойлерИзображение
2023-03-10_13-25-29.png
[/uquote]

А как? В первом топике я написал, что делал, но модули работают не одновременно. Цикл Loop же работает, перебирая выводы для активации модулей.
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

https://yandex.ru/search/?text=spi+%D1% ... est_T&lr=5
И сразу, первая же картинка :
СпойлерИзображение
Контактная информация:
Реклама
Друг Кота
Сообщения: 9175
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

chip_1 писал(а):А как?
chip_1 писал(а):модули работают не одновременно.
значит надо выкинуть библиотеку ардуины... и написать всё самому...
я так и сделал))
Loop можно оставить...
хотя я его тоже выкинул))
Реклама
Открыл глаза
Сообщения: 62
Зарегистрирован: Пн сен 09, 2013 11:43:22

Сообщение chip_1 »

[uquote="roman.com",url="/forum/viewtopic.php?p=4383835#p4383835"]
chip_1 писал(а):А как?
chip_1 писал(а):модули работают не одновременно.
значит надо выкинуть библиотеку ардуины... и написать всё самому...
я так и сделал))
Loop можно оставить...
хотя я его тоже выкинул))[/uquote]

Библиотеки писать не умею, так как совсем начинающий писарь скетчей )) Хочется пока воспользоваться тем, что есть..
Поставщик валерьянки для Кота
Сообщения: 1916
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Почему 5 устройств на разных каналах к одному мастеру? Каждое устройство уникально (pipe), отправляете информацию только ему, только то, что опознано - оно отвечает. На один канал.
Контактная информация:
Открыл глаза
Сообщения: 62
Зарегистрирован: Пн сен 09, 2013 11:43:22

Сообщение chip_1 »

Мне не важно, главное, что бы передавали одновременно, потоком данные. Данные будут одни и те же. Т.е. повторяться.
Друг Кота
Сообщения: 9175
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

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

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

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

переходим по ссылке... https://www.radiokot.ru/forum/viewtopic ... 8&t=185219
какаем список основный команд модуля nrf24l01... согласно даташиту...
ATmega8-nRF24L01+.txt
(15.99 КБ) 77 скачиваний
в даташите много команд... но для нормальной работы модуля 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 КБ) 113 скачиваний
затем...

-если хотим отправить данные то:
указываем адрес (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:
Открыл глаза
Сообщения: 62
Зарегистрирован: Пн сен 09, 2013 11:43:22

Сообщение chip_1 »

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

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

Для не ардуиновских проектов я совсем слаб, полный ноль, пока даже не знаю в чём программировать и чем заливать.. )
Вложения
Скетч NRF_DUE.txt
(2.76 КБ) 90 скачиваний
Друг Кота
Сообщения: 9175
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

аналогично можно подключить несколько интернет модулей... и несколько экранов... и т.д.
Screenshot_2.jpg
(89.8 КБ) 90 скачиваний
я подключал 3 экрана к одному МК...
подключение к компу Atmega_8.jpg
(144.42 КБ) 89 скачиваний
и т.д. и т.п.
всё работает одинаково... по одной схеме:
-шина данных
-шина адреса
[uquote="chip_1",url="/forum/viewtopic.php?p=4385257#p4385257"]Вопрос, это тоже самое, что вы имели в виду, или всё-таки разница есть? Если есть, то в чем?[/uquote]
разница в том что у меня нет ардуины))
поэтому я не использую библиотеки от ардуины... и я не знаю как они работают))
// Библиотека для работы с SPI
#include <SPI.h>
// Файл с настройками для библиотеки RF24
#include <nRF24L01.h>
// Библиотека RF24
#include <RF24.h>

зато я знаю как работает сам модуль nRF24L01... и мне этого достаточно))
[uquote="chip_1",url="/forum/viewtopic.php?p=4385257#p4385257"]Для не ардуиновских проектов я совсем слаб, полный ноль, пока даже не знаю в чём программировать и чем заливать.. )[/uquote]
я программирую в CodeVisionAVR или AVR Studio
эти две программы мне хватает))

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

через программу avrdudeprog33 или eXtreme Burner - AVR
эти две программы мне хватает))
Открыл глаза
Сообщения: 62
Зарегистрирован: Пн сен 09, 2013 11:43:22

Сообщение chip_1 »

Благодарю за наставления! Буду изучать лучше программирование напрямую. Arduino конечно интересно, но урезанно слишком.
Друг Кота
Сообщения: 9175
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

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

качаем две программки...
программируем напрямую...
-на Си
-на Ассемблере
две программы.jpg
(236.54 КБ) 84 скачивания
Итого: полный доступ к МК... без ограничений))
:tea:
Потрогал лапой паяльник
Сообщения: 307
Зарегистрирован: Пн окт 26, 2020 08:37:51
Откуда: г.Волгоград

Сообщение С.Н. »

Справедливости ради, следует отметить что еще есть гибридный путь (без программатора) к этому "счастью": любой Hex (из asm или c) > AvrDude по USB > Загрузчик Arduino > Flash.
Активно пользуюсь - удобно. https://radiokot.ru/forum/viewtopic.php ... 4#p4333134
ФУОЗ на платформе Ардуино: https://radiokot.ru/forum/viewtopic.php ... 6#p4366626
ВК - "ФУОЗ на микроконтроллере Atmega328P (МПСЗ)"
Друг Кота
Сообщения: 9175
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

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

Вернуться в «Arduino»