TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

Пользовательские Блоки поддержки в FLProg LED-драйверов TM1637 фирмы TitanMicroElectronics для вывода буквенно-символьной информации на 6-ти (4-х опционально) разрядные 7-ми сегментные LED индикаторы с общим анодом и сканированием до 16-ти кнопочной клавиатуры.

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#1

Сообщение Labu559 » 09.09.2018{, 21:33}

Блоки не являются продолжением или модернизацией ранее выложеных по причинам ниже. К сожалению в хранилище GitHub, не смотря на обилие решений, не нашлось корректной полной програмной поддержки LED-драйверов TM1637, потому попытался создать библиотеку. К тому же оказалось, что и Proteus не умеет в полной мере симулировать общение с этим драйвером из-за конструктивных особенностей и даже в TM1637 Reference Program есть ошибка с обработкой ACK и фукцией "приудержания" тактового сигнала slave-ом при превышении частоты шины. Возможно причина кроется в машинном переводе
оригинальной документацииПоказать
TM1637_v2.4(EN).pdf
(688.08 КБ) 298 скачиваний
Основой для разработки этих блоков стала документация на протокол I2C/TWI, хотя микросхема использует слегка отличную передачу (структуру данных). Историю "мытарств" можно просмотреть здесь или пройти по ссылкам из сообщения.
Библиотека Wiring-версии,Показать
TM1637LabUW.rar
(96.55 КБ) 511 скачиваний
которая не будет затираться библиотеками-однофамильцами из сторонних пользовательских блоков.
font7seg_CC.JPG
Поддерживаемые библиотекой символы
Блоки и примеры:Показать
1. Базовый (Main) Пользовательский блок TM1637LabUW9(CODE) для обычных модулей TM1637.
2. Расширяющий возможности базового пользовательский блок TM1637LabUW9LEDsData(CODE). Не для применения с обычным модулем!
3. Комби-блок TM1637LabUW9CombiData(CODE) для вывода мультиинформации: одновременно на 7-сегментный индикатор и одиночные светодиоды (обычные или двухцветные), линейки светодиодов (шкала или bargraf) и т.п. Не для применения с обычным модулем!
4, 5. Два примера применения блоков в проектах FLProg.Не для применения с обычным модулем!
6. Рисунок ModernCatalexTM1637- схема предлагаемой модернизации 4-х битных модулей CatalexTM1637 - подключения клавиатуры, одиночных светодиодов (по аналогии с модулем LED&KEY_ТМ1638), для блоков TM1637LabUW9 в паре с TM1637LabUW9LEDsData или TM1637LabUW9CombiData(CODE).
TM1637LabUW9_Samples.rar
(259.65 КБ) 340 скачиваний
Обладателям промышленно выпускаемых модулей на базе этой МС с 4-х битным дисплеем в параметрах пользователя нужно указать attachDigits = 4. Возможно подключение до 16-ти кнопок, как отдельного модуля, согласно Datasheet.
Внимание! В модулях от Catalex, RobotDin установлены конденсаторы подтяжки линий DIO(SDA) и CLK(SCL) завышеной ёмкости ~12nF (см. Datasheet) которые не обеспечивают необходимую скорость обмена по шине. Для работы с этими блоками их нужно перепаять согласно Datasheet/схемы, или в к.с. удалить,- иначе c этими ПБ работать не будут!
Тестирование с лог.анализатором без конденсаторов выявило наносекундные выбросы на занятой шине, хоть и не влияющие на обмен, но лучше использовать рекоммендации производителя- ставить 100пФ.
У 6-ти разрядного блока от RobotDin разряды разведены не по порядку!
схемы наиболее распространённых 4-х битных дисплеевПоказать
CatalexTM1637.JPG
Подробное описание есть в каждом блоке (кнопка информация). В примерах используются некоторые ПБ ранее не опубликованные.
Блоки работают (тестировались) на ESP8266 NODE MCU0.9 (D6, D5 в параметрах пользователя DIO= 12, CLK= 14) и платах Аrduino(ATMEL ATMega328x), ATMega2560, DUE, MassDuino (MD328D) и LARDUINO (LGT8F328P) при 3.3V и 5.0V питания, а также с драйвером ТМ1636 (4 разряда).
В связи с публикацией финальных, не рекомендую к применению ранее выложеные мной Пользовательские Блоки TM1637Вхbetaх по выше описанным причинам.
30.02.2019- Обновлены библиотеки до v9.05 и основной блок до v1.0.5, подробности в шапке биб-ки и описании блока.
Всем успехов!
Выражаю благодарность ув. Анатолию( Phazz ) и ув. Марьяну (dizzyy) за активное участие в создании ПБ TM1637D_xbeta_x - предшественникам TM1637LabUW9.
Последний раз редактировалось Labu559 07.06.2021{, 13:10}, всего редактировалось 17 раз.

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Микросхема TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#21

