TM1637 Отображение точек

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Константин_Ли, 23 ноя 2019.

Метки:
  1. Имеется вот такой дисплэй, подключается по i2c.
    [​IMG]
    Долго искал библиотеку которая позволит отображать числа с точкой,но так и не нашел. Может кто использовал такой же дисплэй, подскажите как вы решали данную проблему?
     
  2. SergeiL

    SergeiL Оракул Модератор

    Если набрать в поиске гугла "часы TM1637"
    Первая ссылка ведет на сайт Амперки. Там есть исходники.
     
  3. DetSimen

    DetSimen Guest

    Ему не часы нада, а числа с точкой, а это не все модули имеют. И не все биб-ки умеют
     
    Andrey12, Константин_Ли и Asper Daffy нравится это.
  4. asam

    asam Гик

    Если это действительно TM1637 то стандартная ардуиновская библиотека https://github.com/avishorp/TM1637 умеет и число с точкой показывать - showNumberDecEx() и можно вообще в сыром виде данные отображать - 7 младших бит кодируют сегменты, а старший точку.
     
    DetSimen нравится это.
  5. Пробовал эту либу, при вызове showNumberDecEx, все вроде бы нормально, только вместо точек отображается двоеточие.
     
  6. Чем больше с ним сижу, тем больше складывается ощущение, что они вообще не подключены. Так может быть? Это же готовый модуль, дисплей+драйвер, на дисплее есть десятичные точки, значит он должен их как-то выводить.
     
  7. asam

    asam Гик

    Могут быть и не подключены. Воспользуйтесь функцией setSegments() и выведите массив из 4-х байт 0xFF каждый.
     
  8. DetSimen

    DetSimen Guest

    я тебе открою тайну, на китайских модулях неизвесных производителей, если горит двоеточие, значит точки не подключены. :)
     
    SergeiL нравится это.
  9. DetSimen

    DetSimen Guest

    У Роботдина есть модули или с двоеточием, или с точками, они разные, используй их.
     
  10. SergeiL

    SergeiL Оракул Модератор

    Да 100% не подключены.
    У меня просто индикатор на четыре разряда, и точки и двоеточия.
    Нужны были двоеточия. Хрен - горят только точки.
     
  11. a1000

    a1000 Гуру

    Ну а как вы хотели. Посмотрите на распиновку у индикатора.
    [​IMG]
    DP - это вывод для точки, или двоеточия (в зависимости от исполнения0. В приведённом тут индикаторе скорее всего китайцы использовали универсальную маску (дырочки и для точек и для двоеточия) Но светодиоды стоят только или в двоеточии или в точках. Сделать что-бы было и то и то не получится в принципе. Число кодируется 1 байтом (8 бит), 7 на сегменты + 1 на DP. А что-бы задействовать и точку и двоеточие нужно 9 бит. Тупо не влезет.
     
    Tomasina нравится это.
  12. Да, по всей видимости, просто не подключены.
    При активации всех сегментов, точки снизу всё равно остаются выключенными.

    Код (C++):
    #include <Arduino.h>
    #include <TM1637Display.h>
    #define CLK 12
    #define DIO 13
    TM1637Display display(CLK, DIO);

    void setup()
    {
      display.setBrightness(0x0f);
      uint8_t data[] = { 0xff, 0xff, 0xff, 0xff };
      display.setSegments(data);
    }

    void loop()
    {
    }
     
  13. KindMan

    KindMan Гуру

    Перепаять, наверное, можно. Точка небось 8 сегмент, 9 нога микросхемы, перемычку на индикатор, отрезав двоеточия. ?
     
  14. a1000

    a1000 Гуру

    Так я о том и писал. Вы послали 0хFF или 0b11111111. Бит 8 а сегментов хотите зажечь 9.
    А вы уверены что в самом индикаторе есть отдельный вывод на точки?
    Там распиновка скорее всего такая
    [​IMG]
     
  15. У дисплея всего 12 пинов, на картинке представлена модель без двоеточия. Тут в принципе не хватит места и на двоеточия и на точки. Плюс, прозвонил 9-ый пин микросхемы, он идет к третьему на дисплее. Т.е. на самом дисплее не возможно подсвечивать точки.

    [​IMG]
     
    KindMan нравится это.
  16. a1000

    a1000 Гуру

    Копнул немного в интернете и нашёл, что есть дисплеи с 12 а есть с 18 пинами. У 18 пинового подключены и точки и двоеточия. А если у вас

    То точки вам не доступны.
     
    KindMan нравится это.
  17. a1000

    a1000 Гуру

    Приношу извинения с 16 выводами. Ошибся.
     
  18. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Двоеточие скорее всего раздельные точки, принадлежащие разным разрядам.
     
  19. a1000

    a1000 Гуру

    Не, так не бывает. Они привязаны ко второму разряду.
     
  20. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Выпаять индикатор из платы и впаять нужный - отсос для припоя и делов 5 минут. Главное не лохануться с общим анодом/катодом. Судя по Протеусу, там стоит с общим анодом.
     
    Последнее редактирование: 25 ноя 2019