Перейти к содержанию

Передача данных по Nrf24L01 (Spi)


Рекомендуемые сообщения

Здравствуйте, думаю многие знают эти модули, nrf24l01, дешево и сердито как говорится. Купил несколько данных модулей, протестировал на МК ( ардуино) все работает хорошо, но нужно теперь упаковать устройство в коробочку размером как пуль от телевизора(можно большой). Требуется считать код нажатой клавиши и передать его по радиоканалу. То есть дешефрировать код клавиши нажатой и отправить в каком-либо виде по радиоканалу.

Есть конечно вариант с Adrduino Nano например, удобно конечно, что можно будет перепрограммировать если что без проблем, но с другой стороны, для того устройства выделять целую Arduino как-то нелогично.

Собственно хотел спросить совета, как лучше поступить в данной ситуации. Модуль работает по интерфейсу SPI, в интернете множество схем есть, но хотелось бы услышать советы более опытных людей, как в данной ситуации с наименьшими затратами сделать данное устройство.

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

Спасибо

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Вариантов масса, все зависит от того, какие затраты минимизировать.

Лично я бы стал плясать от питания, что там войдет в корпус? Два элемента АА? Для nrf24l01 пойдет, а вот для ардуины не очень... Потому выбираем отдельный контроллер с возможностью питания от 2х вольт...

Телеграмм канал для кладоискателей @ReviewdetectorChannel

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

22 часа назад, jinha сказал:

одуль работает по интерфейсу SPI, в интернете множество схем есть, но хотелось бы услышать советы более опытных людей, как в данной ситуации с наименьшими затратами сделать данное устройство.

С наименьшими затратами - это как? В пересчете на 1 единицу в партии из 200 шт минимум? И просто 1 шт сделать?

По минимальным размерам: мелкий PIC/STM (32- 4** 8L) либо китайский + p транзистор для выключения всей периферии + nrf + литиевый аккум = минимальный ве и размеры. По потреблению - как напишите прошивку, на асме со всей оптимизацией 280мА литий будет жить (при не очень частом нажатии кнопок) долго-долго.... Ну и подзарядить раз в 5 лет не в падлу будет.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

23 часа назад, jinha сказал:

Требуется считать код нажатой клавиши и передать его по радиоканалу. То есть дешефрировать код клавиши нажатой и отправить в каком-либо виде по радиоканалу.

В каком смысле считать код? С чего вдруг клавишам коды выдавать? Там будет схема обычной матричной клавиатуры, если кнопок много. Ну или кнопки просто будут заведены на порты МК, если их мало.

 

23 часа назад, jinha сказал:

нужно теперь упаковать устройство в коробочку размером как пуль от телевизора

Ну так и в чем проблема? Сделать плату, на нее поставить модуль NRF (они в SMD исполнении есть) и МК. Питание от двух элементов 1,5В.

 

23 часа назад, jinha сказал:

как в данной ситуации с наименьшими затратами сделать данное устройство.

Платы в размерах до 100х100мм стоят в пределах 500р за 5шт, МК подойдет любой, какой понравится, лишь бы у него SPI был и необходимое количество лап для кнопок, ну и питание до 1,8-2В. Ну и все по сути.

 

29 минут назад, jam_yps сказал:

p транзистор для выключения всей периферии

Это лишнее, из периферии там только nrf, а у него 900 нА потребление в Power Down режиме.

 

30 минут назад, jam_yps сказал:

на асме со всей оптимизацией

Язык на потребление не влияет вообще никак. Там МК все время будет в спячке, с пробуждением по прерыванию от изменения состояния пинов. Проснулся, проинициализировал NRF и отправил команду. Если в течении n-времени ничего не жмут, то опять в сон, предварительно переведя NRF в спячку.

Ссылка на комментарий
Поделиться на другие сайты

6 часов назад, BARS_ сказал:

В каком смысле считать код?

А вдруг PS2 клава?

6 часов назад, BARS_ сказал:

из периферии там только nrf

А вдруг PS2 клава?

 

6 часов назад, BARS_ сказал:

Язык на потребление не влияет вообще никак

Влияет. На время активного состояния. В асме - самое минимальное (из-за минимального размера кода и самой лучшей его оптимизации, - скажем так - проверял неоднократно), посему, если стоит задача "как можно дольше" - то асм. Если не верится - проверяем а потом утверждаем.

Ссылка на комментарий
Поделиться на другие сайты

13 часов назад, jam_yps сказал:

PS2 клава?

Не попадает под пункт ТЗ:

В 09.11.2022 в 13:47, jinha сказал:

упаковать устройство в коробочку размером как пуль от телевизора(можно большой).

 

13 часов назад, jam_yps сказал:

Влияет. На время активного состояния.

И влияние это несколько тактов буквально.

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, BARS_ сказал:

Не попадает под пункт ТЗ:

Отчего же? "считать код нажатой клавиши" - вполне может быть PS2. Ведь про матрицу клавиш ни слова.

2 часа назад, BARS_ сказал:

И влияние это несколько тактов буквально.

В некоторых случаях - на треть по объему и вполовину по времени. А если использовать некоторые библиотечные стандартные функции, - то и в разы.

Так что "несколько тактов" - это плохо оптимизированная программа на асме. Либо фраза взята из рекламы/Инета. Вот писать на асме оптимизированный код достаточно большого объема (а потом пытаться в нем разобраться через пару лет, даже с комментариями) - это та еще задача....

Ссылка на комментарий
Поделиться на другие сайты

15 минут назад, jam_yps сказал:

вполне может быть PS2.

