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

Fri 25 September 2015

None

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

Решил делать дисплей на очень ярких семисегментниках BL-S56A-11UR с возможностью подключать до 10-ти разрядов. В качестве сдвиговых регистров использовались классические 74HC595D. Хорошего в них цена + возможность передачи битов данных на следующий сдвиговый регистр. То есть отобрав у микроконтроллера всего 3 ноги, мы сможем отобразить на дисплее 10-тизначное число.

В общем-то на этом можно было закончить рассказ, разбавив его исходниками, но есть пара положительных особенностей реализации и мелких косячков, о которых хочу упомянуть.

При проектировании в учёт было взято то, что плата может быть распилена на части (мало кому реально нужны 10 разрядов), и эти части должны остаться в рабочем состоянии. Для этого сделаны, помимо основных ламелей для подключения дисплея, дополнительные, которые после отпиливания левой части платы, станут основными. Пикча для понимания:

None

Также в учёт было взято то, что после отрезания платы, нужно будет как-то крепить её. Слева на картинке видно отверстия под винты M3. Аналогичные есть и с другой стороны. Но что, если у вас используется только кусок платы, а не вся целиком.. Для этого была предусмотрена возможность рассверлить отверстия под винты прямо в бывших pad'ах ног семисегментника, чтобы они располагались симетрично "заводским" отверстиям.

None

Расстояния A и B на картинке одинаковы и крепёжные отверстия выравнены по вертикали с pad'ами дисплеев. Значит отпилив плату как показано на картинке и рассверлив левое отверстие, относящееся к "B", мы сможем затем за него крепить дисплей. Понятно, что на это уйдёт один разряд.

При сборке выяснилось, что отверстия под ноги индикаторов маловаты (проходят в притирку), а также что расстояния между 5-ю ногами, выстроенными в ряд, неправильное О_о Посмотрел даташит - 100 mil, посмотрел свой проект - 100 mil, даже померил штангенциркулем - 100 mil! А ноги входят "врастопырку". Это мой камень в огород BetLux Electronix. Хотя, конечно, если б я сделал отверстия не в притирку, думаю, ноги вошли бы не выгибаясь (BetLux Electronix кидает камень в ответ). Но это не сильно беспокоит.

Вот, пожалуй, и всё. Ниже будет пара картинок, фоток и ссылка на проект. Также чуть позже постараюсь выложить тут видео готового устройства, где этот дисплей активно используется.

Печатная плата:

None

Токоограничивающие резисторы установлены прямо под индикаторами (там для этого куча места):

None

Отрезанная и распаянная плата:

None

None

Материалы