Страница 1 из 1

Радиомодули FS1000A / XY-MK-5V 433Mhz TX/RX и nRF24L01+

Добавлено: 18.09.2015{, 13:56}
alexzh
Прошу автора уделить большее внимание радиомодулям  FS1000A / XY-MK-5V433Mhz TX/RX Module  и nRF24L01+.  модули дешевые, библиотек для них достаточно,но в Flprog никак не использовать. (Если я ошибаюсь выложите пример передачи данных с термодатчиков).  По сути в Flprog реализована поддержка достаточно сложных радиомодулей  WI-FI, bluetooth, интерфейс RS-485  для «продвинутых проектов». Но, для популяризации проекта Flprog среди начинающих непрограммистов, считаю необходимым поддержку Вашей программой, распространенных и дешевых радиомодулей.
Тем более в«хотелках» пользователей эта задача висит давно.

Радиомодули FS1000A / XY-MK-5V 433Mhz TX/RX и nRF24L01+

Добавлено: 13.02.2017{, 11:52}
Ruskat
Хочу поинтересоваться, как проходит прогресс по сдруживанию программы с упомянутыми модулями, а то даже знатные люди в этой теме не могут нормально обьяснить, как управлять радио-модулем с пульта, по принципу как и с ИК пульта.

Радиомодули FS1000A / XY-MK-5V 433Mhz TX/RX и nRF24L01+

Добавлено: 13.02.2017{, 12:23}
Boroda
Ruskat, с nRF24 еще более менее понятно, помоему блоки на форуме есть. Но эта гадость бьет только по квартире и то не везде и раз-два в сутки виснет, раз в минуту ее инициализировать надо (с питанием все в порядке: индуктивности, кондеры и т.д.).

С приемниками, аля 20 рублей за ведро, все намного сложнее. Декодером надо постоянно и очень быстро опрашивать выход приемника (период порядка 50-80 микросекунд), Но это в стиле FLProg сделать не удается, потому как народ лепит по принципу: все в кучу на одной плате (иногда период цикла достигает десятка секунд). Если приемник повесить на вход прерывания Ардуины, то программа там зависнет навсегда, потому как шум с приемника бешенный. Я делал блоки для микросхем 2262 - работает пока не поставишь на плату что-нибудь тяжелое. Попытался сделать опрос на прерывании от таймера - работало очень нестабильно и пока это дело забросил (дома ремонт, некогда возиться).

Добавлено (13.02.2017, 12:23)
---------------------------------------------
Передавать/принимать данные неибходимо с помощью ШИМ (единица - импульс 1500мкс, ноль - импульс 500мкс, пауза - 500мкс). Прием/передача по USART - бред, потому как от большой разницы в длине импульсов у приемника срывается синхронизация и он начинает шуметь.

П.С. длина импульсов примерная.

Радиомодули FS1000A / XY-MK-5V 433Mhz TX/RX и nRF24L01+

Добавлено: 15.02.2017{, 08:49}
Ruskat
Boroda,  Ну так с готовыми же релейными радио-модулями все нормально...
Тем более, что на Ардуино, в отличии от готового модуля можно детально скорректировать все.
Что принимать, что слушать, что игнорировать...

Радиомодули FS1000A / XY-MK-5V 433Mhz TX/RX и nRF24L01+

Добавлено: 15.02.2017{, 11:00}
Boroda
Ruskat, эти вещи сравнивать нельзя. У готового радиомодуля нет панели Nextion, модбаса, логики, кнопок и т.д. Он заточен только под прием и расшифровку. Еще раз напишу:
Boroda писал(а):Я делал блоки для микросхем 2262 - работает пока не поставишь на плату что-нибудь тяжелое
Функция приема сигнала RF работает? Работает! Поставишь Модбас - и перестает работать! А потому как у Модбаса в коде стоит Delay(5) перед передачей и после передачи.
Люди брали мои блоки и радовались: "стреляет посылками как из пулемета". А потом ставили на плату экран графический и расстраивались. Программа должа писаться под задачи. FBD - это автоматика, простые и сложные Логические схемы. А вот все эти плюшки (типа экранов, RF, IR, WEB, DS18Bxx) просто не укладываются в саму концепцию FBD и в данном случае пользователь извращается как может.

