Разработки ecoins
- Phazz
- Полковник
- Сообщения: 3131
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 234 раза
- Поблагодарили: 114 раз
-
- Полковник
- Сообщения: 4010
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 155 раз
Разработки ecoins
1.после того как Вы выбираете в Arduino IDE нужный контроллер(из списка поддерживаемых ecoins) компиляция выполняется с учетом этого контроллера.
Блок вывода параметров плат выводит параметры этого контроллера по настраиваемому списку:
- время компиляции
-тип контроллера
- перечень всех доступных пинков в том числе с разбивкой по типам(дискретный ввод, дискретный вывод ит.д.)
- перечень интерфейсных пинков
И тд
Использовать просто, но в реализации есть нюансы, которые учитываются для универсального вывода для разных контроллеров.
—-
Возможно я не вполне парня вопрос....
- Phazz
- Полковник
- Сообщения: 3131
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 234 раза
- Поблагодарили: 114 раз
Разработки ecoins
[ref]ecoins[/ref], меня интересует примение в проекте. Добавляю блок есп уходит в ребут. Может я его как-то неправильно готовлю )
-
- Полковник
- Сообщения: 4010
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 155 раз
Разработки ecoins
Проверил и на ESP8266, ESP32 на тестах: ---------------------------------------------------------------Phazz писал(а): 21 окт 2021, 16:44 ecoins, меня интересует примение в проекте. Добавляю блок есп уходит в ребут. Может я его как-то неправильно готовлю )
Работает и на ESP8266 ---------------------------------------------------------------
Работает и на ESP32 ---------------------------------------------------------------
Пришлите Ваш проект который перезапускается - поищу проблему.
=============================================
На LCD индицируется быстродействие [loop() в сек]:
ESP8266 - 52500;
ESP32 - 272500.
Т.е. на ESP32 в 5 раз больше!!!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Phazz
- Полковник
- Сообщения: 3131
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 234 раза
- Поблагодарили: 114 раз
Разработки ecoins
Причину ребута понял, был в проекте блок uart. Но никакой информации в консоль не получаю.
Так можно соединять?
Так можно соединять?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4010
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 155 раз
Разработки ecoins
Можно.Phazz писал(а): 21 окт 2021, 20:37 Причину ребута понял, был в проекте блок uart. Но никакой информации в консоль не получаю.
Так можно соединять?
Но не обязательно, блоки вывода на консоль работают следующим образом - ожидается готовность консоли (это важно для таких контроллеров Arduino DUE, STM32 и др.).
Блок cns.init рекомендуется использовать, когда много блоков вывода. В этом случае их лучше разместить на отдельной плате и вызывать по условию "Заголовок"=1.
Такой прием несколько ускоряет проект....
--------------------
Ниже пример с одним блоком вывода - будет выводить параметры подключенного контроллера.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Phazz
- Полковник
- Сообщения: 3131
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 234 раза
- Поблагодарили: 114 раз
Разработки ecoins
Спасибо все заработало, оказывается отключать платы с блоками уарт не достаточно. Нужно их совсем удалять из проекта.
-
- Полковник
- Сообщения: 4010
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 155 раз
Разработки ecoins
Остаюсь в замешательстве из-за непонимания - как применение UART (например на ESP32) может приводить к ребуту?Phazz писал(а): 21 окт 2021, 22:25 Спасибо все заработало, оказывается отключать платы с блоками уарт не достаточно. Нужно их совсем удалять из проекта.

