25 июля 2016

Arduino проект: Индикатор на 8 цифр


Сегодня мы соберем индикатор, на котором можно отобразить восемь десятичных цифр. Почему же именно восемь? Во-первых, так мы сможем увидеть как работают в паре микросхемы 74HC595. Во-вторых, восьми разрядов как раз хватает для отображения одного байта, что может быть полезным во многих других проектах, особенно при передаче данных через Serial.

Благодаря микросхемам 74HC595 мы сможем задействовать лишь 7мь выводов микроконтроллера, а без микросхем нужно было бы использовать 20ть.

Вам понадобится:


Соберите схему согласно картинке:



Установите Arduino IDE.

Подключите плату к USB порту вашего ноутбука.
Используйте этот код для прошивки микроконтроллера. Используя IDE залейте код в плату.
На индикаторе должно отображаться число 12345678.
Если вдруг отображается что-то другое или вообще не видно цифр, проверьте внимательно все проводки и соединения.


Как это работает?

Семисегментный индикатор состоит из сегментов которые обозначены латинскими буквами:

Чтобы включить сегмент нужно отправить высокий уровень напряжения на анод(+) этого сегмента, а общий катод(-) индикатора подключить к минусу источника питания.
Таким образом, отображаемая цифра состоит из сегментов, каждый из которых закодирован в программе вот так:
byte d0 = 0b00000001; //seg A
byte d1 = 0b00000010; //seg F 
byte d2 = 0b00000100; //seg B
byte d3 = 0b00001000; //seg G
byte d4 = 0b00010000; //seg C
byte d5 = 0b00100000; //seg dot
byte d6 = 0b01000000; //seg D
byte d7 = 0b10000000; //seg E
В любой из переменных d0...d7 хранится один байт, записанный побитово (после префикса 0b) так, что каждый бит кодирует включение или выключение одного сегмента индикатора, а комбинация включенных сегментов образует соответствующий символ-цифру которую и видит человек.

Что у нас получилось

Видео:


Фото 1:

Фото 2:

Фото 3:

Автор

© Dmytro Nikandrov