Зачем он нужен


Недавно я писал статью про самодельный bluetooth велокомпьютер. Было оживлённое обсуждение. Одним из предложений по модернизации, была идея добавить индикацию или жк экран. Идея мне понравилась. И я решил подумать как её воплотить в жизнь.


Так как велокомпьютеры уже были сделаны, корпус был практически весь занят, то вариант с жк экраном отпадал. Нужен был размер 40х30мм, с учетом всех шлейфов и проводов, и по толщине не больше 2-3мм. Также осталось немного свободных выводов. Различные светодиодные индикаторы (три цифры, шкала) не влезали. Тогда в голову и пришла очень хорошая мысль — сделать самодельный индикатор из SMD светодиодов. Взять тонкий односторонний текстолит, разместить на нём нужное количество светодиодов, в нужном порядке и получится отличный индикатор. Представив, что ко всем светодиодам нужно вести провода, я решил, что на плате поместится и дешёвый микроконтроллер, который будет сам управлять всеми светодиодами, а основной МК велокомпьютера будет управлять индикатором по одному проводу.


В итоге получился очень компактный (толщина всего 3мм) индикатор. Управление по одному проводу, и еще 2 на питание. Если у вас есть уже готовые приборы, или вы планируете сделать прибор, и нужен индикатор, то самодельный индикатор самый отличный вариант. Разберём подробнее как он работает.


20 светодиодов на 10 выводах — легко!


МК я выбрал самый не дорогой — SMT8S003, такой же как в велокомпьютере. У него всего 20 ног. Если убрать ноги питания и управления, то остаётся 14 ног. Первая задача, которую надо было решить, управлять этими ногами как можно большим количеством светодиодов.


В голову сразу пришло решение, что на одну ногу можно повесить 2 светодиода, одним выводом на GND, а вторым на VDD. На каждый светодиод по резистору. По такой схеме.




Управлять просто. Подаём на вывод 0, горит один светодиод, подаём 1 — горит второй светодиод. Переводим в третье состояние (вход) не горит ни один. Получается на 14 выводов можно повесить 28 светодиодов. Очень не плохо.


Сын нарисовал сам индикатор. Для велокомпьютера, самый полезный вид индикатора, после цифр — шкала. Индикатор состоит из 2 шкал по 8 светодиодов, и ещё 4 различных статусных светодиода. Итого 20 светодиодов. Я быстро набросал плату, протравил, запаял и начал тестировать.


Включаю МК, все выводы в третьем состоянии, ничего не должно гореть. И… Светодиоды горят. Конечно, им хватает напряжения в 5 вольт, чтобы тускло светится. Так не пойдёт, меняем схему...


Ещё больше светодиодов


Немного подумав, пришла другая идея. Подключить светодиоды не к питанию и земле, а к ещё двум выводам МК. Тогда точно можно выключить всё. Пробуем, отлично работает. За счёт динамической индикации, все красиво мигает. Можно управлять каждым светодиодом.


В итоге на будущее получилась такая схема:



Выделяем несколько управляющих выводов и рабочих. Резисторы ставим только на управляющие upr1 upr2. Таким образом, сильно упрощается схема и трассировка платы. На 14 выводах можно разместить до 96 светодиодов. 6 управляющих и 8 рабочих, плюс на каждом по 2 светодиода. Более чем достаточно, рука паять устанет.


Как оказалось можно и больше. Чарли Аллен пошёл ещё дальше, разместив по несколько светодиодов еще и между управляющими выводами. Таким образом, можно разместить на 16 выводах до 16*15 светодиодов. Но, в его схеме добавляется много резисторов, а также надо, чтобы все светодиоды были одного цвета, в общем есть небольшие проблемы. Вывод — 96 светодиодов более чем достаточно.


Управляем каждым светодиодом по отдельности


Для управления каждым светодиодом, используется метод динамической индикации. В один момент времени можно зажечь по одному светодиоду на управляющий вывод. Далее нужно перебрать все пары, это состояния индикации, и так по кругу. Так как плата уже была сделана, то я её переделал в один управляющий вывод и один резистор. Получилось 20 светодиодов на одном выводе и 10 рабочих выводов. Итого 20 состояний.




