Разработки ecoins

Библиотеки для разных контроллеров

artemka19
Сержант
Сообщения: 159
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 62
Откуда: Питер
Имя: Артем

Разработки ecoins

#1501

Сообщение artemka19 » 13.04.2022{, 23:58}

ecoins писал(а):
12.04.2022{, 19:47}
устойчивая работа при разрыве связи для i2c,
вот это круто!

ecoins
Подполковник
Сообщения: 1486
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 246
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1502

Сообщение ecoins » 14.04.2022{, 06:25}

Реализация этого метода(устойчивая работа с i2c) сейчас реализована во всех наших блоках, которые используют i2c. Кроме дисплеев LCD это сенсоры типа HTU21, AHT20, BME280, регистры расширения MCP23017.
Кроме того для сенсоров реализована отфильтровка ошибочных измерений (от 1 до 7 - обычно есть параметр) в т.ч. для DHT22,DS1820,MAX6675.
Для сенсора HC-SR04 непосредственно в блоке может быть подключен цифровой фильтр. Блоки фильтров реализованы и отдельными блоками.

o615ye161
Сержант
Сообщения: 183
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 3
Имя: Сергей

Разработки ecoins

#1503

Сообщение o615ye161 » 14.04.2022{, 13:29}

ecoins писал(а):
13.04.2022{, 23:40}
3.Lcd должен работать с дисплеями разных размеров
Что означает пункт, перезагрузка дисплея, поясните пожалуйста подробнее!

ecoins
Подполковник
Сообщения: 1486
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 246
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1504

Сообщение ecoins » 14.04.2022{, 16:30}

Если выбрать период =0, эта опция отключается.
Опция восстанавливает информацию на дисплее, если по каким-то причинам (например из-за плохого контакта) она исказилась. Для промышленных систем хорошее время 30мин.То же может быть реализовано через внешний подключаемый вход reset.

o615ye161
Сержант
Сообщения: 183
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 3
Имя: Сергей

Разработки ecoins

#1505

Сообщение o615ye161 » 14.04.2022{, 19:08}

ecoins писал(а):
14.04.2022{, 16:30}
Если выбрать период =0, эта опция отключается.
Опция восстанавливает информацию на дисплее, если по каким-то причинам (например из-за плохого контакта) она исказилась. Для промышленных систем хорошее время 30мин.То же может быть реализовано через внешний подключаемый вход reset.
Ясно спасибо, я так понял это как раз влияет на эффект затирания который был ранее в блоках, еще один вопрос если блоки LCD допустим разместить на нескольких платах это может повлиять на быстродействие вывода, к примеру: на первую плату поместить блок управления дисплеем и скажем блоки вывода String, а на следующей плате блоки вывода Float, и на третьей к примеру Int, в этом случае для дисплее 2004 возможен более оптимальный режим работы, или все блоки размещать на одной плате? Без лог анализатора сложно это понять!

Отправлено спустя 3 минуты 35 секунд:
Кстати из новой библиотеки блоков, блок MCP23017 работает значительно быстрее, проверил на примере стробоскопа задействовано 8 ног MCP!

ecoins
Подполковник
Сообщения: 1486
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 246
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1506

Сообщение ecoins » 14.04.2022{, 22:03}

1. Эффект затирания к перезапуску отношения не имеет, при отключения блока происходит очистка поля и затем разрешается использование его в других блоках.
2. Размещать на разных плата можно, но на быстродействие это никак не скажется.
3.Блоки сами по себе очень шустрые. Существенно увеличивается быстродействие при подключении через SPI.
4.Быстродействие можно оценить и без логического анализатора. В диспетчере есть подключаемые выходы кол-ва циклов в сек - их можно выводить на LCD и соотвественно наблюдать за комплексной оценкой проекта. На время стадии проектирования мы всегда выводим этот параметр на LCD.

D7Slider
Рядовой
Сообщения: 5
Зарегистрирован: 23.10.2021{, 13:53}
Репутация: 2
Имя: Дмитрий

Разработки ecoins

#1507

Сообщение D7Slider » 15.04.2022{, 09:34}

