Jump to content

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


Recommended Posts

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

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

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

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

Спасибо

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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

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

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

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

Link to comment
Share on other sites

Секреты депассивации литиевых батареек FANSO EVE Energy
При длительном хранении в литиевых ХИТ происходит процесс пассивации. Он обратим, однако информации о том, как это правильно организовать, практически нет. Известный производитель батареек FANSO EVE Energy делится рекомендациями, как активировать первичный литиевый элемент питания.

Читать статью >>

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 в спячку.

Link to comment
Share on other sites

Сравнительное тестирование алкалиновых батареек POWER FLASH 

В потребительском и промышленном сегментах российского рынка химических источников тока имеется множество щелочных (алкалиновых) батареек различных производителей и ценовых категорий. Но велика ли разница в их качестве?

Провели небольшой сравнительный тест, чтобы понять, могут ли источники тока POWER FLASH эффективно заменить продукцию таких известных производителей, как Duracell и GP, вычислить, чему равна стоимость одного часа работы батареек, а также сравнить полученные данные со значениями, указанными в технической документации.  Подробнее>>

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

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

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

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

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

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

 

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

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

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

Link to comment
Share on other sites

Новые источники питания на DIN-рейку класса High End от MORNSUN
Компания MORNSUN разработала новую линейку ИП с креплением на DIN-рейку класса High End. Линейка состоит из двух семейств однофазных ИП, различающихся функционалом (LIMF и LIHF) и одного семейства на трехфазное напряжение (LITF). У всех этих ИП печатная плата с компонентами имеет лаковое покрытие. Продукция работоспособна в температурном диапазоне -40...85ºС (для однофазных) и -30...70ºС (для трехфазных). Кроме того, однофазные ИП соответствуют требованиям ATEX и могут использоваться во взрывоопасных зонах. Семейство LIMF имеет стандартный функционал (ККМ, сухой контакт реле, 150% перегрузочная способность), а семейство LIHF – максимальный функционал с доп. функциями селективной защиты (SFB) и возможностью дистанционного управления (может заменить серию QUINT от Phoenix Contact).

Подробнее >>

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

PS2 клава?

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

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

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

 

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

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

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

Link to comment
Share on other sites

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

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

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

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

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

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

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

Link to comment
Share on other sites

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

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

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

 

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

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

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

 

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

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

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

Link to comment
Share on other sites

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

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

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

 

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

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

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

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

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

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

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

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

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

Link to comment
Share on other sites

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

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

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

 

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

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

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

Link to comment
Share on other sites

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

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

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

 

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

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

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

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

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

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

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

Edited by jam_yps
Link to comment
Share on other sites

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

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

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

 

 

Link to comment
Share on other sites

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

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

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

 

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

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

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

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

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

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

Link to comment
Share on other sites

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

Какой из них?

Например FreeRTOS

 

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

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

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

image.png.f422b9c9128563b60417db448d9c7192.png

Link to comment
Share on other sites

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

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

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

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

Например FreeRTOS

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

Link to comment
Share on other sites

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

Писана на Си. Только переключение контекста на асме

Так я и не говорил, что она вся на ASM.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Сообщения

    • Товарищи. Я в отчаянии. Пожалуйста не пинайте, а дайте совет. Или направьте в нужное русло. Буду очень благодарен. Суть вопроса: Живу в панельной многоэтажке. Соответственно слышимость там хорошая. Так вот есть сосед, который включает радио как будильник в 5:30 утра! И играет до 7:20. Да, не танцпол, но слышно отлично, так что все просыпаются. Участковый ничего не делает, так как шумомер не слышит нарушения. А спать невозможно. И так 7 дней в неделю. Я начитался форумов, собирал простенькие схемы на различных транзисторах типа кт904А, потом на кт31**, вообщем всё, что находил в интернете-не заработало от слова с-о-в-с-е-м. Потом собрал мультивибратор на транзисторах 2SC3355. Схему взял из youtube там видео "антишансон" был.  Это единственное, что принесло какие то результаты. Помехи были, но не на ту станцию. Помогите, есть какой то проверенный рабочий вариант? Как заглушить это чертовое радио? Может есть какие то варианты? Помогите, я в отчаянии.
    • Вот я и пытаюсь потиху разбираться с этой темой. Первая задача - хочу сделать самостоятельный тахометр для вычисления частоты оборотов электродвигателя. Вот это первый и конкретный проект. Для этого хочу сделать плату с "недоардуино", прошить скетч на Atmega328, закрепить на плате, все спрятать в коробочку и будет отдельным прибором. Все, на этом проект будет сформирован. Нано, как была первой, так и останется свободно существовать для отладок следующих задумок. Вот для этого и хочу сделать отдельную плату, только для этого конкретного проекта. Надеюсь доходчиво пояснил?
    • какую платку, делать больше не чего? Нормально открытый термостат за $1 и достаточно. Если объединять 2 радиатора (а зачем?), то 140мм кулёк нужен.
    • О данном усилителе (или очень похожем на него) есть подробное видео на ютубе -   
    • А можно не силиконом клеить, а теплопроводным клеем - два в одном: и клеит и тепло проводит, Клею таким медные флажки на мелкие транзисторы 
    • ну это уже завтра  что получилось отпишусь 
    • недоардуина не станет подспорьем, потому что всё будет на соплях как и с нано. нужно пытаться проектировать платы под конкретные проекты, тогда будут решены вопросы с топологией и схемотехникой.
×
×
  • Create New...