Перейти к содержанию

7 сегментный индикатор Ардуино подключение

Семисегментный индикатор Ардуино подключение

Одноразрядный семисегментный индикатор Arduino можно подключить к плате с помощью макетной платы, главное — знать распиновку модуля для управления сегментами от микроконтроллера. Рассмотрим в этой статье, как подключить 7-сегментный индикатор к Arduino Uno и составим простую программу с таймером, будем управлять светодиодным индикатором 5161as непосредственно с платы Ардуино и с помощью тактовой кнопки.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • 7-сегментный дисплей 5161
  • резисторы
  • тактовая кнопка
  • макетная плата
  • коннекторы

Дополнительные материалы на эту тему:

  1. Четырехразрядный семисегментный индикатор
  2. Как подключить сдвиговый регистр к Ардуино
  3. Как подключить модуль TM1637 к Ардуино Уно

На рисунке показана распиновка одноразрядного 7-сегментного дисплея с общим катодом (минус) и общим анодом (минус). Модуль представляет собой небольшой светодиодный индикатор, который содержит семь светодиодов (отсюда и название индикатора) и восьмой светодиод в форме точки. Включая светодиоды модуля в разной последовательности от микроконтроллера, можно выводить различные числа на 7-сегментном индикаторе.

7 сегментный индикатор распиновка, характеристики

Семисегментный индикатор распиновка, характеристики

Характеристики семисегментный индикатор

  • Напряжение питания: от 3 В до 5 В
  • Диапазон рабочих температур: от -40°C до +85°C

Обратите внимание, что у этого модуля нет встроенных резисторов, поэтому для подключения светодиодов используйте внешние резисторы. Если вам непонятна распиновка семисегментного дисплея с общим анодом, вы можете экспериментально установить распиновку, подключая питание к разным контактам. При неправильном подключении ничего не произойдет, но без резистора светодиоды модуля перегорят.

Как подключить семисегментный индикатор к Ардуино

Как подключить семисегментный индикатор Ардуино

Чтобы использовать модуль 5161as или hdsp 7503 без сдвигового регистра 74hc595, нам потребуется задействовать большое количество выводов на Arduino Uno. В первом примере мы просто будем поочередно включать и отключать светодиоды для обозначения различных чисел на дисплее. Соберите схему с индикатором, как показано на изображении выше, и загрузите в микроконтроллер следующий пример программы.

Скетч управление семисегментным индикатором


#define A  8
#define B  7
#define C  6
#define D  5
#define E  4
#define F  3
#define G  2

void setup() {
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  pinMode(E, OUTPUT);
  pinMode(F, OUTPUT);
  pinMode(G, OUTPUT);
}

void loop() {
  digitalWrite(A, LOW);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, LOW);
  digitalWrite(E, LOW);
  digitalWrite(F, LOW);
  digitalWrite(G, LOW);
  delay(1000);
 
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, LOW);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, LOW);
  digitalWrite(G, HIGH);
  delay(1000);
 
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, LOW);
  digitalWrite(F, LOW);
  digitalWrite(G, HIGH);
  delay(1000);
}

Подключение семисегментного индикатора к Ардуино

Подключение семисегментного индикатора Ардуино

В следующем примере цифры на дисплее 7-сегментного индикатора изменяются только при нажатии кнопки. При достижении цифры 3 таймер сбрасывается на нуль и ждет повторного нажатия кнопки. Это довольно простые программы для Arduino и 7-сегментного дисплея, для более сложных и интересных программ на базе микроконтроллеров Ардуино необходимо использовать сдвиговый регистр 74hc595 для Arduino Uno или модуль tm1637.

Скетч управление 7-сегментным дисплеем Ардуино

#define A  8
#define B  7
#define C  6
#define D  5
#define E  4
#define F  3
#define G  2
#define BUTTON  12

byte v = 0;

void setup() {
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  pinMode(E, OUTPUT);
  pinMode(F, OUTPUT);
  pinMode(G, OUTPUT);
  pinMode(BUTTON, INPUT);
}

void loop() {
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, HIGH);
  digitalWrite(G, LOW);
  delay(500);
  if (digitalRead(BUTTON) == HIGH) { v = 1; }

  while (v == 1) {
    digitalWrite(A, LOW);
    digitalWrite(B, HIGH);
    digitalWrite(C, HIGH);
    digitalWrite(D, LOW);
    digitalWrite(E, LOW);
    digitalWrite(F, LOW);
    digitalWrite(G, LOW);
    delay(500);
    if (digitalRead(BUTTON) == HIGH) { v = 2; }
   }
 
  while (v == 2) {
    digitalWrite(A, HIGH);
    digitalWrite(B, HIGH);
    digitalWrite(C, LOW);
    digitalWrite(D, HIGH);
    digitalWrite(E, HIGH);
    digitalWrite(F, LOW);
    digitalWrite(G, HIGH);
    delay(500);
    if (digitalRead(BUTTON) == HIGH) { v = 3; }
  }
 
  while (v == 3) {
    digitalWrite(A, HIGH);
    digitalWrite(B, HIGH);
    digitalWrite(C, HIGH);
    digitalWrite(D, HIGH);
    digitalWrite(E, LOW);
    digitalWrite(F, LOW);
    digitalWrite(G, HIGH);
    delay(500);
    if (digitalRead(BUTTON) == HIGH) { v = 0; }
  }
}

Заключение. Мы ограничились кратким обзором модуля и его применением с платой Ардуино. Используя несколько панелей или четырехзначный индикатор tm1637, вы уже можете сделать полноценный таймер на Arduino или часы реального времени. Мы разместили схемы и программы этих проектов на нашем сайте в разделе Проекты на Ардуино для начинающих, где каждый сможет найти проект по своему вкусу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

newzaym
➜