Сообщение Labu559 » 27.12.2018{, 17:17}

Уважаемый nikolyalomaev, для начала ознакомтесь пж. с п.3.4 здесь.
nikolyalomaev писал(а):
26.12.2018{, 19:59}
Почему-то не работает от 5ти вольт Ардуино Уно
Судя с приведённой Вами цитаты, кто-то из нас заблуждается. Смотрим фото с 17-го сообщения ув. OlBer, где модули запитаны от стабилизатора 5В Ардуино Нано. Из предоставленной Вами скудной информации могу предположить (пальцем в небо), что Вы питаете схему зарядкой от телефона (или т.п.) с большими пульсациями (которые немного "усмиряются" после стабилизатора на 3,3В) и вместо Clock (CLK) и Data (DIO) имеете барабанную дробь через резисторы подтяжки, которые по протоколу I2C/TWI должны формировать высокий уровень на линиях, когда МК отпускает эти линии. Во всех остальных блоках здесь на форуме, скетчах и библиотеках TM1637 на github (за исключением на С++ от автора avishorp и на С от dhog1) делается это принудительным переключением выводов МК в HIGH. Другими словами подтяжка Clock (CLK) и Data (DIO) резисторами к Vcc, при таких делах, вообще становится лишней. См. описание протокола I2C/TWI и анализируем что будет с выходом МК или ведомого устройства в свете выдержки из описания протокола:"Генерация синхросигнала - это всегда обязанность ведущего; каждый ведущий генерирует свой собственный сигнал синхронизации при пересылке данных по шине. Сигнал синхронизации может быть изменен только если он “вытягивается” медленным ведомым устройством (путем удержания линии в низком состоянии)...". А если в этот момент МК переключается принудительно в HIGH? Чей вывод сгорит первым от КЗ?
nikolyalomaev писал(а):
26.12.2018{, 19:59}
удалил с платы индикатора конденсаторы от clk и dio
а что советует производитель?Показать
TM1637_I2C.png
а китайцы ставят 11nF и получаем синусоиду.
При организации интерфейса i2c необходимо озаботиться регламентированными максимальными значеними параметров "Время подъёма (tR)и время спада (tF)для сигналов SDA и SCL" из стандарта, которые в "чудном" машинном переводе DataSheet таблицы № 4 Switching character обозначены (предположение)как еPLZ и tPZL, которые определяются номиналом резисторов (PULLUP), конденсаторов (PULLDOWN) и емкостью самой линии связи. К тому-же повышенная емкость указанных конденсаторов продлевает процесс, отмеченный выше жёлтым маркером, на время перезарядки оных. В остальных блоках АСК заменён т.н. ногодрыгом в лучшем случае.
Вам может помочь разобраться симуляция в ПротеусПоказать
Proteus.png
с виртуальным осциллографом на линиях, где чётко видно формы фронтов сигналов с разными емкостями PULLDOWN и наличие/отсутствие обозначенного АСК-а или бита подтверждения получения очередного байта данных МСхемой.
nikolyalomaev писал(а):
26.12.2018{, 19:59}
Просто с другими блоками работает и на 5 и 3,3
Надеюсь после моих объяснений актуальность в ответе на этот вопрос отпадает сама собой, если нет- применяйте другие блоки, благо- выбор есть. Кесарю-кесарево...
Желаю удачи!
Последний раз редактировалось Labu559 31.01.2019{, 05:24}, всего редактировалось 3 раза.

nikolyalomaev
Рядовой
Сообщения: 22
Зарегистрирован: 07.01.2018{, 19:51}
Репутация: 4
Откуда: Ижевск
Имя: Николай

Микросхема TM1637 -драйвер светодиодов и 7-сегм. дисплеев

#22

Сообщение nikolyalomaev » 27.12.2018{, 22:14}

