kz ru
Каталог

Проект 17: Одноразрядный 7 Сегментный Индикатор

Необходимое Оборудование
Плата Arduino UNO * 1
Одноразрядный 7 Сегментный Индикатор * 1
Резистор 220 Ом * 8
Макетная Плата * 1
Провода -перемычки
USB - кабель * 1

thumb

Принцип работы

Светодиодный сегментный индикатор - это полупроводниковое светоизлучающее устройство. Его основная единица - светодиод (LED). Светодиодный сегментный индикатор может быть разделен на 7 - сегментный и 8 - сегментный в зависимости от количества сегментов. 8 - сегментный индикатор имеет на один светодиодный блок больше (для отображения десятичной точки), чем 7 - сегментный.
Согласно методу подключения светодиодных блоков, светодиодный сегментный индикатор может быть разделен на индикатор с общим анодом и общим катодом. Индикатор с общим анодом объединяет все аноды светодиодных блоков в один общий анод (COM).
Для индикатора с общим анодом подключите общий анод (COM) к +5В. Когда катодный уровень определенного сегмента низок, сегмент включен; когда катодный уровень определенного сегмента высок, сегмент выключен.
Для индикатора с общим катодом подключите общий катод (COM) к GND. Когда анодный уровень определенного сегмента высок, сегмент включен; когда анодный уровень определенного сегмента низок, сегмент выключен.

thumb

Каждый сегмент индикатора состоит из светодиода. Поэтому при использовании вам также потребуется использовать резистор для ограничения тока. В противном случае светодиод может выйти из строя.
В этом эксперименте мы используем индикатор с общим катодом. Как мы упоминали выше, для индикатора с общим катодом подключите общий катод (COM) к GND. Когда анодный уровень определенного сегмента высок, сегмент включен; когда анодный уровень определенного сегмента низок, сегмент выключен.

Подключение 

 

 

 

Пример Кода

Существует семь сегментов для отображения чисел, один для отображения десятичной точки. Соответствующие сегменты будут включаться при отображении определенных чисел. Например, при отображении числа 1 будут включены сегменты b и c. Мы компилируем подпрограмму для каждого числа и компилируем главную программу для отображения одного числа каждые 2 секунды, циклически отображая числа от 0 до 9. Время отображения каждого числа зависит от времени задержки, чем дольше время задержки, тем дольше время отображения.

//////////////////////////////////////////////////////////////////
// Проект 17: Одноразрядный Светодиодный Сегментный Индикатор


// Установка IO-пинов для каждого сегмента
int a = 7; // установка цифрового пина 7 для сегмента a
int b = 6; // установка цифрового пина 6 для сегмента b
int c = 5; // установка цифрового пина 5 для сегмента c
int d = 10; // установка цифрового пина 10 для сегмента d
int e = 11; // установка цифрового пина 11 для сегмента e
int f = 8; // установка цифрового пина 8 для сегмента f
int g = 9; // установка цифрового пина 9 для сегмента g
int dp = 4; // установка цифрового пина 4 для сегмента dp

void digital_0(void) // отображение числа 0
{
  digitalWrite(a, HIGH);
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, HIGH);
  digitalWrite(f, HIGH);
  digitalWrite(g, LOW);
  digitalWrite(dp, LOW);
}

void digital_1(void) // отображение числа 1
{
  digitalWrite(c, HIGH); // устанавливаем высокий уровень для пина 5, включаем сегмент c
  digitalWrite(b, HIGH); // включаем сегмент b
  for (int j = 7; j <= 11; j++) // выключаем другие сегменты
    digitalWrite(j, LOW);
  digitalWrite(dp, LOW); // выключаем сегмент dp
}

// Аналогичные функции для отображения чисел 2, 3, 4, 5, 6, 7, 8, 9

void setup()
{
  for (int i = 4; i <= 11; i++)
    pinMode(i, OUTPUT); // устанавливаем пины 4-11 как "выход"
}

void loop()
{
  while (1)
  {
    digital_0(); // отображаем число 0
    delay(1000); // ожидаем 1 секунду
    digital_1(); // отображаем число 1
    delay(1000); // ожидаем 1 секунду
    // Аналогично для чисел 2, 3, 4, 5, 6, 7, 8, 9
  }
}
//////////////////////////////////////////////////////////////////

 

Результат Теста
Светодиодный сегментный индикатор будет показывать число от 0 до 9.

Комментарии
Отзывов еще никто не оставлял
Предзаказ
Предзаказ успешно отправлен!
Имя *
Телефон *
Добавить в корзину
Название товара
100 тг
1 шт.
Перейти в корзину
Обратный звонок
Запрос успешно отправлен!
Имя *
Телефон *
Заказ в один клик
С помощью уведомлений о заказе можно не только получать актуальную информацию по заказу, но и иметь быстрый канал связи с магазином