Привет! Как поставщик 7-сегментных ЖК-дисплеев, я своими глазами видел, какие интересные вещи можно делать с этими маленькими дисплеями. В этом блоге я расскажу вам, как запрограммировать 7-сегментный ЖК-дисплей для отображения динамического контента. Независимо от того, являетесь ли вы любителем или профессионалом, это руководство расскажет вам, как оживить ваши 7-сегментные ЖК-дисплеи.
Понимание основ работы 7-сегментных ЖК-дисплеев
Прежде всего, давайте разберемся, что такое 7-сегментный ЖК-дисплей. Он состоит из семи сегментов, обычно обозначаемых a, b, c, d, e, f и g, а также десятичной точкой. Подсвечивая разные комбинации этих сегментов, можно отображать цифры от 0 до 9 и даже некоторые буквы.
Доступны различные типы 7-сегментных ЖК-дисплеев, напримерЖК-дисплей HTN,ЖК-дисплей ВА, иСТН ЖК-дисплей. Каждый тип имеет свои характеристики, такие как угол обзора, контрастность и время отклика. Вам нужно будет выбрать тот, который лучше всего подходит для вашего проекта.
Выбор правильного микроконтроллера
Для программирования 7-сегментного ЖК-дисплея вам понадобится микроконтроллер. Популярные варианты включают микроконтроллеры Arduino, Raspberry Pi и PIC. С ними легко работать, и в Интернете есть масса ресурсов.
Arduino — отличный вариант для новичков. Он имеет открытый исходный код, простой язык программирования и большое сообщество. Вы можете начать быстро, не сталкиваясь со слишком сложными задачами. С другой стороны, Raspberry Pi более мощный и может решать более сложные задачи. Это как мини-компьютер, на котором можно запускать полноценные операционные системы.
Подключение оборудования
После того, как вы выбрали микроконтроллер, пришло время подключить 7-сегментный ЖК-дисплей. ЖК-дисплей имеет контакты для каждого сегмента и общий контакт (либо общий анод, либо общий катод).
Если вы используете ЖК-дисплей с общим анодом, общий вывод подключается к положительному напряжению, и вы заземляете отдельные выводы сегмента, чтобы зажечь их. Для ЖК-дисплея с общим катодом все наоборот: общий вывод заземлен, и на выводы сегмента подается положительное напряжение.
Вот базовый пример подключения 7-сегментного ЖК-дисплея к Arduino:
- Подключите общий контакт к соответствующему источнику питания (либо 5 В для общего катода, либо земля для общего анода).
- Подключите каждый вывод сегмента (a – g и десятичную точку) к цифровому выходному выводу на Arduino.
Программирование дисплея
Теперь самое интересное: программирование! Начнем с простого примера отображения одной цифры на 7-сегментном ЖК-дисплее с помощью Arduino.
// Определить контакты для каждого сегмента const int segA = 2; const int segB = 3; const int segC = 4; const int segD = 5; const int segE = 6; const int segF = 7; const int segG = 8; void setup() { // Устанавливаем все выводы сегмента как выходы pinMode(segA, OUTPUT); pinMode(segB, ВЫХОД); pinMode(segC, ВЫХОД); pinMode(segD, ВЫХОД); pinMode(segE, ВЫХОД); pinMode(segF, ВЫХОД); pinMode(segG, ВЫХОД); } void Loop() { // Отображение числа 0 digitalWrite(segA, HIGH); digitalWrite(segB, ВЫСОКИЙ); digitalWrite(segC, ВЫСОКИЙ); digitalWrite(segD, ВЫСОКИЙ); digitalWrite(segE, ВЫСОКИЙ); digitalWrite(segF, ВЫСОКИЙ); digitalWrite(segG, LOW); задержка (2000); // Подождите 2 секунды // Отобразим число 1 digitalWrite(segA, LOW); digitalWrite(segB, ВЫСОКИЙ); digitalWrite(segC, ВЫСОКИЙ); digitalWrite(segD, LOW); digitalWrite(segE, LOW); digitalWrite(segF, LOW); digitalWrite(segG, LOW); задержка (2000); // Подождем 2 секунды }
В этом коде мы сначала определяем контакты для каждого сегмента внастраивать()функция. Затем впетля()функции мы включаем и выключаем соответствующие выводы сегмента для отображения разных чисел.задерживать()Функция используется для отображения каждого числа в течение определенного периода времени.
Отображение динамического контента
Чтобы отобразить динамический контент, например счет или отображение прокручиваемого сообщения, вам придется проявить немного больше творчества.
Подсчет
Вот пример счета от 0 до 9 на 7-сегментном ЖК-дисплее:
// Определить контакты для каждого сегмента const int segA = 2; const int segB = 3; const int segC = 4; const int segD = 5; const int segE = 6; const int segF = 7; const int segG = 8; // Массив для хранения шаблонов сегментов для каждой цифры int digitPatterns[10][7] = { {{HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW}, // 0 {LOW, HIGH, HIGH, LOW, LOW, LOW, LOW}, // 1 {HIGH, HIGH, LOW, HIGH, HIGH, LOW, HIGH}, // 2 {HIGH, HIGH, HIGH, HIGH, LOW, LOW, HIGH}, // 3 {LOW, HIGH, HIGH, LOW, LOW, HIGH, HIGH}, // 4 {HIGH, LOW, HIGH, HIGH, LOW, HIGH, HIGH}, // 5 {HIGH, LOW, HIGH, HIGH, HIGH, HIGH, HIGH}, // 6 {HIGH, HIGH, HIGH, LOW, LOW, LOW, LOW}, // 7 {HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH}, // 8 {HIGH, HIGH, HIGH, HIGH, LOW, HIGH, HIGH} // 9 }; void setup() { // Устанавливаем все выводы сегмента как выходы pinMode(segA, OUTPUT); pinMode(segB, ВЫХОД); pinMode(segC, ВЫХОД); pinMode(segD, ВЫХОД); pinMode(segE, ВЫХОД); pinMode(segF, ВЫХОД); pinMode(segG, ВЫХОД); } void Loop() { for (int i = 0; i < 10; i++) { // Отображение текущей цифры digitalWrite(segA, digitPatterns[i][0]); digitalWrite(segB, digitPatterns[i][1]); digitalWrite(segC, digitPatterns[i][2]); digitalWrite(segD, digitPatterns[i][3]); digitalWrite(segE, digitPatterns[i][4]); digitalWrite(segF, digitPatterns[i][5]); digitalWrite(segG, digitPatterns[i][6]); задержка(1000); // Подождем 1 секунду } }
В этом коде мы используем 2D-массивцифровые паттерныдля сохранения шаблонов сегментов для каждой цифры. Затем впетля()функции, мы перебираем числа от 0 до 9 и отображаем каждую цифру в течение 1 секунды.
Прокрутка сообщения
Чтобы отобразить прокручиваемое сообщение, вам потребуется использовать несколько 7-сегментных дисплеев и мультиплексировать их. Мультиплексирование означает быстрое переключение между дисплеями, чтобы казалось, что все они включены одновременно.