Labu559 писал(а):
27.12.2018{, 17:17}
Смотрим фото с 17-го сообщения ув. OlBer, где модули запитаны от стабилизатора 5В Ардуино Нано
Вот и я обратил на это внимание на днях изучая эту ветку, а испытывал я устройство от повер банка, и от усб компьютера, и главное что и при начальном запуске МК с 5 вольтовым питанием модуля тм1637 индикации нет, а с 3.3 все работает.
Завтра попробую ещё с питанием поколдавать, спасибо!

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Микросхема TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#23

Сообщение Labu559 » 26.02.2019{, 10:41}

nikolyalomaev писал(а):
27.12.2018{, 22:14}
а испытывал я устройство от повер банка, и от усб компьютера, и главное что и при начальном запуске МК с 5 вольтовым питанием модуля тм1637 индикации нет... ...попробую ещё с питанием поколдавать...
Ожидал, что Вы сами исправите свою ошибку и напишете об этом. Напрасно! Прочитал сегодня о такой-же проблеме на arduino_ru и околонаучные рассуждения вокруг "проблемы". Улыбнуло, захотелось, что-бы такие вопросы не появлялись у нас на форуме или хотя бы в этой теме.
Как можно надеяться получить напряжение 5.0V после линейного стабилизатора (пусть даже с малым падением напряжения как LM/LD/IL/AMS/AM1117 -5.0V ) подавая на него 3.7 от PowerBank или 5 вольт от USB?
Да, без колдовства тут не обойтись.Показать
AMS1117-5_0.png
Из Datasheet
:yes:

nikolyalomaev
Рядовой
Сообщения: 22
Зарегистрирован: 07.01.2018{, 19:51}
Репутация: 4
Откуда: Ижевск
Имя: Николай

Микросхема TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#24

Сообщение nikolyalomaev » 26.02.2019{, 20:11}

Labu559 писал(а):
26.02.2019{, 10:41}
Ожидал, что Вы сами исправите свою ошибку и напишете об этом. Напрасно
Добрый вечер!
А вот проблема появившаяся у меня ранее пропала сама собой, не чего не менял, теперь работает отлично, что от 5в что от 3.3в.
Спасибо за отличный блок, то что мне нужно было, пользуюсь регулярно, даже заказал микрухи как у вас в корпусе дип 20:)

MaksVish
Рядовой
Сообщения: 91
Зарегистрирован: 14.07.2018{, 19:09}
Репутация: 1
Имя: Максим

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#25

Сообщение MaksVish » 28.02.2021{, 22:52}

Три дня читаю форум про идикатор на микросхеме ТМ1637 у меня 4х разрядный индикатор!. Заработал только один блок! TM1637DIG4BETA6 - но он пропускает многие символы, можете подсказать как заставить работать самый свежий блок!?- TM1637LABUW9. Если вопрос не по теме, пожалуйста направьте в нужный раздел!
Вложения
Блок индикатора LabuW9Main.flp
(503.18 КБ) 78 скачиваний

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#26

Сообщение Labu559 » 28.02.2021{, 23:38}

MaksVish писал(а):
28.02.2021{, 22:52}
Три дня читаю форум про идикатор на микросхеме ТМ1637 у меня 4х разрядный индикатор можете подсказать как заставить работать самый свежий блок!?- TM1637LABUW9. Если вопрос не по теме, пожалуйста направьте в нужный раздел!
Нет, вопрос как раз по месту. Ответ: Осталось самая малость, - прочитать неспеша описание в самом блоке TM1637LabUW9!
Hold .................... Фиксация последних показаний дисплея - HIGH- активация
Это аналогия кнопки Hold на мультиметре/токоизмерительных клещах и т.д. в переводе с английского- удержание, не путать с Enable (En)! Это потому, что блок TM1637LabUW9 не выключается ВЫСОКИМ уровнем (True) на входе Hold, а лишь замораживает дисплей, а функция сканирования кнопок продолжает работать (опция). У себя в проекте поставте на Hold низкий уровень (false)- другими словами дезактивируйте удержание, Вы зафиксировали пустой дисплей при инициализации!
Проверьте конденсаторы на модуле (подробности в шапке темы).
Удачи!
Последний раз редактировалось Labu559 03.03.2021{, 02:50}, всего редактировалось 3 раза.

MaksVish
Рядовой
Сообщения: 91
Зарегистрирован: 14.07.2018{, 19:09}
Репутация: 1
Имя: Максим

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#27

