В мире микроконтроллеров Arduino UNO является одним из самых популярных и доступных устройств для создания различных электронных проектов. Однако, чтобы максимально раскрыть его потенциал, иногда требуется подключение различных дополнительных модулей. В этой статье мы рассмотрим, как подключить 4-х разрядный 7-ми сегментный индикатор к Arduino UNO и создать простой отображатель чисел.
4-х разрядный 7-ми сегментный индикатор – это электронное устройство, представляющее из себя дисплей с четырьмя отдельными 7-ми сегментными индикаторами. Каждый индикатор может отображать цифры от 0 до 9, а также некоторые буквы. Индикатор предназначен для простого вывода небольшого количества информации без использования сложных библиотек. Дисплей разведён так, что его подключение потребует минимальное количество портов ввода-вывода. Это достигается мультиплексированием сегментов дисплея, но немного усложняет управление, добавляя необходимость использования динамической индикации. Мультиплексирование образовано соединением анодов и объединением катодов одинаковых сегментов, то есть данный дисплей имеет тип «общий анод».
Arduino UNO – это популярная плата разработки, основанная на микроконтроллере ATMega328P. Она обладает множеством цифровых и аналоговых пинов, что делает ее идеальным выбором для подключения различных датчиков и модулей. Arduino UNO проста в использовании и подходит как для начинающих, так и для опытных разработчиков.
Схема подключения
Для подключения 4-х разрядного 7-ми сегментного индикатора к Arduino UNO, выполните следующую схему:
Пин 7-сегментного индикатора | Пин Arduino UNO |
---|---|
A | 12 |
B | 11 |
C | 10 |
D | 9 |
E | 8 |
F | 7 |
G | 6 |
DP (точка) | 5 |
COM1 | A3 |
COM2 | A4 |
COM3 | A5 |
COM4 | A2 |
Библиотеки
Для работы с 4-х разрядным 7-ми сегментным индикатором на Arduino не требуются специальные библиотеки. Достаточно использовать стандартные функции Arduino для управления индикатором.
Пример кода
Ниже приведен пример кода, который демонстрирует, как можно управлять индикатором без использования дополнительных библиотек:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
// Определение пинов для подключения к 7-ми сегментному индикатору const int segmentPins[] = {12, 11, 10, 9, 8, 7, 6}; const int digitPins[] = {A3, A4, A5, A2}; // Определение символов для каждой цифры (a, b, c, d, e, f, g) const byte digits[][7] = { {1, 1, 1, 1, 1, 1, 0}, // 0 {0, 1, 1, 0, 0, 0, 0}, // 1 {1, 1, 0, 1, 1, 0, 1}, // 2 {1, 1, 1, 1, 0, 0, 1}, // 3 {0, 1, 1, 0, 0, 1, 1}, // 4 {1, 0, 1, 1, 0, 1, 1}, // 5 {1, 0, 1, 1, 1, 1, 1}, // 6 {1, 1, 1, 0, 0, 0, 0}, // 7 {1, 1, 1, 1, 1, 1, 1}, // 8 {1, 1, 1, 1, 0, 1, 1} // 9 }; void setup() { // Настройка пинов сегментов и разрядов как выходов for (int i = 0; i < 7; i++) { pinMode(segmentPins[i], OUTPUT); } for (int i = 0; i < 4; i++) { pinMode(digitPins[i], OUTPUT); } } void loop() { // Отображение числа "1234" на индикаторе displayNumber(1234); delay(1000); } void displayNumber(int number) { for (int digit = 3; digit >= 0; digit--) { // Включение нужного разряда for (int i = 0; i < 4; i++) { if (i == digit) { digitalWrite(digitPins[i], LOW); // Включаем разряд } else { digitalWrite(digitPins[i], HIGH); // Выключаем остальные разряды } } // Отображение соответствующей цифры на сегментах for (int segment = 0; segment < 7; segment++) { if (digits[number % 10][segment]) { digitalWrite(segmentPins[segment], HIGH); // Включаем сегмент } else { digitalWrite(segmentPins[segment], LOW); // Выключаем сегмент } } // Сдвигаем число вправо для следующей цифры number /= 10; // Задержка для отображения цифры delay(5); // Можно увеличить или уменьшить для настройки яркости } } |
Этот код будет отображать число “1234” на 4-х разрядном 7-ми сегментном индикаторе. Вы можете настроить код для отображения любых чисел, изменяя аргумент функции displayNumber()
.
Теперь вы знаете, как подключить 4-х разрядный 7-ми сегментный индикатор к Arduino UNO и управлять им. Это отличный способ создать отображатель чисел для различных проектов, будь то счетчики, таймеры или другие приложения. Надеемся, что эта статья поможет вам в ваших электронных экспериментах!