Ну тогда надо сразу забывать про питание от батарей или АКБ. Да и проще тогда сразу беспроводную клаву купить.

 

16 минут назад, jam_yps сказал:

В некоторых случаях - на треть по объему и вполовину по времени. А если использовать некоторые библиотечные стандартные функции, - то и в разы.

Это на каких древнючих камнях такое возможно? Ну либо же на Си программа написана была совсем уж криво.

 

16 минут назад, jam_yps сказал:

Так что "несколько тактов" - это плохо оптимизированная программа на асме.

Да любая. Весь IoT давно пишется на высокоуровневых языках, там уже даже не Си, и прекрасно работает с низким энергопотреблением.

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, BARS_ сказал:

Да и проще тогда сразу беспроводную клаву купить.

Ага. А мозги тогда чем занять?

 

4 минуты назад, BARS_ сказал:

Это на каких древнючих камнях такое возможно?

На любых, 8/16/32, на 4 и 64 битных в эмбединге не писал. Просто напишите оптимизированный вариант ввода/вывода на Си и асме (качественно оптимизированный, а не просто так перенести) и сравните, - разница будет вполне себе заметна. В тех-же битовых операциях (на некоторых МКУ) на асме код выполняется сильно быстрее (да и меньше по объему), использовании результата предыдущих операций без их нового вычисления - тоже быстрее, использование рекурсивных функций - сильно быстрее (сами вызовы/возвраты). Много что жрет память/такты в Си, - этим платим за удобство и читаемость.

10 минут назад, BARS_ сказал:

Весь IoT давно пишется на высокоуровневых языках, там уже даже не Си

Да, интерпретаторы. Питон к примеру.

11 минут назад, BARS_ сказал:

прекрасно работает с низким энергопотреблением

С малым - да, просто время лень тратить на асм (там разбираться надо), а процы сейчас достаточно мощные (в пересчете на милливатт) и большим ПЗУ/ОЗУ а аккумуляторы литиевые дали толчок в емкости, - поэтому сильно не экономится ничто - работает и так. Там, где реально экономится каждый милливатт - пишут таки на Си а некоторые куски ответственного кода - на асме.

Ссылка на комментарий
Поделиться на другие сайты

58 минут назад, jam_yps сказал:

Много что жрет память/такты в Си, - этим платим за удобство и читаемость.

Это все сказки. Конечно, если использовать кучу либ типа HAL и прочего кала, то может производительность и страдает. Но если общаться напрямую с регистрами, то разницы особой не будет. А на ARM писать на ASM в принципе мазохизм. Да, если это что-то вроде ОС, то смысл есть. Но не более.

 

1 час назад, jam_yps сказал:

где реально экономится каждый милливатт

Например, нигде? Помимо экономии на милливаттах есть еще экономия на времени разработки. Выгоднее вложить чуть больше денег в чуть более мощное железо и написать код за неделю, чем тратить условный месяц на разработку ПО на ASM.

Ссылка на комментарий
Поделиться на другие сайты

34 минуты назад, BARS_ сказал:

А на ARM писать на ASM в принципе мазохизм.

Ага! Иногда приходится.

 

34 минуты назад, BARS_ сказал:

Например, нигде?

Космос - например. Ну и так, тут на Земле бывает нужно. Разные ситуации есть.

34 минуты назад, BARS_ сказал:

Да, если это что-то вроде ОС

На Си, ОС на асме - это жуть какой мазохизм (пробовал!). Только ввод-вывод, - там вполне оправдывает, даже на 32 АРМе (который RISC) или MISC процессорах. На 64-как - все на Си уже. Есть процессора со встроенными машинами состояния (вот где разогнаться со скоростью ввода/вывода!) - там пока асм для их программирования (возможно есть и на Си, не пробовал).

Одно время мне нравились процы с VLIW архитектурой, потом это прошло, - там на асме писал.

Изменено пользователем jam_yps
Ссылка на комментарий
Поделиться на другие сайты

12 минут назад, jam_yps сказал:

ОС на асме - это жуть какой мазохизм (пробовал!).

Откройте исходники той же RTOS. Часть кода там на ASM. А еще у некоторых серий тех же STM есть небольшой объем быстрой памяти, код в которой выполняется быстрее. Из недостатков - DMA к ней доступа не имеет.

 

 

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, BARS_ сказал:

Откройте исходники той же RTOS.

Какой из них?  Их несколько, притом уже много.

 

2 минуты назад, BARS_ сказал:

у некоторых серий тех же STM

Снова - у каких, хоть серию? Или имеется в ввиду разные шины на АРМе? Или организация китайского клона stm32 с выполнением кода полностью из ОЗУ?

3 минуты назад, BARS_ сказал:

DMA к ней доступа не имеет

А нафиг к программной памяти ДМА?

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, jam_yps сказал:

Какой из них?

Например FreeRTOS

 

3 минуты назад, jam_yps сказал:

Снова - у каких, хоть серию? Или имеется в ввиду разные шины на АРМе?

F429. Нет, не шины, а именно память кэша, CCM зовется. Висит прямо на шине ядра и имеет более быстрый доступ, чем обычная RAM.

image.png.f422b9c9128563b60417db448d9c7192.png

Ссылка на комментарий
Поделиться на другие сайты

9 минут назад, BARS_ сказал:

именно память кэша, CCM зовется

Да, она на контроллере проца висит, побыстрее будет - согласен. 

16 минут назад, BARS_ сказал:

Например FreeRTOS

Писана на Си. Только переключение контекста на асме (где скорость как раз важна). Задолбешься портировать кучу кода ассемблера на кучу платформ.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...