-
- Лейтенант
- Сообщения: 530
- Зарегистрирован: 05 апр 2016, 23:30
- Откуда: Санкт-Петербург
- Имя: Илья
Разработки ecoins
[ref]ecoins[/ref], а как задаются номера аналоговых пинов для чтения, например для атмеги328? Номера выводов микросхемы?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4010
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 155 раз
Разработки ecoins
Для Arduino Nano - A0-A7 -> пины №14-21;
Для Arduino Mega2560 -A0-A15 ->пины №54-69;
Номер пина задается на входе блока аналогово ввода.
Для Arduino Mega2560 -A0-A15 ->пины №54-69;
Номер пина задается на входе блока аналогово ввода.
- Dryundel
- Полковник
- Сообщения: 2436
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 31 раз
Разработки ecoins
Приветствую, [ref]ecoins[/ref].
Посмотрел свежие версии библиотек. Мое почтение
, порядка стало гораздо больше.
Однако описание блоков оставляет желать лучшего.
Но видимо надежда есть.
Ладно, сейчас не об этом.
Вопрос по конкретному блоку HC-SR04. Есть у него выход "Ok". На сколько я понимаю, своим мягким мозгом, на нем должен бы генерироваться импульс по завершении пинга. Хотел использовать его для фильтра, но обломался. Импульсов нет. Может чо не так понял? А в целом блок понравился. работает весьма стабильно.
С размером проектов тоже засада. Проект из двух блоков 13 МБ. Не камильфо это. Надо раздергивать мультиблоки, я так думаю.
Посмотрел свежие версии библиотек. Мое почтение

Однако описание блоков оставляет желать лучшего.


Ладно, сейчас не об этом.
Вопрос по конкретному блоку HC-SR04. Есть у него выход "Ok". На сколько я понимаю, своим мягким мозгом, на нем должен бы генерироваться импульс по завершении пинга. Хотел использовать его для фильтра, но обломался. Импульсов нет. Может чо не так понял? А в целом блок понравился. работает весьма стабильно.
С размером проектов тоже засада. Проект из двух блоков 13 МБ. Не камильфо это. Надо раздергивать мультиблоки, я так думаю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4010
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 155 раз
Разработки ecoins
Спасибо.Dryundel писал(а): 26 окт 2021, 19:10 Посмотрел свежие версии библиотек. Мое почтение , порядка стало гораздо больше.
Сейчас готовится новая версия -другая разбивка, несколько иная подача материала, новые функциональные блоки, новые устройства.
Блок работает по прерываниям, если пин Echo подключен к пину с прерываниями.Dryundel писал(а): 26 окт 2021, 19:10 Вопрос по конкретному блоку HC-SR04. Есть у него выход "Ok". На сколько я понимаю, своим мягким мозгом, на нем должен бы генерироваться импульс по завершении пинга. Хотел использовать его для фильтра, но обломался. Импульсов нет. Может чо не так понял?
Для Arduino Nano это 2,3 пины, для ESP32 это почти все пины, для STM32 все пины.
Благодаря этому блок не тормозит.
Если пин без прерывания, то он ожидает возврат ответного времени по времени и возможная задержка зависит от измеряемого расстояния. Поэтому в блоке рекомендуется при работе без прерываний ограничивать измеряемое расстояние 150см.
----
На выходе блока всегда последнее измеренное расстояние. Если оно верно, выход ок=1.
Если измерение ошибочно (в самом контроллере SR04 задана "правильная" временная последовательность),
то через несколько подряд ошибочных выход ок=0.
Идея любопытная. В структуре есть сигнал fresh - флаг нового результата, можно сделать дополнительный выход (событие) для использованияDryundel писал(а): 26 окт 2021, 19:10 Хотел использовать его для фильтра, но обломался. Импульсов нет. Может чо не так понял?
внешними функциями.
Много потратили времени для создания встроенных в блок фильтров - задач оказалась не простой.
Появляются случайные выбросы из-за отражения от случайных предметов и могут добавляться звуки от посторонних предметов (например шум двигателей и пр.)
Но решение такой задачи было бы весьма полезной.
Есть у меня к нему претензии на малых (<2 cм) расстояниях из-за аппаратной реализации сенсора - в нем в одном "прожекторе" излучатель, в другом приемник.
Вроде есть исполнение в одном "прожекторе" - мне не попадались.
Вы об этом уже писали - согласен.Dryundel писал(а): 26 окт 2021, 19:10 С размером проектов тоже засада. Проект из двух блоков 13 МБ. Не камильфо это. Надо раздергивать мультиблоки, я так думаю.
Не дождавшись новой версии редактора, вместе с общей переделкой библиотек стали "раздергивать" мультиблоки - эта внешне красивая идея на мой взгляд оказалась "иллюзорно" с точки зрения удобства и очень "вредной" с точки зрения размеров проектов.
----------
Успехов.
- Dryundel
- Полковник
- Сообщения: 2436
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 31 раз
Разработки ecoins
"Я молчу, не смея волю дать словам…ecoins писал(а): 26 окт 2021, 20:20 Если измерение ошибочно (в самом контроллере SR04 задана "правильная" временная последовательность),
то через несколько подряд ошибочных выход ок=0.
Милый мой, хороший, догадайся сам!"