Для понижения потребления энергии, МК работает на частоте 2МГц. Чтобы перебрать 20 состояний с частотой в 50Гц хотя бы, нужен таймер с частотой в 1000Гц. Дополнительно захотелось ещё по управлять яркостью. Но получается, чтобы понизить ее в 10 раз, нужно частоту таймер 10 000Гц, а в 100 раз 100 000 Гц. При этом в обработчике прерывания нужно перебрать все варианты и зажечь нужный светодиод. В общем МК не справлялся. Пришлось перейти на вариант с PWM модуляцией.


Управляем яркостью с помощью ШИМ таймера


В итоге получилась простая программа. Используем один таймер — TIM2, с возможностью ШИМ генерации. Настраиваем частоту таймера на 1000Гц, а максимальное значение таймера 125 — разрядность ШИМ, которая будет определять градации яркости. В итоге, можно задать любое значение яркости от 0 до 125. В момент срабатывания второго прерывания таймера, по сравнению с заполнением ШИМ, выключаем все светодиоды.


В итоге получился отличный индикатор. За счёт регулирования яркости потребление в активной фазе составляет от 1 мА до 4мА.


Подключаем велокомпьютер


Сам индикатор готов, в корпусе от велокомпьютра он выглядит так:




Для управления индикатором, я выбрал протокол 1-wire. Описывать его не буду. Скажу только, что пришлось помучаться, чтобы успеть обработать прерывание и выдержать нужные тайминги, но в итоге все заработало. Велокомпьютер как Master, а индикатор как Slave. Для управления надо передать 4 байта. Первый байт — команда, яркость и один бит для перехода в спящий режим, остальные 3 байта — светодиоды, по биту на светодиод.


Первое, что пришло в голову отображать на индикаторе — это скорость и каднес. Служебные светодиоды оставить для статуса блютус, нарушения контроля скорости и каденса и еще один — контроль расстояния.


После опытных испытаний, добавил возможность отображать оставшееся расстояние от заданного или оставшиеся калории от заданных. Получилось очень удобно. Ставишь план — потратить за прогулку 2000 Кал, едешь и сразу видишь, осталось ещё половина. Вывод — индикация вещь полезная.


Сыну очень понравилось, он загорелся идеей сделать брелок — индикатор с аккумулятором в эпоксидной смоле. Пошёл думать.


Какие ещё можно сделать индикаторы


Часы — светодиоды в два круга — часы и минуты.


Стороны света — для электронного компаса.


Шкала для инкрементного поворотного энкодера.


Несколько шкал в одном индикаторе.


Сердечко для музыкальной открытки.


Матрица 8х8 для отображения картинок.


Тонкий семисегментный индикатор на одну цифру 11 светодиодов.


В общем, идей как это можно использовать — много.


На github, как обычно плата, программа, реализация протокола 1-wire и динамической индикации. Кому нужно, можете использовать в своих проектах.