ecoins писал(а):
13.04.2022{, 23:40}
Здесь промежуточная версия, над которой работают в ecoins viewtopic.php?f=181&t=6942&start=180#p113999
Здравствуйте ув. ecoins! В выложенной версии библиотек обнаружена некоторая путаница с блоками SPI и UART. В разделе UART лежит блок UART.transfer параметры и описание в котором почему-то принадлежат блоку для SPI и наоборот в разделе SPI блок с подписью SPI, а параметры и описание от блока UART. Работаю в FLProg м7.5.0

ecoins
Подполковник
Сообщения: 1486
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 246
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1508

Сообщение ecoins » 15.04.2022{, 10:06}

D7Slider писал(а):
15.04.2022{, 09:34}
Здравствуйте ув. ecoins! В выложенной версии библиотек обнаружена некоторая путаница с блоками SPI и UART. В разделе UART лежит блок UART.transfer параметры и описание в котором почему-то принадлежат блоку для SPI и наоборот в разделе SPI блок с подписью SPI, а параметры и описание от блока UART. Работаю в FLProg м7.5.0
Это не путаница. Начинали делать блоки UART на основе блоков SPI и пока не сделали. Да и блоки основательно переделаны. С описанием по многим блокам надо подчищать - работаем. Поэтому библиотеки выложены пока не в основной директории. Поправим и SPI, и доработаем UART.
Но работать можно.
Будут вопросы - пишите, будем оперативно отвечать.

o615ye161
Сержант
Сообщения: 183
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 3
Имя: Сергей

Разработки ecoins

#1509

Сообщение o615ye161 » 17.04.2022{, 23:13}

Здравствуйте ecoins, есть небольшая просьба для вас, могли бы вы сделать блок счетчик времени который будет иметь вход разрешения работы, вход импульса секунды с DS3231, вход на сброс и три выхода час, минута, секунда.( возможно как то расширить данный функционал попадания в диапазон времени для включения и отключения нагрузок по времени с поддержкой часов реального времени)
И по блоку LCD HD44780 могли бы вы сделать в блоке вывода спец символы, капля влажности и знак градус цельсия(°C) на одну ячейку, частенько нужно использовать, приходится писать текстовые обозначения! Если конечно это возможно реализовать!

ecoins
Подполковник
Сообщения: 1486
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 246
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1510

Сообщение ecoins » 18.04.2022{, 11:40}

o615ye161 писал(а):
17.04.2022{, 23:13}
И по блоку LCD HD44780 могли бы вы сделать в блоке вывода спец символы, капля влажности и знак градус цельсия(°C) на одну ячейку, частенько нужно использовать, приходится писать текстовые обозначения! Если конечно это возможно реализовать!
Давно вопрос висит. Но на этот Lcd уже столько усилий потрачено (последний вариант полностью переписан). А здесь надо добавлять блок подгрузки нескольких спец символов. Возможно позднее.
Сейчас в планах:
сенсоры AHT20,BMP180,BMP280,CJMCU-811 CCS811(углекислый газ),MH-Z19B(инфракрасный сенсор углекислого газа);
регистры PCA9685, mAX7219;
дисплеи Nextion, TFT-i2c, TFT-SPI;
аналоговые модули ADS1115(ADC),MCP-4725(DAC).
Также в планах CAN-интерфейс и NRF2401.
Вроде работа идет быстро, поскольку основана на уже существующих библиотеках, блоках и методах.
Последний раз редактировалось ecoins 18.04.2022{, 11:43}, всего редактировалось 1 раз.

ecoins
Подполковник
Сообщения: 1486
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 246
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1511

Сообщение ecoins » 18.04.2022{, 11:42}

o615ye161 писал(а):
17.04.2022{, 23:13}
Здравствуйте ecoins, есть небольшая просьба для вас, могли бы вы сделать блок счетчик времени который будет иметь вход разрешения работы, вход импульса секунды с DS3231, вход на сброс и три выхода час, минута, секунда.( возможно как то расширить данный функционал попадания в диапазон времени для включения и отключения нагрузок по времени с поддержкой часов реального времени)
Последнее не очень понятно (возможно как то расширить данный функционал попадания в диапазон времени для включения и отключения нагрузок по времени с поддержкой часов реального времени).
Пока в планах не было, но буду иметь ввиду.