Ну реально не хватает описания.
Думаю это будет весьма полезно и не только в этом блоке, а и во всех которые выдают значения периодически.ecoins писал(а): 26 окт 2021, 20:20 Идея любопытная. В структуре есть сигнал fresh - флаг нового результата, можно сделать дополнительный выход (событие) для использования внешними функциями.
Возьмите на вооружение алгоритм медианного фильтра из блока который в проекте. Это фильтр для быстрых процессов. Медиана из 3 значений. С одиночными выбросами отлично справляется. Я над ним 2 дня думал, прежде чем упихал в 5 тернарников.ecoins писал(а): 26 окт 2021, 20:20 Много потратили времени для создания встроенных в блок фильтров - задач оказалась не простой.
Появляются случайные выбросы из-за отражения от случайных предметов и могут добавляться звуки от посторонних предметов (например шум двигателей и пр.)
Если не считать запись значения в стек, сам алгоритм выполняется за 1,5 - 2,5 мкс на стандартной NANO, что для фильтра ну очень быстро.
-
- Полковник
- Сообщения: 4010
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 155 раз
Разработки ecoins
На модуле SR04 установлен собственный 8-битный контроллер с жестко прошитой программой - она особо нигде не описана. Мы исследовали работу этого контроллера и модуля в целом - там есть совокупность нюансов.Dryundel писал(а): 26 окт 2021, 22:03 "Я молчу, не смея волю дать словам…
Милый мой, хороший, догадайся сам!"
Ну реально не хватает описания.
В основном они отражены в комментариях в библиотеке C++.
Не думаю, что это надо раскрывать в описании к блоку.
Если кому интересны эти специфические знания в достаточно узкой области, в индивидуальном порядке мы готовы поделиться.
Возможно, задумались. Может быть будем предусматривать в сенсорах настраиваемый выход fresh.Dryundel писал(а): 26 окт 2021, 22:03 Думаю это будет весьма полезно и не только в этом блоке, а и во всех которые выдают значения периодически.
Фильтрами сейчас заниматься не планируем.Dryundel писал(а): 26 окт 2021, 22:03 Возьмите на вооружение алгоритм медианного фильтра из блока который в проекте. Это фильтр для быстрых процессов. Медиана из 3 значений. С одиночными выбросами отлично справляется. Я над ним 2 дня думал, прежде чем упихал в 5 тернарников.
Если не считать запись значения в стек, сам алгоритм выполняется за 1,5 - 2,5 мкс на стандартной NANO, что для фильтра ну очень быстро.
Что-такое 5 тернарников?
По поводу времени алгоритма 1.5-2.5 мкс - вызывает сомнения... Может единицы измерения не те.
Если все-же так как Вы написали, то интересно посмотреть код...
- Dryundel
- Полковник
- Сообщения: 2436
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 31 раз
Разработки ecoins
Не про специфические знания идет речь, а про элементарное описание блока, функционала, назначения входов/выходов, специфике настройки, предупреждениях и т.п.ecoins писал(а): 26 окт 2021, 22:39 Не думаю, что это надо раскрывать в описании к блоку.
Если кому интересны эти специфические знания в достаточно узкой области...
Вот как по вашему пользователь должен понять назначение выхода "Ok" ?
тернарный оператор
Нет. Ошибки нет. Именно 1.5-2.5 мкс.ecoins писал(а): 26 окт 2021, 22:39 По поводу времени алгоритма 1.5-2.5 мкс - вызывает сомнения... Может единицы измерения не те.
Так посмотрите.