Сообщение MaksVish » 28.02.2021{, 23:51}

С надеждой включил на Hold - переменную falce, 1234 - так и не появилось... Этот же дисплей с этими же пинами но с другим блоком пользователя (TM1637DIG4BETA6) работает....

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#28

Сообщение Labu559 » 01.03.2021{, 00:40}

MaksVish писал(а):
28.02.2021{, 23:51}
С надеждой включил на Hold - переменную falce, 1234 - так и не появилось... Этот же дисплей с этими же пинами но с другим блоком пользователя (TM1637DIG4BETA6) работает....
Одной надежды мало, а мне очевидно с экстрасенсорными способностями не повезло. :smile37: Может у Вас получиться, как в алгебре "пойти от обратного"?
Что у меня не такое, как у Вас?Показать
IMG_20210228_234116.jpg
Ваш проект
IMG_20210228_235627.jpg
Это?
Посмотрите пж. в личный раздел!
Последний раз редактировалось Labu559 01.03.2021{, 00:57}, всего редактировалось 2 раза.

MaksVish
Рядовой
Сообщения: 91
Зарегистрирован: 14.07.2018{, 19:09}
Репутация: 1
Имя: Максим

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#29

Сообщение MaksVish » 01.03.2021{, 00:53}

Ничего не понимаю... может надо попробовать снести и изначально установить библиотеку...

Отправлено спустя 11 минут 51 секунду:
аа, у меня такая!

Отправлено спустя 15 минут 38 секунд:
Переустановил библиотеку - не помогло
Всем соискателям, у кого не работает обсуждаемый блок, обратите внимание на конденсаторы!
Без конденсаторов мой модуль отлично работает! Всем спасибо!
Вложения
IMG_20210302_190903.jpg
Вместе с конденсаторами выпаялся резистор, еле прилепил его на место, криво но работает
IMG_20210301_000041.jpg
Последний раз редактировалось MaksVish 02.03.2021{, 20:28}, всего редактировалось 1 раз.

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#30

Сообщение Labu559 » 01.03.2021{, 01:26}

MaksVish писал(а):
01.03.2021{, 01:05}
Ничего не понимаю... может надо попробовать снести и изначально установить библиотеку...

Отправлено спустя 11 минут 51 секунду:
аа, у меня такая!
Ув. Максим, сколько раз я Вас спросил об конденсаторах? Сколько раз в сообщениях этой темы, они упоминаются. Как мне правильно оформить описания, что-бы люди их прочитали, какой цвет выделения важного текста или участка фотографии привлекает внимание читающих, как можно убедить людей прочитать личные сообщения?
Всем доброй ночи, утро вечера мудреннее!
Последний раз редактировалось Labu559 01.03.2021{, 01:32}, всего редактировалось 1 раз.

MaksVish
Рядовой
Сообщения: 91
Зарегистрирован: 14.07.2018{, 19:09}
Репутация: 1
Имя: Максим

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#31

Сообщение MaksVish » 01.03.2021{, 01:32}

Попробовать найти и выпаять с4 и с3?

Отправлено спустя 20 минут 20 секунд:
Огромное спасибо! Вы не представляете как сегодня намучался! Даже не знаю почему на это не обратил внимание! Выпаял конденсаторы и тут же заработало!
Последний раз редактировалось MaksVish 02.03.2021{, 21:14}, всего редактировалось 2 раза.

Qwert855
Сержант
Сообщения: 159
Зарегистрирован: 19.12.2020{, 23:57}
Репутация: 7
Имя: Alex

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#32

Сообщение Qwert855 » 01.03.2021{, 12:06}

Добрый день.
Кто то запускал блок версии "финальная 9" на esp 01s?
Ранние версия 6 работала на пинах 1-3.
Но вылезли конфликты с другим ПБ приводящие к неработоспособности дисплея на esp01s и некорректной рабете другого блока с включением дисплея на esp d1 mini.

9ю так и не запустил esp 1s

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#33

Сообщение Labu559 » 01.03.2021{, 14:18}

