Рубрики
Проекты на ESP8266

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

В настоящее время семисегментные индикаторы (их еще называют семисегментные дисплеи – Seven Segment Display) находят широкое применение для отображения алфавитно-цифровой информации в различных электронных проектах. В данной статье мы рассмотрим подключение подобного индикатора к плате NodeMCU ESP8266 и будем последовательно отображать на нем цифры от ‘0’ до ‘9’ и буквы от ‘a’ до ‘f’.

Ранее на нашем сайте мы рассматривали применение семисегментных индикаторов в следующих проектах:

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

  1. NodeMCU ESP8266 (купить на AliExpress).
  2. Семисегментный индикатор с общим катодом (купить на AliExpress).
  3. Резистор 100 Ом (купить на AliExpress).
  4. Макетная плата.
  5. Соединительные провода.

Общие сведения о семисегментных индикаторах

Семисегментные индикаторы (Seven Segment Displays, SSD) позволяют отображать цифры и буквы на своем экране и находят применение в калькуляторах, цифровых часах и т.п. Они состоят из сегментов семи светодиодов, упорядоченных в форме цифры “8”. Каждый такой сегмент подключен к своему контакту, которые имеют обозначение ‘a’, ‘b’, ‘c’, ‘d’, ‘e’ и ‘f’. Также есть и общая точка, которая подключена к контакту ‘dp’. Внешний вид семисегментного индикатора показан на следующем рисунке.

На следующем рисунке показано физическое соответствие сегментов индикатора и его контактов.

Семисегментные индикаторы бывают двух типов: с общим катодом (Common Cathode) и общим анодом (Common Anode). Распиновка семисегментных индикаторов этих двух типов показана на следующих рисунках.

Более подробно принципы работы с семисегментным индикатором вы можете изучить в следующих статьях на нашем сайте:

Схема проекта

Схема подключения к NodeMCU ESP8266 семисегментного индикатора представлена на следующем рисунке.

Подключите контакт GND платы NodeMCU ESP8266 к отрицательной шине макетной платы, а ее контакт Vin – к положительной шине макетной платы. Подключите контакты D8, D7, D6, D5, D4, D3, D2 и D1 платы NodeMCU ESP8266 к контактам g’, ‘f’, ‘a’, ‘b’, ‘c’, ‘dp’, ‘e’ и ‘d’ семисегментного индикатора соответственно. Соедините общий контакт семисегментного индикатора с отрицательной шиной макетной платы через резистор 100 Ом (для ограничения тока – чтобы не повредить индикатор).

Плата NodeMCU ESP8266 в нашем проекте получает питание через USB кабель, подключенный к компьютеру. Напряжение 3.3V формируется внутренним регулятором платы – оно используется для питания семисегментного индикатора через контакт ‘Vin’.

Объяснение программы для NodeMCU ESP8266

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Программировать NodeMCU ESP8266 мы будем с помощью Arduino IDE. Контакты ввода/вывода общего назначения (GPIO pins) платы NodeMCU ESP8266 подключены к соответствующим сегментам индикатора. Когда нам необходимо будет зажечь какой-нибудь сегмент индикатора, мы будем подавать положительное напряжение на его контакт.

Перед написанием кода программы убедитесь в том, что в вашу Arduino IDE установлена библиотека “ESP8266”.

Первым делом в коде программы объявите контакты семисегментного индикатора (A, B, C и т.д.) как константы целого типа (“const” “int” type) и назначьте их контактам GPIO платы NodeMCU ESP8266. В функции void setup() задайте режимы работы этих контактов на вывод данных.

В функции “void loop()” мы будем вызывать различные функции для отображения различных цифр и символов на семисегментном индикаторе с интервалом 1 секунда.

Далее в коде каждой подобной функции укажем на какие контакты индикатора нужно подавать уровень HIGH, а на какие – уровень LOW, для отображения необходимого нам символа. К примеру, код такой функции для отображения нуля на индикаторе будет выглядеть следующим образом.

Тестирование работы проекта

Если код программы не загружается в вашу плату NodeMCU попробуйте отключить контакт D8 платы на время загрузки программы. Во время этой операции не нужно вносить в код программы какие либо изменения.

После загрузки кода программы в плату на семисегментном индикаторе должны начать показываться цифры от “0” до “9”, после чего начнут показываться буквы от “A” до “F”, затем снова цифры начиная с “0” и т.д.

На следующем рисунке показан пример отображения буквы “b” на семисегментном индикаторе.

Исходный код программы (скетча)

Видео, демонстрирующее работу проекта

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

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