Страница 2 из 5

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вс сен 29, 2024 09:56:43
OKF
Дядя. Динамическая индикация - это букварь. Вариантов много. Главное, частота обновления. А дальше схемотехника. В основном, использую без резисторов, минимум-минимор. Но это на любителя.

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вс сен 29, 2024 10:05:01
shonty
OKF писал(а):Дядя. Динамическая индикация - это букварь.
то, что ДД букварь - мнение весьма и весьма субъективное :)
"Букварём" можно назвать и программный SPI, и программный I2C, да хоть чорта лысого.. , но всё равно это будет субъективно.

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вс сен 29, 2024 18:21:43
Базилюк
Частота обновления - это фигня. А вот определенная последовательность переключения ног для разрядов и сегментов - это куда важнее. Правильно - сначала погасить предыдущий разряд, затем выставить новую комбинацию сегментов, потом зажечь текущий разряд. Если последовательность перепутать, будет засветка сегментов в соседних разрядах. Пройденный на своих шишках этап.

Не ставить резисторы в сегменты можно, но осторожно. Китайцы не ставят, и даже запитывают общий вывод разряда от пина без транзисторв.. А вообще - не желательно так делать, особенно с 5-вольтовым питанием. 8 резисторов - копеечная экономия, а вреда может быть больше. Да и неравномерная яркость сегментов из-за различающегося тока.

Насчет программных I2C и SPI - это пережитки прошлого. Ужасная практика. Уж лучше дин.индикацию на МК, чем софтовый I2C/SPI.

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Пн сен 30, 2024 06:12:13
shonty
Базилюк писал(а):Насчет программных I2C и SPI - это пережитки прошлого. Ужасная практика. Уж лучше дин.индикацию на МК, чем софтовый I2C/SPI.
  • Сдвинуть байт,
    проверить наличие переноса,
    выставить соответствующий уровень на ноге,
    строб на клок,
    + переходы на задержки
    и всё это 8 раз в цикле.
Не более 15-ти строк кода. Весьма ужасно?

Это и к вопросу TM1637, и может даже к асму))

Martian, влупи мне ещё раз минус четыре за это :)))

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Пн сен 30, 2024 10:07:47
Базилюк
Особенно когда используется ардуиновский digitalWrite() - это ужасно ужасно. Пережитки прошлого.
Я и говорю - лучше динамическую индикацию напрямую на микроконтроллере, чем ногодрыжный SPI или I2C.

Ну и ассемблер туда же... Я как-то видел одного чувака, который на ассемблере решил прогать STM32H743. Жуткое было зрелище. За два года он сумел только таймеры подергать и еще кой-чо помелочи.

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Пн сен 30, 2024 11:07:27
shonty
Базилюк писал(а):Я и говорю - лучше динамическую индикацию напрямую на микроконтроллере, чем ногодрыжный SPI или I2C.
Мне тут прям сразу интересно стало))

Получается написать на асме псевдо-I2C под TM1637 в 180 строк (и это с коментариями, пропусками строк и прочими украшениями) - это ногодрыжный интерфейс? ))

А написать на Сях динамику и задействовать 12 лап контроллера - это ни разу не ногодрыжный))

Или на Сях аппаратная динамика? :shock:

У кого из нас с логикой не так? :)))
Базилюк писал(а):Я как-то видел одного чувака, который на ассемблере решил прогать STM32H743. Жуткое было зрелище. За два года он сумел только таймеры подергать и еще кой-чо помелочи.
Аргумент конечно увесистый))
Но я как-то видел одну бабушку, она так и не осилила STM32H743, даже на Сях :)))

Добавлено after 14 minutes 58 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
PS: я дополню:
Базилюк писал(а):Частота обновления - это фигня. А вот определенная последовательность переключения ног для разрядов и сегментов - это куда важнее. Правильно - сначала погасить предыдущий разряд, затем выставить новую комбинацию сегментов, потом зажечь текущий разряд. Если последовательность перепутать, будет засветка сегментов в соседних разрядах. Пройденный на своих шишках этап.
И вы хотите сказать, что это не ногодрыг?)
Или если на Сях написано, то ногодрыгом не считается?))

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Пн сен 30, 2024 11:55:12
Базилюк
Я имею ввиду то, что при наличии аппаратных SPI/I2C использовать ногодрыжный софтовый вариант - это моветон в наше время, динозавризм. Не важно, сколько там строк. Современные МК имеют по 3-6 аппаратных SPI и столько же I2C, недостатка в них нет. С другой стороны, при наличии 48-100 ног выделить 12 ножек под индикатор - тоже не проблема.

В общем, не стоит уподобляться древним звероящерам. На дворе уходит 2024 год, а вы всё топчитесь в прошлом тысячелетии.
Лучше бы че по теме темы сказали, чем флеймить про какую-то фигню. Спор ради спора - фигня с ушами. По делу пишите, а не спорьте на тему звероящеров.