Ребята, прошу Вас без обид! Ну выкладывайте хоть какую либо информацио для решения проблем сугубо Вашего применения. Не знаете что нужно? Ответ- всё, что имеется, конкретно в Правилах форума описано. Ну ведь правда не экстрасенс, как мне узнать, то что известно Вам? В шапке выложена вся информация о блоке, и как оно работает. Если оно работает на ESP8266 NODE MCU0.9 то узнайте на каких выводах ЕСП присутствует отладочная информация при запуске (некоторые говорят мусор), из-за которой плохеет внешнему оборудованию, совмещены флэш, светодиод, подтяжка для типа загрузки. Нет у меня ESP01 и не будет никогда этого огрызка- это мост и ничего более, не наделяйте его супервозможностями... ну и меня тоже. :) Я не против помощи, если присутствует техническая информация для анализа, а пока- это светская беседа и нарушения Правил форума.

Qwert855
Сержант
Сообщения: 159
Зарегистрирован: 19.12.2020{, 23:57}
Репутация: 7
Имя: Alex

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#34

Сообщение Qwert855 » 02.03.2021{, 14:10}

добрый день.
выкладывать блоки версии 6 думаю лишне.
Есть ESP 01s, есть блок версии 6 подключен на 1й и 3й пин, было счастье, все работало.

Появляется необходимость уйти от статических IP адресов на динамические добавив блок обмена данных, который вынес работу блока дисплея вер 6 на ESP-01S (при этом сам блок обмена данными остается рабочим, просто глушит дисплей).

Решено применить блок дисплея версии 9, он отказался работать на ESP-01S, заменил контроллер на D1 mini - дисплей заработал на пинах D7 и D6 с блоком обмена данными в проекте , но при этом частично отрубил этот блок, а именно отправку данных. превращая его в односторонний прием.

И вот ситуация
есть блок двухстороннего обмена по мак адресу
есть два блока дисплея (6 и 9 версии)
есть два контроллера ESP 1s и D1 mini
есть клиентское сетевое подключение на динамическом IP адресе
есть трудности с совместимостью :smile44:

блок обмена данных с этой ветки
viewtopic.php?f=112&t=6595

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#35

Сообщение Phazz » 02.03.2021{, 22:07}

Labu559, Подскажите пожалуйста, у меня модуль с двоеточием, как мне включить точки?

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#36

Сообщение Labu559 » 02.03.2021{, 22:53}

Phazz писал(а):
02.03.2021{, 22:07}
Labu559, Подскажите пожалуйста, у меня модуль с двоеточием, как мне включить точки?
Анатолий, двоеточие в часовом индикаторе (в железе) выведено на второе слева знакоместо ( т.е соответствует точке между часами и минутами) Смотрите пж. пример
Clock_TM1637Lab_UW.flp
(2.06 МБ) 101 скачивание
Успехов!

Отправлено спустя 3 часа 16 минут 51 секунду:
Qwert855 писал(а):
02.03.2021{, 14:10}
Есть ESP 01s, есть блок версии 6 подключен на 1й и 3й пин, было счастье, все работало.
Qwert855 писал(а):
02.03.2021{, 14:10}
добавив блок обмена данных, который вынес работу блока дисплея вер 6 на ESP-01S
Традиционно для этого форума: Ваш проект у меня не открылся, скетч тоже, кофейная гуща спасла ситуацию :) .
Чтобы Вас правильно понимали собеседники, а микроконтроллер Ваш код постарайтесь применять общепринятые обозначения: у ESP-01/01S pin1- GND, pin3- GPIO2. Если я правильно понял, Вы имели ввиду GPIO1 и GPIO3 которые к тому-же TX0/RX0?
Блок обмена испортил работу системы, а причину ищем в блоках ТМ1637 ? Интересный подход.
Для чего и кому я писал сообщение №33?Показать
ESP01_ESP01S.jpg
Цитата: В процессе загрузки модуль ESP8266 через UART TX-GPIO1/RX-GPIO3 пытается автоматически определить скорость подключения устройства-партнёра и установить у себя такую-же. Во время этого пару раз мигает синий светодиод- индикатор передачи данных от модуля к терминалу. У модуля ESP8266 есть также второй последовательный порт. Главное его назначение - вывод диагностической и отладочной информации. Пин Tx второго последовательного порта мультиплексирован с пином GPIO2.
При старте прошивки, UART модуля ESP8266 выдает в UART отладочную информацию на скорости 74 880 baud, затем переключает скорость порта на 9600, 57600, 115200 в зависимости от версии прошивки...
Если МК общается с периферией на определённых линиях связи и в их "разговор" вклинивается передача для другого устройства, которого там нет и не должно быть, то данные будут испорчены, протокол нарушен, устройсво (особенно I2C где каждый ногодрыг что-то да значит) может войти в режим ожидания завершения/продолжения/прекращения/рестарта сессии. Иногда ув. Авторы Сopy/Past-ят всё подряд из демо-примеров из библиотек в свои блоки забывая/по недосмотру или не особо разобравшись delay() в Loop() порой по несколько секуд, и/или
вывод в UART (Serial.print)Показать
Serial.png
хотя последнее нужно делать снаружи и т.д. Об этом неоднократно писал в своих темах ув.ecoins. Вы похоже не новичок, и думаю для Вас не будет проблемой "связать концы с концами" и впредь проверять скомпилированные скетчи своих проектов на наличие описанного. Надеюсь объяснил понятно. Частично потому у меня на компе нет проектов в ФЛПрог после её "убийственных" обновлений, ни сторонних блоков и скетчей и стараюсь избавляться от библиотек после их изучения, но это у же личные предпочтения и негативный опыт. Желаю удачи!