Возьмите реле Лого! - вы можете вывести на встроенный экран сообщение - это стандартный функционал, работающий независимо от Вашей программы и не мешающий работать Вашей программе. На Ардуине Вы сами ставите этот экран, соответственно это часть Вашей программы, и если Вы сделаете обновление экрана каждый цикл, то он и будет обновляться каждый цикл, отнимая время у другой части Вашей программы.

Добавлено (15.02.2017, 09:46)
---------------------------------------------
Если программу писать кодом под определенные задачи, то можно хоть что делать. Я в двух килобайтах памяти реализовывал динамическую индикацию с регулировкой яркости длительностью засвечивания сегментов индикатора, DS18B20, прием/расшифровку сигналов с десяти радиодатчиков с шифровкой сообщений (динамический код), опрос кнопок, внутренние часы реального времени с коррекцией хода, меню из 15 пунктов. И все это прекрасно работало. Вся конструкция состояла из PIC16F628, приемника 433МГц, индикатора и кнопок. Резервное питание 4,5В 0,7мА. Кварц на 4МГц стоял, значит частота процессора 1МГц. У ардуины частота процессора 16МГц.

Добавлено (15.02.2017, 11:00)
---------------------------------------------
Только из-за этого я попросил Автора FLProg Сергея сделать Условия на выполнение плат. Спасибо ему огромное за реализацию. Основной цикл крутится очень быстро (100-200 микросекунд) и в нем можно выполнять какие-то действия, требующие незамедлительной реакции. А все экраны, датчики, сложные с точки зрения контроллера преобразования и т.д. выполнять только тогда, когда это необходимо.
Вот Вы считали датчик и сразу сделали деление на 10 в формате Float, которое занимает очень много времени. Если Вы это деление просто поставите на плату, оно будет выполняться каждый цикл, а зачем? Ведь считывание датчика происходит каждые две секунды. Контроллер сделает 500 делений за секунду одного и того же числа бесполезно, а его ведь можно сделать один раз после чтения датчика. И таких бесполезных действий море.
Вот и получается, что я свой блок 2262 смогу использовать с дисплеем 1602 и модбасом, потому как я правильно распределил нагрузку процессора, а другой пользователь скажет, что блок нерабочий, потому как без понимания подошел к реализации программы.

П.С. в модбасе эти задержки Delay(5) можно вообще выкинуть, потому как переключение MAX485 прием/передача занимает пару десятков наносекунд. А команда DigitalWrite занимает 4 микросекунды.

Радиомодули FS1000A / XY-MK-5V 433Mhz TX/RX и nRF24L01+

Добавлено: 17.02.2017{, 10:50}
Ruskat
Boroda, Благодарен за Ваши пояснения, но объясню по проще...
Я хочу с помощью FLprog но на Ардуино собрать систему похожую на такую:
СпойлерПоказать
Поэтому и интересуюсь, как кнопки пульта привязать к соответствующим реле.

Радиомодули FS1000A / XY-MK-5V 433Mhz TX/RX и nRF24L01+

Добавлено: 01.03.2017{, 23:49}
Boroda
Ruskat, если ничего не добавлять, то вполне реализуемо, даже можно какие-либо выходы сделать с таймерами. Пульт лучше взять стандартный, потому как с корпусами проблема всегда возникает. Просто надо пульт расковырять и посмотреть, что внутри стоит или коды кнопок с помощью приемника и компа прочитать. Можно конечно и пульт на Ардуине сделать, но тогда с питанием проблемы будут, кучу диодов от кнопок ставить придется и дальность упадет из-за низкого напряжения.

Добавлено (01.03.2017, 23:49)
---------------------------------------------
Добавил блоки приема/передачи посредством дешевых модулей RF433. Блоки приема работают на прерываниях
независимо от текущей программы, блоки передачи вносят задержку на
выполнение программы, во время передачи.