o615ye161
Сержант
Сообщения: 183
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 3
Имя: Сергей

Разработки ecoins

#1512

Сообщение o615ye161 » 21.04.2022{, 10:11}

Здравствуйте,ecoins подскажите пожалуйста по счетчикам, хочу использовать ваши счетчики но пока не могу придумать как это правильно сделать так как у вашего счетчика нет выхода установить единицу при достижении значения счета и не могу сделать предустановку значений на счетчик при перезагрузке контроллера что бы счет в дальнейшем продолжился, так как это можно сделать на стандартном счетчике, подскажите пожалуйста!

Отправлено спустя 7 минут 55 секунд:
ecoins писал(а):
18.04.2022{, 11:42}
Последнее не очень понятно (возможно как то расширить данный функционал попадания в диапазон времени для включения и отключения нагрузок по времени с поддержкой часов реального времени).
Пока в планах не было, но буду иметь ввиду.
Я имею ввиду такой таймер который работает от DS3231 и к примеру включение нагрузки было 10:30 и отключение 12:45 или включение в 10:30 с продолжением работы 35 мин, что то подобное включение от флага до флага или работа определенное количество минут от флага!
Для скачивания вложений Вы должны быть зарегистрированы.

ecoins
Подполковник
Сообщения: 1486
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 246
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1513

Сообщение ecoins » 22.04.2022{, 01:36}

o615ye161 писал(а):
21.04.2022{, 10:19}
Здравствуйте,ecoins подскажите пожалуйста по счетчикам, хочу использовать ваши счетчики но пока не могу придумать как это правильно сделать так как у вашего счетчика нет выхода установить единицу при достижении значения счета и не могу сделать предустановку значений на счетчик при перезагрузке контроллера что бы счет в дальнейшем продолжился, так как это можно сделать на стандартном счетчике, подскажите пожалуйста!
Попробуйте как в примере ниже:
Test counter.zip
Стенд счетчика .jpg
Стенд счетчика FLProg.png
Выводит уставку, значение счетчика на консоль и Lcd.
Момент совпадения отражается на светодиоде на пине 8.
Для скачивания вложений Вы должны быть зарегистрированы.

ecoins
Подполковник
Сообщения: 1486
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 246
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1514

Сообщение ecoins » 22.04.2022{, 01:39}

o615ye161 писал(а):
21.04.2022{, 10:19}
Я имею ввиду такой таймер который работает от DS3231 и к примеру включение нагрузки было 10:30 и отключение 12:45 или включение в 10:30 с продолжением работы 35 мин, что то подобное включение от флага до флага или работа определенное количество минут от флага!
Буду иметь ввиду.

o615ye161
Сержант
Сообщения: 183
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 3
Имя: Сергей

Разработки ecoins

#1515

Сообщение o615ye161 » 22.04.2022{, 11:40}

ecoins писал(а):
22.04.2022{, 01:39}
o615ye161 писал(а):
21.04.2022{, 10:19}
Я имею ввиду такой таймер который работает от DS3231 и к примеру включение нагрузки было 10:30 и отключение 12:45 или включение в 10:30 с продолжением работы 35 мин, что то подобное включение от флага до флага или работа определенное количество минут от флага!
Буду иметь ввиду.
Благодарю!

Отправлено спустя 45 минут 23 секунды:
ecoins писал(а):
22.04.2022{, 01:36}
Попробуйте как в примере ниже:
Test counter.zip
Почему то все выводится но не считает, возможно у меня версия ниже 7.4.5

ecoins
Подполковник
Сообщения: 1486
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 246
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1516

Сообщение ecoins » 22.04.2022{, 15:21}

o615ye161 писал(а):
22.04.2022{, 12:26}
Почему то все выводится но не считает, возможно у меня версия ниже 7.4.5
1.На консоль(монитор порта) должно выводиться всегда при изменении счетчика или уставки. Поскольку генератор настроен на 250мс - не режре четыре строки в сек.
2.На дисплей тоже будет выводиться если: 1.он физически есть; 2.его адрес=39. Если другой адрес - измените на входе блока требуемый адрес.
Адрес можно установить блоком сканера - он очень простой - вылоду отдельный пример.
3.Уставка меняется с аналогового входа - в данном примере он подключен ко аналоговому входу Nano A6=20.
Если другой вход A0 Nano=14, A0 Mega2560=54 и т.д.
Из-за этого видимо у Вас не меняется - у нас подключен потенциометр на стенде - ручка справа от дисплея.
Успехов.

