Оглавление:

TM1637 7-сегментный дисплей - заставить его работать !: 5 шагов
TM1637 7-сегментный дисплей - заставить его работать !: 5 шагов

Видео: TM1637 7-сегментный дисплей - заставить его работать !: 5 шагов

Видео: TM1637 7-сегментный дисплей - заставить его работать !: 5 шагов
Видео: Управление семисегментным индикатором 2024, Ноябрь
Anonim
7-сегментный дисплей TM1637 - заставить его работать!
7-сегментный дисплей TM1637 - заставить его работать!
7-сегментный дисплей TM1637 - заставить его работать!
7-сегментный дисплей TM1637 - заставить его работать!

Введение Что ж, я наконец сломался и решил поэкспериментировать с 7-сегментными дисплеями. Я бы предпочел запрограммировать сенсорный TFT-дисплей или простой TFT-дисплей из-за их гибкости для отображения большого количества информации на экранах. 7-сегментный дисплей настолько ограничен, даже с расширенными цифрами. Однако в качестве новой идеи я решил создать мировые часы, которые отображали бы время по всему земному шару. Идеальное приложение для недорогого 4-значного 7-сегментного дисплея! Итак, подробнее о проекте по мере того, как он становится все более продвинутым, но вот мои «открытия» и мысли о дисплее TM1637 от RobotDyn.

Шаг 1: Детали

Детали. Чтобы поэкспериментировать с дисплеем TM1637, вам понадобятся только следующие компоненты:

- Дисплей TM1637

- RTC или DHT для чтения некоторой информации - опционально, без оборудования, просто сделайте простой счетчик

- Arduino Uno, Mega или Micro

- Несколько перемычек

Шаг 2. Рекомендации по программному обеспечению

Соображения по поводу программного обеспечения: я нашел 3 разных библиотеки для использования с TM1637.

- TM1637.h - рекомендуется RobotDyn, но старше

- Библиотека TM1637display.h - от AVISHORPE кажется фаворитом

- SevenSegmentTM1637.h - По breeme. Максимальный функционал и возможности.

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

Шаг 3: первые мысли

Первые мысли: Когда я впервые получил свой дисплей, я купил его с некоторыми универсальными 7-сегментными дисплеями (12 отведений) и некоторыми регистрами сдвига. Их использование было труднее, чем мне нужно, и ограничивало меня использованием Mega в качестве мировых часов. Дисплей TM1637 использует I2C, поэтому даже микроконтроллер справится с 4-5 из этих дисплеев, но я буду подтверждать это по мере развития моего проекта! Но использование всего (2) контактов GPIO на каждом - это большой плюс.

Устройство очень рентабельно, всего 1,50 доллара за большой дисплей (50x19 мм) на сайте RobotDyn.com.

Легко установить и использовать для проекта. Хороший размер, яркий регулируемый дисплей, 4 монтажных отверстия (версия RobotDyn), двусторонний доступ, только 4 соединения (5 В, Gnd, Data, Clock), цветовые вариации (5) и «простое» программирование (читайте дальше…).

Шаг 4: программирование

Программирование
Программирование
Программирование
Программирование
Программирование
Программирование

Программирование До сих пор мне больше всего нравилась библиотека TM1637display.h, и я использовал ее для получения следующих результатов и выводов. Вероятно, это не единственные проблемы, я столкнулся с ними и нашел способы их решения.

А теперь о программировании. Когда я впервые подключил свой дисплей и запустил примеры для всех трех библиотек, я ничего не получил. Ни дисплея, ни считывания, ничего. Фактически, это, казалось, заморозило Arduino и отказалось выводить даже последовательный вывод. Я всего лишь производитель, но, конечно же, я не мог испортить этот простой маленький дисплей! После некоторого исследования я нашел некоторую информацию во многих местах, поэтому позвольте мне попытаться передать кое-что из того, что я нашел.

Как и на ЖК-дисплее, вы можете выводить на дисплей строку целых чисел. Есть более «сложные» способы размещения информации, но это не обязательно. Отображение ограничено строками и символами и ограничивает доступный набор, поэтому, если вам нужен текст, это может быть не лучшим решением.

Кажется, что использование «задержки» любого типа приводит к зависанию дисплея. Это может быть уникальным для дисплея RobotDyn, поскольку другие, похоже, избегают проблемы, но это не единственная проблема. Чтобы обойти это, я нашел 2 шага. Сначала я отключил встроенные конденсаторы на задней панели устройства, которые мне было лень демонтировать. Во-вторых, я закомментировал все задержки. Успех! Дисплей ожил. Теперь нет возможности установить время (например, счетчик), что не так идеально, но мне нужны часы и / или датчик температуры, чтобы я мог работать с этим.

На дисплее RobotDyn десятичные точки недоступны. Я не нашел однозначного решения - и оно не понадобится - но имейте в виду.

Документация для двоеточия была громоздкой, но я нашел довольно простое решение, используя однострочную команду. Я не могу заставить его мигать легко, но, опять же, это не проблема для моего проекта. Используйте «display.showNumberDecEx (0, 64);» с двоеточием.

Чтобы дисплей отображал стабильные показания, я просто использовал операторы for () для повторения вывода в течение того времени, которое я хочу, чтобы он отображался. Просто дает мне вызывать больше подпрограмм. Но я заберу победу.

Для получения разных цветов необходимо заказать дисплей, соответствующий цвету. Вы не можете изменить цвет дисплея. Если вы собираетесь их использовать именно так, закажите партию на Amazon с 5 разными цветными дисплеями. С помощью RobotDyn вы заказываете цвет или партию из 1 цвета.

Шаг 5: Заключение

Заключение Пока это то, что я нашел, но если у вас есть какие-либо предложения, я был бы признателен за отзывы или предложения. Я все еще изучаю дисплеи, и мне нужно многое узнать и понять о них. Любые другие заметки приветствуются. Спасибо, и я надеюсь, что это помогло другим, интересующимся 7-сегментным дисплеем. Наслаждаться!

Рекомендуемые: