Урок 23. Подключение сегментного дисплея TM1637 к Arduino.
Сегодня в урокеподключим семисегментный индикатор TM1637 к Arduino. Установим библиотеку TM1637.h и научимся выводить на дисплей цифры и некоторые символы.
Как устроен и из чего состоит модуль TM1637.
Характеристики Индикатора на TM1637: • Напряжение питание: 5,5В • Потребляемый ток 0.2 — 80мА (в зависимости от горящих сегментов) • Градаций яркости индикаторов — 8 • Размеры платы: 42x24мм • Двух проводной последовательный интерфейс (CLK, DIO).
Фото модуля от магазина RobotDyn фронтальный вид.
Фото модуля от магазина RobotDyn вид с тыльной стороны.
Этот модуль собран на драйвере TM1637. • Есть модули красного, синего, зелёного, белого цвета. • Размеры 0,36” и 0,56”
В уроке будем использовать модуль TM1637 0,56”, зеленого цвета.
Возможности модуля TM1637: • Зажигать сразу все знаки или по одному сегменту или символу, • Выводить цифры от 0 до 9 и некоторые буквы. Смотри ниже. • Цифры могут выводиться как с нулями слева, так и без них, • 8 градаций изменения яркости. • Вывод символа в определённую позицию (ячейку).
Отличие модуля индикатора на TM1637 от других – это его компактность, он не дорогой, и управление всего по двум проводам.
Плата макетная беспаечная 55х82х8.5 мм. Купить можно на AliExpress или в России.
Подключение дисплея TM1637 к Arduino
Подключить дисплей можно к любым цифровым пинам Ардуино. В нашем случае будем подключать к Arduino NANO по схеме.
Arduino Nano [PIN 5V] - TM1637 Module[PIN 5V]
Arduino Nano [PIN GND] - TM1637 Module[PIN GND]
Arduino Nano [PIN 2] - TM1637 Module[PIN DIO]
Arduino Nano [PIN 3] - TM1637 Module[PIN CLK]
Установка и настройка библиотеки TM1637.h.
Установить библиотеку TM1637.h можно из менеджера библиотек. Для этого откроем Arduino IDE, перейдем в раздел Скетч-> Подключить библиотеку -> Управление библиотеками.
Затем в строке поиска наберем TM1637. И установим библиотеку Grove 4-Digit Display.
Вы также можете скачать библиотеку TM1637 внизу урока, в разделе «материалы для скачивания».
Настройка библиотеки TM1637 для вывода дополнительных символов.
Библиотека позволяет вывести цифры и некоторые символы на дисплей.
Для отображения температуры использовал символ «С» номер для вывода на индикатор 12и для отображения влажности использовал символ «F» номер для вывода на дисплей 15.
Но для некоторых проектов на Arduino не достаточно данного набора символов. Расширить его достаточно легко, для этого в файле TM1637.cpp библиотеки находим массив TubeTab[] и добавляем нужные коды символов.
Список добавленных символов в
файле TM1637.cpp, библиотеки TM1637.
После чего данные символы можно
использовать в своих проектах.
Если захочется закодировать свой символ, то можно использовать следующую таблицу:
После кодирования сегментов, установив нужные биты в байте, для сокращения записи можно перевести байт из двоичного в шестнадцатиричный формат, как - b00011110 -> 0x1E.
Пример кода для вывода информации на семисегментный индикатор с драйвером TM1637.
Пример 1. Вывод времени с мигающим двоеточием.
В данном примере выведем 4 цифры на индикатор TM1637, и научимся мигать двоеточием каждую секунду. Данный пример поможет вывести любую цифровую информацию: время, счётчики, показания с датчиков.
Пример 2. Вывод слов на модуль TM1637.
Дополнительные символы добавили в библиотеку, сейчас осталось научиться их выводить. Создадим массивы необходимых слов, после чего по очереди выведем их на дисплей. Данные слова можно использовать при выводе статуса работы устройств. Это пример слов. Вы можете составлять свои слова в соответствии с вашей задачей.
Пример 3. Выводданных с датчиком с символами.
Мы научились выводить цифры и слова на дисплей. Как же сделать динамическое изменение значений на дисплее. При этом добавлять символы для индикации различных данных.
Тут поможет нам посимвольный вывод данных на дисплей. Например, запись tm1637.display(0, 5) выводит первый символ на дисплей 5. Аналогично выводятся остальные 3 символа.
Для разделения числа на десятки и единицы, для нахождения единиц нужно найти остаток от деления на 10, и для получения десяток нужно число делить на 10.
И после числового значения выведем символ, например, для температуры символ «С».
Пример применим при выводе даты, времени и показаний с датчиков.
Появились вопросы или предложения не стесняйся, пиши в комментарии!
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.