Добавлено after 2 minutes 36 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
ЗЫ. Через DMA и таймер можно и аппаратную динамику запустить, да ваще не проблема.

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Пн сен 30, 2024 12:59:20
shonty
Базилюк писал(а):Современные МК имеют по 3-6 аппаратных SPI и столько же I2C, недостатка в них нет.
согласен))
но весь сыр бор тут и произошёл из-за того, что у TM1637 свой 2-х проводный интерфейс) типа I2C, но не он)
и аппаратка не канает)) и библиотеки то глючные оказались) и без "ногодрыга" никуда)
но если сравнивать TM1637 с динамикой, то экономится по выводам 1:6) а по коду примерно 1:1
как то так)

:beer:

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Пн сен 30, 2024 13:15:47
veso74
Давно использую управление TM1637 по аппаратному/программному I2c: МК: от Arduino, ATtiny13A, PIC до STM32. Отправляете данны без адреса (no slave address), данные "наоборот" (LSB), и не нужно писать еще одну функцию для отправки данных. На 100 kHz все ОК. На форуме есть тема.

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вт окт 08, 2024 14:05:41
Ivanoff-iv
shonty, кроме того прямая динамическая индикация требует от кода жесткий тайминг, иначе яркость разрядов будет плавать (обычно под это выделяют таймер, коопераивно ещё с каким нибудь времязависимым кодом или даже монопольно + его прерывание(я) )
При внешнем управлении индикатором (через СПИ/И2С и доп микросхему-контроллер) когда захотел - тогда и обновил... красота! но, частота регенерации в этом случае обычно задается контроллером и коррекции не поддается.

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вт окт 08, 2024 19:00:51
Thinnnfor
Ни каких жёстких таймйнгов, и не жёстких тоже никаких .
Яркость разрядов одинаковая , по крайней мере на глаз не различается.
Атмега8 , код на си.
Изображение

Добавлено after 14 minutes 44 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
А да, забыл , вот код со свичами, касями и десятичными то ...

Добавлено after 1 minute 35 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
Код написан в CVAVR

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вт окт 08, 2024 19:02:11
Martian
у 12,70 и 1,988 не светятся верхний и нижний сегменты

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вт окт 08, 2024 19:04:10
Базилюк
Я так думаю, это буквы - U (V) и A - напряжометр и токомер

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вт окт 08, 2024 19:05:29
Martian
я тоже так думаю, но вижу отсутствующие сегменты

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вт окт 08, 2024 19:06:33
Thinnnfor
Базилюк прав !

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вт окт 08, 2024 19:09:33
Martian
Наверное, у него большой опыт смотреть на плохо продуманный дизайн

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вт окт 08, 2024 19:17:38
Thinnnfor
А каков будет хорошо продуманный дизайн , для семисегментных индикаторов ?

Добавлено after 2 minutes 51 second:
Re: ATmega8, динамическая индикация, switch case и десятичная то
Да и тема то не про дизайн !?

Добавлено after 2 minutes 14 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
Да , для тех кто в танке в верхней сторке последний симол это V вольт по нашему, а в нижней это А ампер.

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вт окт 08, 2024 19:47:59
Martian
для тех, кто не в танке: там не горят сегменты у нолика и восьмёрки. Чем скорее Вы это поймёте, тем быстрее поумнеете.
Thinnnfor писал(а):А каков будет хорошо продуманный дизайн , для семисегментных индикаторов ?
Для любых индикаторов хорош тот дизайн, когда значение визуально воспринимается отдельно от обозначения величины. Особенно на фоне четырёхразрядных мультиметров. Особенно, когда 99% совпадения по начертанию.

Радиолюбитель - это не синоним "итаксойдётуменялапкиятаквижу". Радиолюбитель - существо думающее, читающее и со вкусом.

Всё, что нужно было сделать - отобразить четвёртый разряд цифрой (даже если прибор на сиё не особо точен), а рядом написать U и А.

Если в гугле набрать "лабораторный блок питания" и кликнуть на вкладку "картинки", Вы увидите, что везде сделано так, как я написал, а в ряде случаев - и различным цветом/начертанием для разных параметров.

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вт окт 08, 2024 20:16:29
Thinnnfor
Martian писал(а):для тех, кто не в танке: там не горят сегменты у нолика и восьмёрки. Чем скорее Вы это поймёте, тем быстрее поумнеете.
Это где и кем определено ?
Я решил во встраиваемый ампервольтметр "встроить" наименования
показаний, понятным любому адекватному человеку ...
Кстати Базилюк понял сам , без разьяснений , думаю что 99,(9) процентов людей
имеющих представление что такое ток и напряжение так же поймут
А мнение 1/99,(9) процентов человечества ... пусть имеют своё , ни кто же не запрещает.

Добавлено after 12 minutes 48 seconds:
Re: ATmega8, динамическая индикация, switch case и десятичная то
И вообще мы отвлеклись от темы, про дизайн речи не шло .
Как бы динамическая индикация switch case и десятична ... имеют место быть !

Re: ATmega8, динамическая индикация, switch case и десятична

Добавлено: Вт окт 08, 2024 20:17:07
Martian
[uquote="Thinnnfor",url="/forum/viewtopic.php?p=4633989#p4633989"]Это где и кем определено ?[/uquote] что именно? что поумнеете? никем, это я проявил некоторый оптимизм, что делаю редко, ибо мне несвойственно.
Или про правила дизайна, особенностей восприятия информации, требования к интерфейсам? В куче книжек и даже ГОСТ. Знаете, есть такая штука - книжки, их люди раньше читали.