ecoins
Подполковник
Сообщения: 1486
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 246
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1517

Сообщение ecoins » 22.04.2022{, 15:46}

Использование блока сканирования шины i2c (расположен в вкладе интерфейсы-i2c-> блок №2).
Test_i2cScan.zip
В примере осуществляется сканирование шины i2c каждую секунду.
В процессе сканирования можно подключать/отключать дополнительные устройства.
Монитор порта следует настроить на скорость 115200.
scan_i2c.png
В примере при работе подключался/отключался сенсор AHT20.
console_scan_i2c.PNG
Блок имеет параметры и позволяет сканировать одновременно несколько шин i2c(например на STM32).
-----
Этот блок удобно использовать при отладке проектов.
----
Блок работает на всех поддерживаемых ecoins контроллерах - AVR,ESP,STM32,SAMD21,PICO,SeeeDuino...
Для скачивания вложений Вы должны быть зарегистрированы.

o615ye161
Сержант
Сообщения: 183
Зарегистрирован: 19.12.2019{, 14:47}
Репутация: 3
Имя: Сергей

Разработки ecoins

#1518

Сообщение o615ye161 » 22.04.2022{, 21:55}

Почему то блок convert не работает, на дисплей выводятся 0,00 фильтр стоит Float в Float с одним знаком, пробовал в INT тоже не работает, выводит 0 версия 2,16

Отправлено спустя 6 минут 28 секунд:
ecoins писал(а):
22.04.2022{, 15:21}
2.На дисплей тоже будет выводиться если: 1.он физически есть; 2.его адрес=39. Если другой адрес - измените на входе блока требуемый адрес.
Звездочка мигает, через консоль не могу проверить, использую чип ESP12F

Отправлено спустя 3 минуты 18 секунд:
ecoins писал(а):
22.04.2022{, 15:21}
3.Уставка меняется с аналогового входа - в данном примере он подключен ко аналоговому входу Nano A6=20.
Если другой вход A0 Nano=14, A0 Mega2560=54 и т.д.
Загружал на NodeMCU esp8266
Для скачивания вложений Вы должны быть зарегистрированы.

ecoins
Подполковник
Сообщения: 1486
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 246
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#1519

Сообщение ecoins » 23.04.2022{, 16:48}

o615ye161 писал(а):
22.04.2022{, 22:05}
Почему то блок convert не работает, на дисплей выводятся 0,00 фильтр стоит Float в Float с одним знаком, пробовал в INT тоже не работает, выводит 0 версия 2,16
Действительно, в блоке конвертации соответствующие строки были закомментированы, поскольку требовали отладки.
Не думал, что Вы так быстро и глубоко дойдете до новых возможностей новых блоков...
Спасибо, это очень полезно и помогает.
Поправил блок - он содержит автономный код и потому не требует обновления библиотеки RT_HW_Base.h.
Сам блок можете заменить в библиотеке блоков из приложенных проектов.
test_float_float_eis.zip
test_float_int32_eis.zip
test_float_int16_eis.zip
float_float.png
20220423_161654[97].jpg
foto_esp8266_flat_int16.jpg
Тесты сделаны на редком, но удобном дисплее 16х4.
Стандартные библиотеки не поддерживают этот формат, наша с ним хорошо работает.
-----
Еще раз спасибо, успехов.
Для скачивания вложений Вы должны быть зарегистрированы.

Iron
Рядовой
Сообщения: 26
Зарегистрирован: 23.11.2016{, 17:20}
Репутация: 1

Разработки ecoins

#1520

Сообщение Iron » 23.04.2022{, 17:30}

Уважаемый ecoins, можете проверить простой пример работы ESP NODEMCU v3_01+MAX6675 с библиотекой EIS.01.СИСТЕМА вер.2.16, вижу в в порту "0,1" , не пойму в чем моя ошибка.
Для скачивания вложений Вы должны быть зарегистрированы.

Ответить

Вернуться в «Библиотеки пользователей»