Qwert855
Сержант
Сообщения: 159
Зарегистрирован: 19.12.2020{, 23:57}
Репутация: 7
Имя: Alex

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#37

Сообщение Qwert855 » 03.03.2021{, 12:06}

Labu559,
Спасибо.
Связь указанная выше очевидна. думаю это уже творческий кризис :smile44:
пора отдохнуть от WIFI и сделать наливатор.

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#38

Сообщение Labu559 » 03.03.2021{, 12:15}

Qwert855 писал(а):
03.03.2021{, 12:06}
Labu559,
Спасибо.
Связь указанная выше очевидна...
Спасибо и Вам за участие. Приятно, если время на разъяснения не потрачено зря и приносит пользу, а не обвинения в написании, цитирую, "ненужных рефератов".
Всем Успехов, а Вам к наливатору- скатерть самобранку, может кто-то возмётся за разработку пользовательского блока накануне мирового праздника! :smile38:

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#39

Сообщение AndrejK » 06.03.2021{, 07:30}

За блок Спасибо. Перешел на него с библиотеки AlexGyver. Скорострельность данного 1,6 мс, против 2,35 мс AlexGyver.

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

TM1637 -драйвер LED, 7-сег. дисплеев и клавиатуры 2х8

#40

Сообщение Labu559 » 06.03.2021{, 14:08}

AndrejK писал(а):
06.03.2021{, 07:30}
Скорострельность данного 1,6 мс, против 2,35 мс AlexGyver.
Спасибо за публикацию тех. результата тестирования блока/библиотеки. Эта библиотека- результат, на мой взгляд ненужного, вынужденого компромиса с целью объединения совершенно отличных архитектур МК под Ардуиновские методы. Совершенно очевидным для меня есть безполезность попыток убедить сообщество этого форума в том что (аллегория) в мечети уместен Коран, в церкви- Библия, но не Тора, или Трипитака. Попытка впихнуть всё в одну кучу приводит к протипоположному результату- ничего не работает как положено. Есть на стадии тестирования Wiring библиотека версии 9.06, побыстрее той что в шапке темы, с оптимизированным сканированием клавиатуры и проверена пока только на АВР-ках
результаты тестов библиотеки beta v9.06Показать
Wiring_displayString_Function.png
Wiring_scanKeys_Function.png
А вот так выглядит
работа библиотеки на Си с модулем ТМ1637 для AVRПоказать
LogicAnalyzerTM1637.png
для сравнения. Здесь команда (1байт данных или 10 ногодрыгов) передается/принимается за 29 uSec (микросекунд), полная загрузка регистров данными дисплея (команда и 6-байт данных) за 179 uSec (напротив 1424 uSec в Wiring версии), сканирование клавиатуры за 187 uSec (напротив 423 uSec в Wiring версии). Увы такова цена универсальности, не особо помогла даже вставка на АСМ. Также на рисунках хорошо видны переключения драйвера/выбросы длинной в ~80 nSec, не приводящие к потере или искажению данных на модуле без конденсаторов. Потому производитель и рекоммендует устанавливать на интерфейсных линиях конденсаторы емкостью 100 pF для сглаживания, но не как у китайских модулях- 12 nF. Также декодер анализатора демонстрирует почти полную схожесть интерфейса драйвера ТМ1637 и I2C протокола.

Ответить

Вернуться в «Дисплеи, индикаторы и клавиатуры»