Калькулятор 7-сегментного индикатора
Просматривайте засветку сегментов, рассчитывайте резисторы и проверяйте параметры мультиплексирования в одном интерфейсе. Деляйтесь готовыми таблицами прошивки для общих катодных или анодных индикаторов за секунды.
Динамический предпросмотр
Профиль мультиплексирования
- Скважность на разряд
- 25%
- Обновление на разряд
- 60 Hz
- Конфигурация
- 4 разрядов @ 240 Hz
Аппаратные параметры
- Рассчитанный резистор
- 161.1 Ω
- Стандартный резистор (E12)
- 150 Ω
- Рассеиваемая мощность
- 52.2 mW
Генератор кода - Arduino
// Arduino 7-Segment Display Code
// Wiring: Common Cathode
// Resistor: 150Ω (1/4W or higher)
const uint8_t SEGMENT_MAP[16] = {
0x3F // 0,
0x06 // 1,
0x5B // 2,
0x4F // 3,
0x66 // 4,
0x6D // 5,
0x7D // 6,
0x07 // 7,
0x7F // 8,
0x6F // 9,
0x77 // A,
0x7C // B,
0x39 // C,
0x5E // D,
0x79 // E,
0x71 // F,
0x3D // G,
0x76 // H,
0x06 // I,
0x1E // J,
0x75 // K,
0x38 // L,
0x55 // M,
0x54 // N,
0x3F // O,
0x73 // P,
0x67 // Q,
0x50 // R,
0x6D // S,
0x78 // T,
0x3E // U,
0x1C // V,
0x2A // W,
0x76 // X,
0x6E // Y,
0x5B // Z,
0x00 // ,
0x40 // -,
0x08 // _,
0x48 // =,
0x63 // *,
0x22 // ",
0x02 // ',
0x63 // °,
0x00 // .,
0x04 // ,,
0x06 // !,
0x53 // ?,
0x52 // /,
0x64 // \,
0x39 // [,
0x0F // ],
0x39 // (,
0x0F // ),
0x61 // <,
0x43 // >,
0x06 // |
};
// Current display value: HELLO
const uint8_t displayDigits[] = {0x76, 0x79, 0x38, 0x38, 0x3F};
void setup() {
// Configure segment pins (A-G, DP) as outputs
// Pins 2-9 for segments A-G and DP
for (int i = 2; i <= 9; i++) {
pinMode(i, OUTPUT);
}
}
void displayDigit(uint8_t pattern) {
for (int i = 0; i < 8; i++) {
digitalWrite(i + 2, pattern & (1 << i));
}
}
void loop() {
// Display each digit in sequence
for (int digit = 0; digit < 5; digit++) {
displayDigit(displayDigits[digit]);
delay(5); // 5ms per digit for multiplexing
}
}Полностью готовый код для выбранной платформы, включая инициализацию и функции отображения.
Вывод массива байтов
const uint8_t digits[] = {0x76, 0x79, 0x38, 0x38, 0x3F};Копируйте напрямую в код микроконтроллера. Каждый байт соответствует сегментной маске одного разряда.
Экспорт и отладка
- ●Массив байтов: 0x76, 0x79, 0x38, 0x38, 0x3F
- ●HEX-маска: 0x3F387976
- ●Двоичная маска: 0b00111111001110000111100101110110
- ●Рекомендуемый резистор: 150Ω (52.2mW)
- ●Логический режим: Общий катод
Требуется действие
- Нажмите «Сгенерировать карту сегментов», чтобы зафиксировать конфигурацию и экспортировать код.
Как использовать калькулятор 7-сегментного индикатора
Получите параметры подключения всего за три шага.
- Выберите вход и тип подключения
Задайте десятичный, HEX или двоичный формат и укажите, используется ли общий анод или катод.
- Настройте параметры мультиплексирования
Укажите количество разрядов, частоту обновления и электрические параметры светодиодов. Приложение предупредит о рисках.
- Сгенерируйте и экспортируйте
Нажмите «Сгенерировать», чтобы зафиксировать конфигурацию, получить маску и передать её команде прошивки.
Кейс: стабилизация промышленного счётчика
Инженер должен модернизировать четырёхразрядный счётчик, сохранив существующий 7-сегментный модуль.
- Индикатор
- Устаревший 4-разрядный общий анод
- Контроллер
- STM32 с таймерными прерываниями
- Проблема
- Мерцание при низкой частоте и перегрев резисторов
- Проверка шестнадцатеричных значений
Инженер вводит HEX-значения, чтобы убедиться, что маски совпадают с отображением старого PLC.
- Регулировка частоты мультиплексирования
Частота увеличена до 320 Гц, обеспечивая >80 Гц на разряд — мерцание исчезает.
- Оптимизация тока
Снижение тока светодиода с 20 мА до 12 мА увеличивает рекомендуемое сопротивление и предотвращает перегрев.
Результат
Счётчик работает стабильно, в безопасных токовых пределах, а массивы прошивки автоматически сгенерированы калькулятором.
FAQ по 7-сегментным индикаторам
Поддерживаются ли нестандартные порядки сегментов?
Текущая версия использует стандартную последовательность A–G. Для своих плат используйте HEX-маску и перепишите сопоставление битов.
Как выбрать частоту обновления?
Рекомендуется ≥60 Гц на разряд. Для 4 разрядов требуется ≥240 Гц суммарно. Предупреждение появится при снижении ниже порога.
Можно ли делиться конфигурациями с коллегами?
Да. Копируйте маски и параметры в документацию или систему контроля версий.
Работает ли с символами за пределами HEX?
В будущем появятся пользовательские библиотеки. Сейчас можно использовать двоичную маску и собственные таблицы.
Совместимо ли с драйверами?
Да. Маска подходит для прямого управления MCU или адаптации под драйверы MAX7219 / TM1637.
Как применять рекомендуемый резистор?
В однорядных индикаторах — один резистор на сегмент. В мультиплексировании — также по одному резистору на сегмент.
Можно ли уменьшить ток светодиода?
Да. Это снижает энергопотребление и нагрев; калькулятор пересчитает сопротивление.
Учитывается ли температурная дерейтинг-кривая?
Предупреждаются только риски тока. Для точного анализа используйте графики дерейтинга из даташита LED.
Есть ли тёмная тема?
Да. Интерфейс наследует общесайтовую тёмную тему, удобную для лабораторий с низкой освещённостью.
Как часто нужно перегенерировать параметры?
При каждом изменении разрядов, частоты или параметров LED. Предупреждения помогут сохранить безопасную конфигурацию.
Ресурсы
- Руководство Arduino по 7-сегментным дисплеям
- Применение драйвера MAX7219
- Описание формата .coe для FPGA