Вот общий обзор того, как это сделать:
- Разделите ваше сообщение на отдельные цифры или символы.
- Отображайте по одной цифре на одном дисплее за раз и быстро переключайтесь на следующий дисплей.
- Повторяйте этот процесс непрерывно, чтобы создать эффект прокрутки.
Поиск неисправностей
Если у вас возникнут проблемы, не волнуйтесь! Вот некоторые распространенные проблемы и их решения:
- Сегменты не светятся: проверьте подключения оборудования. Убедитесь, что контакты подключены правильно и что вы используете правильный источник питания.
- Мерцающий дисплей: Это может быть связано с низкой частотой обновления. Попробуйте увеличить скорость мультиплексирования дисплеев.
- Отображаются неправильные цифры: Дважды — проверьте шаблоны сегментов в коде. Убедитесь, что вы подсвечиваете правильные сегменты для каждой цифры.
Заключение
Программирование 7-сегментного ЖК-дисплея для отображения динамического контента — увлекательный и полезный проект. Имея подходящее оборудование, немного знаний в области программирования и некоторые навыки устранения неполадок, вы можете создавать всевозможные классные дисплеи.
Если вы заинтересованы в приобретении 7-сегментных ЖК-дисплеев для своих проектов, мы вам поможем. Мы предлагаем широкий ассортиментЖК-дисплей HTN,ЖК-дисплей ВА, иСТН ЖК-дисплейпараметры. Свяжитесь с нами, чтобы обсудить ваши требования и начать работу над следующим проектом!
Ссылки
- Официальная документация Arduino
- Официальный сайт Raspberry Pi
- Различные онлайн-уроки и форумы по электронике.