Комментарии (63)


  1. BigBeaver
    03.12.2017 15:31
    +1

    SPI диоды в помощь. Дорогие, конечно, но зато, rgb, и без дополнительного контроллера.


    1. igrushkin
      03.12.2017 16:57

      Блин, случайно заминусил :-(((( извините


      1. BigBeaver
        03.12.2017 17:20

        Не переживайте, никто же не умер)


    1. Kom46
      03.12.2017 17:34

      Можно по spi и обычные светодиоды зажигать. Один сдвиговый регистр 74HC595 до 8 штук позволяет на себя повесить, а так же имеет выход для последовательного соединения сдвиговиков, т.е. можно ленту какого угодно размера набрать просто последовательно соединяя выход предыдущего регистра со входом следующего. Наиболее удобное решение, как по мне=)


      1. myowndevice Автор
        03.12.2017 17:35

        Сдвиговые тоже денег стоят. Почти как микроконтроллер. И яркостью сложно управлять через сдвиговый регистр — частота уже будет слишком большая. Потом яркостью надо непрерывно управлять. Яркость нужна чтобы снизить энергопотребление.


        1. AlanDrakes
          03.12.2017 18:24

          Никто не мешает управлять яркостью, подключив PWM выход ко входам /OE регистров. При этом они уходят в Z-состояние и, естественно, ток падает до нуля.
          Лично у меня есть где-то проект именно с такой регулировкой яркости свечения диодов за регистрами.


          1. BigBeaver
            03.12.2017 18:44

            Тогда вы будете яркость всего дисплея задавать. SPI диоды же позволят для каждого это сделать.


        1. nafikovr
          04.12.2017 08:32

          пусть частота диммирования будет 1кГц. 20 диодов. итого 20кГц. слишком высокая? если BAM применить — можно еще ниже сделать.


          1. BigBeaver
            04.12.2017 09:12

            Это у вас одноразрядное (вкл/выкл) диммирование вышло.


            1. nafikovr
              04.12.2017 09:23

              100Гц — 10 уровней.


              1. BigBeaver
                04.12.2017 09:36

                На каждый уровень нужен период загрузки. 10 уровней с условиями, описанными выше — 200кГц. При чем, это именно частота линии данных. При софтварной реализации частота операций должна быть удвоенной.


                1. nafikovr
                  04.12.2017 10:21

                  какая еще софтовая реализация для spi? 10 уровней при 20кгц на spi будет 10мс период с 1мс дисретностью. что собственно 100Гц и 1000Гц описанных выше. больше в данном девайсе думаю не нужно. если настаиваете на 200кГц, то тоже частота далеко не высокая.
                  на досуге посмотрите на RGB LED панели с hub75 интерфесом (которые в рекламных «телевизорах» используюется). там та же реализация на сдвиговых регистрах.


                  1. BigBeaver
                    04.12.2017 10:39

                    Самая обычная. Если аппаратных портов мало, делают софтварно, в чем проблема?.

                    10 уровней при 20кгц на spi будет 10мс период с 1мс дисретностью. что собственно 100Гц
                    Ах вот вы о чем. Но 100Гц это ужасно — смотреть невозможно на такое. Даже китайцы в интерьерку выше частоту ставят в разы (и все ранво плохо выглядит).
                    если настаиваете на 200кГц, то тоже частота далеко не высокая.
                    Так и 10 уровней не дофига. Плавное угасание уже не сделаешь.
                    на досуге посмотрите на RGB LED панели с hub75 интерфесом
                    Гугл говорит, что там отдельные каналы для яркости на большие пачки диодов (вообще-то это динамическая индикация, но можно и яркостью групп управлять). А вовсе не shiftPWM (хоть ничто и не мешает его туда впихнуть). Да даже вон на ГТ есть статья.


                    1. nafikovr
                      04.12.2017 12:32

                      китайцы в интерьерку выше частоту ставят в разы

                      Так и 10 уровней не дофига.

                      таки у нас не интерьерка, а панель индикации
                      Плавное угасание уже не сделаешь.

                      опять же все относительно. 10 уровней достаточно для плавного моргания, если требуется только индикация.
                      Гугл говорит, что там отдельные каналы для яркости на большие пачки диодов

                      гугл говорит что там по три бита на пиксел (вкл/выкл для каждой компоненты) и этими тремя битами достигается полноцвет (насколько он возможен учитываю кривость примененных диодов). а то про что вы написали (вывод OE) для регулирования яркости обычно не применяется


                      1. BigBeaver
                        04.12.2017 13:24

                        В любом случае сомнительное решение при том, что микроконтроллер для решаемых в посте задач стоит 25-50 центов, а итоговый функционал и гибкость выходят выше, как и модульность (центральному контроллеру не надо знать, как именно реализовано управление диодами).


                        1. myowndevice Автор
                          04.12.2017 14:59

                          Одназначно на МК лучше и проще. А по яркости… надо больше запас. Человеческий глаз изменение яркости в 5 раз не замечает. Поэтому нужно 100-200 градаций. А сдвиговые регистры больше подходят когда нужна полная яркость. Просто тут смысл, для велокомпьютера, за счет яркости снизить энергопотребление. Шкалу итак хорошо видно, ну и вообще яркость вещь полезная. А потом если будет хотя бы 2 микросхемы сдвиговых регистров — то уже плата громоздкая будет и разводить сложнее.


                          1. BigBeaver
                            04.12.2017 15:09

                            Человеческий глаз изменение яркости в 5 раз не замечает.
                            Даже в два замечает. Но в своих девайсах я использую деление на 4 для каждого шага убавления (это тупо удобно за счет оптимизации деления битовым сдвигом), если оно дискретное. Таким образом, при трех уровнях яркости нужна разрядность ШИМ не менее 2^6.


                        1. nafikovr
                          04.12.2017 15:09

                          да я то что, я всегда за контроллер, когда он заменяет несколько корпусов. я как всегда на конкретный вопрос отвечаю.


      1. BigBeaver
        03.12.2017 17:55

        Это сложно, а ShiftPWM безумно требователен к процессорному времени и частоте. А без ШИМ сразу зубудьте об управлении яркостью. Дизайн платы тоже усложняется нехило. Кроме того, у сдвиговых регистров обычно не чистый SPI, и требуемое число управляющих линий будет 3-4 вместо 2, смотря, какие брать, и какой алгоритм управления. Опять же, больше действий ложится на ядро (чистый-то spi мы аппаратно гнать можем).


        1. ploop
          04.12.2017 00:21

          Опять же, больше действий ложится на ядро

          Да какие там действия, выплюнуть последовательность во время простоя?


          1. BigBeaver
            04.12.2017 09:11

            Зависит от основных задачь же. Т.к. я их не знаю, ответ от них абстрагирован.


      1. Alexeyslav
        05.12.2017 16:28

        595-е для светодиодов использовать нерационально, куда лучше использовать специальные регистры с токовым выходом под светодиоды — не нужны будут ограничивающие резисторы на каждый светодиод — всё сделают встроенные драйверы с всего одним внешним токозадающим резистором. Да и такие драйверы идут уже 16 битные, экономия на корпусах.
        В преимущества регистров можно отнести масштабируемость — добавил регистр и у тебя уже строка 32 бита вместо 16.
        Это не считая специализированных решений типа контроллера дисплея 16*16 или 24*8(RGB 8x8) светодиодных матриц с поддержкой 4 уровней градации яркости КАЖДОГО светодиода в отдельности и собственной памятью.


        1. Nataly75
          07.12.2017 15:12

          Резисторы ставят только трУсы.) Учитесь у братьев.)


    1. myowndevice Автор
      03.12.2017 17:36

      Ну вопрос в цене тоже. Индикатор должен быть недорогой. Ну а по сути, тут бери тоже любые припаивай.


      1. BigBeaver
        03.12.2017 17:56

        Ну рублей 200-300 + текстолит для обсуждаемого решения.


  1. vconst
    03.12.2017 16:10

    Прикольно, примерно так и представлял.


  1. BARSRAB
    03.12.2017 21:33

    Не пойму, зачем там сложности в виде 1-Wire? Почему не UART? Да и необходимость наличия второго МК сомнительна. Можно же тот же MAX7219 поставить и управлять по SPI.


    1. myowndevice Автор
      03.12.2017 23:16

      Ну почему сложности, наоборот, 1-wire простой протокол. Uart — надо для управления терять полезный порт или делать soft uart. Во вторых стоимость драйвера — как стоимость STM8. В третьих SPI — 3 провода, а тут один. В четвертых к max столько не подключишь светодиодов — нужны выводы три стейт. В общем схема с МК проще и универсальнее.


      1. BigBeaver
        03.12.2017 23:24

        В SPI 2 провода, если вас не интересует двухсторонняя передача. UART в этом случае укладывается в один, но SPI не чувствителен к таймингам.


      1. BARSRAB
        03.12.2017 23:28

        С точки зрения реализации в МК, 1-Wire сложный протокол. и сложный с точки зрения бесполезного расхода процессорных ресурсов на обеспечение таймингов. Плюс к этому он медленный. И что значит «терять полезный порт»? Для 1-Wire выводы не нужны? spi три вывода, зато никаких заморочек с таймингами. Ну и даташит вы видели на max? К ней можно подключить 64 светодиода. А еще есть rgb светодиоды с чипом ws2812, управляются по одному проводу, включаются последовательно. Ну и самых чипы можно купить. Если не надо rgb, то каждый чип может управлять тремя отдельными диодами.


        1. dernuss
          04.12.2017 03:51

          > Для 1-Wire выводы не нужны?
          В stms003 2 порта не совсем полноценных, они для i2c и с открытым коллектором на выход.


          1. myowndevice Автор
            04.12.2017 15:04

            SPI UART это все полезная периферия. Ее нельзя вывести на любую ножку. В этом и проблема. А тайминги не теряются в этом время прерывания работают, так что проблемы нет. Там одно узкое место — когда единица передается — 10мкс, и то прерывания могут все обработаться. И вообще никто же не просит весь 1 wire реализовывать. А вообще посмотрите код к статье, там всего 10 строк на прием и 10 на передачу. Куда уж проще — при том, что любая нога.


  1. seri0shka
    04.12.2017 00:26

    Прочитав название, подумал, что речь пойдёт о таком
    image
    Интересовался темой, нет в природе тонких семисегментных индикаторов, хотя я не вижу сложности промышленно изготовить семисегментные индикаторы толщиной 0,5...1,5 мм.


    1. myowndevice Автор
      04.12.2017 15:01

      Ну так можно и такой… Если паять не тяжело.Это общая концепция. Тоже думал о таких. Не хватает тонких цифр. Даже делал прорисовку — достаточно по высоте боковые задводить и будет цифры понятно все. То есть всего 11 светодиодов на цифру — не так много. Вообще проблемы же нет сделать любую форму. В статье написано — до 96 светодиодов. Вопрос плату развести и все.


    1. Alexeyslav
      05.12.2017 17:30

      Вобще-то есть(вспомнить, например АЛС314, АЛС320), только совсем тонкими сделать мешает необходимость эффективного рассеивателя, иначе не сегменты будут а точки от свеодиодов. Прям как на тёплых ламповых советских АЛСxxx.
      А делать длинные светоизлучающие кристаллы как на старых добрых АЛС320 почему-то не хотят или не могут… квадратные точечки микронных размеров видимо дешевле обходятся.


    1. lingvo
      06.12.2017 16:16

      Наверное нет потому, что сейчас не проблема сделать любой индикатор в промышленном качестве без какой либо подготовки производства. Для этого понадобится либо 3D принтер, либо CNC фрезеровщик с куском белого непрозрачного пластика и белая бумага. Я сейчас часто вижу такое решение в устройствах.
      Делается так — на своей плате в нужном порядке разводите SMD светодиоды с широким углом обзора и по несколько штук на сегмент, если надо. Далее либо на 3D принтере либо на фрезеровочном станке делаете шаблон, как на рисунке выше, где в местах, где нужны сегменты вырезаете дырки. Толщина пластика может быть любая — от пары миллиметров. Главное, чтобы пластик был непрозрачным, так как его задача — изолировать свечение светодиодов разных сегментов друг от друга. Далее заклеиваете все сверху белой бумагой и ставите на свою плату. Сверху закрываете стеклом по вкусу. Эффект будет отличный. Мало того, вы можете легко вырезать любые символы, и зажигать их светодиодами разных цветов, как на приборке автомобиля.


      1. Alexeyslav
        06.12.2017 17:39

        Там проблема возникает — недостаточное рассеивание света на малых расстояниях, будут не сегменты гореть а точки на местах светодиодов. И лист бумаги дополнительно снизит световой поток до неприемлемого. В промышленных индикаторах для этого используют специальный светорассеивающий компаунд, которым заполняют эти ниши. Но опять же, чем тоньше слой тем сильнее проявляются места установки светодиодов, и засветка сегмента становится неравномерной. Кто-то из знакомых уже давно пробовал делать такие плоские индикаторы и наступил на всевозможные грабли и камни. В итоге — тонкие индикаторы с листом бумаги очень тусклые, с рассеивающим компаундом приемлемый результат только от 4мм и больше иначе появляются островки повышенной яркости в сегменте и выглядит не очень.


        1. seri0shka
          06.12.2017 19:36

          недостаточное рассеивание света на малых расстояниях

          На картинке выше единственно верное решение этой проблемы- несколько светодиодов на сегмент. Хотя «длинные светоизлучающие кристаллы», о которых вы упоминали, решили бы проблему полностью. Вот раскопал индикатор с советского калькулятора, толщина при снятом защитном стекле менее 1,8 мм (плата+светодиоды), с тоньшей платой можно уменьшить вдвое. Жаль, что подобное сейчас не купить.
          image


          1. Alexeyslav
            07.12.2017 00:13

            Я уже упоминал такие индикаторы. Видимо проблема выращивать длинные кристаллы, или слишком дорого.
            из таких АЛС314 — толщина 2.4мм
            Если надо тонкие, 4мм — KCSA56-104, или вот ещё — KCSA56-105-B-26 толщина 2.4мм!


            1. nafikovr
              07.12.2017 07:57

              для филаментных ламп так недорого, а для индикаторов дорого. чудеса…


              1. Alexeyslav
                07.12.2017 10:37

                У филаментных тоже маленькие кристаллы используют, просто люминофора там больше и кристаллы менее заметны на фоне общего излучения.


                1. nafikovr
                  07.12.2017 15:50

                  да, не подумал что люминофор в нашем случае не есть гуд


        1. lingvo
          06.12.2017 21:32

          Вопрос с недостаточной яркостью решается установкой сверхярких светодидов, коих сегодня полно. Мало кто знает, что с динамической индикацией также можно спокойно увеличивать ток светодиода в разы выше постоянного допустимого, так как светодиод работает в импульсном режиме. Это очень эффективно компенсирует потерю яркости.
          Ну и я не в курсе супертонких индикаторов, наверное, там будут нюансы, но видел вполне рабочий индикатор на данном принципе с примерно 5мм толщиной и там не было никакого компаунда. Также я недавно протестировал SMD сверхяркие светодиоды с углом рассеивания в 160 градусов — это песня.


          1. Alexeyslav
            06.12.2017 23:05

            Конечно, только с повышением яркости будет расти и потребление. Импульсный ток вы увеличиваете, но средний не растёт иначе кирдык светодиоду, количественно излучение остаётся таким же как на постоянном токе, и только биологический хак с глазами делает видимую яркость несколько больше, но не кардинально. В то время как нормальные сверхяркие индикаторы с током примерно 5мА и скважностью 0.5 дают яркий свет освещающий пол комнаты в темноте… И боюсь, с бумажкой в качестве светорассеивателя контраст сильно упадёт, как ни задирай яркость.
            Вобщем, по подводным камням люди уже ходили — не получается так делать светодиодные индикаторы. А по нескольку светодиодов на сегмент это конечно выход, но весьма не бюджетный. И вопрос как включать такие диоды — последовательное соединение потребует увеличения рабочего напряжения на сегмент(такое и делают в больших индикаторах)… а параллельное — выравнивающих резисторов, иначе индикатор на пару месяцев. Но опять же, для сооовсем больших индикаторов, например с высотой цифры в 10 сантиметров эффективней использовать светящуюся бумагу.


            1. seri0shka
              07.12.2017 00:00

              lingvo Сильно повышать яркость нельзя, иначе цифра или знак превращается в световое пятно.
              Alexeyslav По несколько светодиодов на сегмент только последовательно, на бюджет не повлияет, получится 21 светодиод на цифру, стоит 12 американских копеек за цифру (посчитал по реальным ценам, недавно брал смд светодиоды здесь, не в Китае). Ну конечно для большого количества знаков такой огород городить не сильно интересно.


              1. nafikovr
                07.12.2017 08:04

                на бюджет повлияет цена монтажа 21 диода.


          1. nafikovr
            07.12.2017 08:03

            увеличиваем яркость, снова обретаем проблемы со светящимися точками вместо сегментов, увеличиваем плотность рассеивателя, снова теряем яркость. далее по кругу.


      1. nafikovr
        07.12.2017 08:01

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


        1. myowndevice Автор
          07.12.2017 08:03

          К сожалению да, в произв. масштабах проще на заказ сделать LCD индикатор.


          1. nafikovr
            07.12.2017 08:06

            да даже LED индикатор часто по потребностям заказывают. глянул на микроволновку и стиралку от компании s...g — везде спецсимволы.


  1. vchs
    04.12.2017 00:51

    Max7219 или Max7221 были бы всё же проще. Три линии и всё (clk, in, latch). 64 светодиода на каждую Max. Управляемая яркость, декодирования BCD или напрямую, полностью автономное динамическое обновление, а значит 0% нагрузки на процессор (энергоэффективность). И железобетонная предсказуемость. В общем цена в 2 доп. ноги себя окупает сторицей. В Китае 29 амеро центов штука. Не думаю что STM8 дешевле. Но если задача стояла чисто DIY то вполне себе неожиданное решение у вас вышло.


    1. myowndevice Автор
      04.12.2017 15:11

      Ну все таки оригинальный MAX 7221 стоит больше 200руб. В китае продается подделка, работающая конечно. Ну и потребление тока 150мкА в спящем режиме — много. А У МК всего 5мкА, и можно другой подробрать еще меньше. Ну и потом МК сам запрограммировал как угодно, можно еще больше логики добавить если надо.
      Например, если это шкала можно запоминать макс уровень и его подсвечивать какое то время.


      1. BigBeaver
        04.12.2017 15:12

        Можно гейтом выключать питание схемы.


        1. myowndevice Автор
          04.12.2017 15:13

          еще ноги… к спи добавляются.


          1. BigBeaver
            04.12.2017 15:16

            Зависит от того, сколько у вас вообще потребляющей переферии и какой. Иногда удобно все заглушить разом. А еще зависит от того, какое у вас питание — есть же управляемые стабилизаторы, и тогда все уже есть из коробки для всей схемы включая МК. В общем, от задач зависит.


            1. myowndevice Автор
              04.12.2017 15:19

              Ну конкретно здесь все известно. Ссылка на статью про велокомпьютер есть. Он все время в спящем режиме — аккумулятор 100мА. Потребление 5мкА. Если будет 150 — то мало спать будет. Придется ноги добавлять на отключение питания. В общем с MAX не лучше выйдет. Конкретно в этом случае. А так конечно драйвер хороший. Но, вот покупать конечно надо оригинальный, а цена в этом случае совсем не Айс. А STM8, самый оригинальный.


              1. Nataly75
                07.12.2017 15:18

                А почему всего 20? 10 выводов могут управлять 90-ми светодиодами. Без ничего!)


                1. Alexeyslav
                  07.12.2017 16:21

                  И потом в болото застрять отлаживая вывод на эти самые 90 светодиодов. Компромисс нужен между простотой железа и простотой программы им оперирующей. Так-то вообще десятками светодиодов можно управлять вообще одной ножкой, используя явление резонанса…


                  1. Nataly75
                    07.12.2017 17:57

                    Кто как хочет так и… мозги тренирует! Не?)


                1. myowndevice Автор
                  07.12.2017 17:22

                  А откуда 20?? в статье про 90 и более. Типа не дочитал?? И потом надо каждым в отдельности… без ничего… это интересно.


                  1. Nataly75
                    07.12.2017 17:26

                    Да ладно! Кто автор?))
                    20 светодиодов на 10 выводах — легко!


                    1. myowndevice Автор
                      07.12.2017 17:40

                      А дальше прочитать слабо? Еще больше светодиодов… Видимо много буков.


                      1. Nataly75
                        07.12.2017 18:09

                        Ну да.)) Читаем только заголовки. Ничего нового.)