Отправлено спустя 10 минут 44 секунды:
Заодно и протестируйте, выведите значения на плоттер и помашите перед "прожекторами" чем нибудь.
Отправлено спустя 4 минуты 46 секунд:
Не хватает только выхода fresh. Эрзац с генератором не очень мне нравится.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4010
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 155 раз
Разработки ecoins
Во всех наших разнообразных блоках выход ok означает- "Устройство работает".Dryundel писал(а): 26 окт 2021, 23:20 Вот как по вашему пользователь должен понять назначение выхода "Ok" ?
- Dryundel
- Полковник
- Сообщения: 2436
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 31 раз
Разработки ecoins
Хорошо, что Вы об этом знаете.ecoins писал(а): 26 окт 2021, 23:28 Во всех наших разнообразных блоках выход ok означает- "Устройство работает".

- Dryundel
- Полковник
- Сообщения: 2436
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Благодарил (а): 3 раза
- Поблагодарили: 31 раз
Разработки ecoins
[ref]ecoins[/ref], похоже я поторопился с выводами. Тестировал на пинах без прерывания (NANO) и был уверен что уж с прерываниями будет еще лучше. Подключил на D2 D3 и началась свистопляска. Показания прыгают как жеребцы не объезженные.
Отправлено спустя 8 минут 50 секунд:
D2 D3 .
А вот это D7 D8 - все четенько. И в чем может быть проблема? Менял только пины.
(Красный - до фильтра, синий - после)
Отправлено спустя 9 минут 14 секунд:
И еще есть вопрос: Отправлено спустя 1 минуту 29 секунд:
Ну про "через один пин" понятно, хотя и не совсем по русски. А вот три вариации не понятны.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4010
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 155 раз
Разработки ecoins
У меня на столе стенд на MEGA2560 - много устройств (пять дисплеев, сенсоры и пр), SR04 подключен Echo - пин 2, Trig - пин 3.Dryundel писал(а): 27 окт 2021, 16:18 ecoins, похоже я поторопился с выводами. Тестировал на пинах без прерывания (NANO) и был уверен что уж с прерываниями будет еще лучше. Подключил на D2 D3 и началась свистопляска. Показания прыгают как жеребцы не объезженные.
Только что установил препятствие перед сонаром - 10см, показания на дисплее стабильные -10см.
Выкладываю результаты с логического анализатора: Верхняя линия - пин Trig, нижняя пин Echo.
Период измерения задан в блоке 100мс.
Можно установить и 50мс - меньше не стоит из-за возможных помех от паразитного ультразвукового отражения с близко находящимися препятствиями.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4010
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 155 раз
Разработки ecoins
Возможно все правильно работает. Просто очень быстро.Dryundel писал(а): 27 окт 2021, 16:18 И в чем может быть проблема? Менял только пины.
(Красный - до фильтра, синий - после)
Если водить рукой перед сонаром, то на дисплее очень быстро меняются показания (и они правильные), "глаза не поспевают"...
Специфика ультразвукового сонара такова, что использовать его надо аккуратно - он очень чувствителен.
Есть проект медленный, то и показания не скачут "как жеребцы" - а у Вас и проект видимо быстрый, и LCD на который Вы наверное выводите "шустрый", и сонар с препятствием не зафиксирован - вот и скачут показания....
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя