несколько nrf24l01 к одному ардуино
- Войдите на сайт для отправки комментариев
Втр, 15/01/2019 - 23:40
всем привет, возможно ли поключить несколько nrf24l01 к одному ардуино, хотябы 2 - 3 (к меги), и чтобы они отправляли одновременно, только на разных частотах например число "5")
или придется к каждому nrf отдельно ардуино подгонять? чтобы по очереди мне не подходит, нужно чтобы одновременно.
не спрашивайте зачем)
одновременно нет, только по очереди, nrf имеет вывод csn - chip select, можно подключить хоть десяток на один МК
Несколько поясню мысль Валеры - подключить к одной ардуине несколько NRF можно без проблем. Но вот сделать так, что бы они передавали совсем одновременно это не получится. Передавать будут по очереди, хотя и с достатчно быстро.
может лучше будет отдельно ардуино подгонять. и потом связать их по tx и rx?
а если по очереди то задержка будет не большая?
и на разной частоте получится?
Можно по всякому. Ворос в том, какую именно задачу требуется решить. Если нужно что бы передавали абсолютно синхронно, то да надо каждую NRF на свой контроллер сажать. Если можно разница в несколько миллисекунд между передачами допустима, так и одного хватит.
наверное я попробую сначала на одном контроллере , по очереди отправлять сигнал. но как отправлять на разной частоте? как ето сделать программно?
а как быть с этим:
radio.setChannel(0x60);
если 4 разных канала?
Так понятнее?
ок ,спс понял .
попробую
Несколько поясню мысль Валеры - подключить к одной ардуине несколько NRF можно без проблем. Но вот сделать так, что бы они передавали совсем одновременно это не получится. Передавать будут по очереди, хотя и с достатчно быстро.
Если цель в том, чтобы данные одновременно появились в эфире, но на разных каналах, то это изобразить не сложно. Сначала последовательно заполняем буфер передачи всех NRF24, а затем дергаем CE. Если CE всех модулей соединить и завести на один пин МК, то одновременность передачи будет обеспечена аппаратно.
ом, чтобы данные одновременно появились в эфире, но на разных каналах, то это изобразить не сложно. Сначала последовательно заполняем буфер передачи всех NRF24, а затем дергаем CE. Если CE всех модулей соединить и завести на один пин МК, то одновременность передачи будет обеспечена аппаратно.
Хорошая идея. Действительно, будет практически одновременно. Только СЕ, все-таки, лучше вешать не на один пин, а на один порт. И дергать их всех одной записью в порт.
И какие выгоды это сулит?
И какие выгоды это сулит?
Ну а если нам потребуется передавать отдельно? Да и на прием этот СЕ завязан. Зачем себе руки связывать сажая все на одни пин?
Предлагаю преступить к умствованиям на сей счет ровно с того момента, когда на самом деле потребуется.
требуются именно разные частоты, каналы? вы знаете что nrf24l01 может в одном канале адресовать 5 до устройств?
да знаю, но тут именно нужно одновременно на разных частотах
хорошо.
тогда вопрос на счет "одновременно", т.к. существует еще такая штука как интерференция радиоволн. И вот когда все это одновременнно, да еще и в ближней зоне, там может получиться ваще хз какая каша.
В ближней зоне антенны, а это где-то 3-5 длинн волны, т.е. для 2,4 ГГц порядка полуметра, классические представления о радиоволнах вообще неприменимы, т.к. это зона только еще формирования бегущей р. волны.
Т.е. даже как расположить в одном месте 5 передатчиков, чтобы их ближние зоны пространственно не пересекались при одновременной работе, - уже вопрос.
Вот такое оно "одновременно" =)
Если взять ардуину на Atmega328PB, то там два SPI рабочих и вполне можно подключить две NRF-ки
Так же можно на своболных пинах поднять SoftSPI и еще одну прикрутить )