Информационное табло своим руками

Всем привет. Это мой второй пост. И в нем будем собирать своими руками спортивное табло.
Поступила как-то мне задача изготовить информационное табло для отображения результатов игры Дартс.
Естественно первым делом, я пошел в Гугл посмотреть что имеется на рынке. И если в общем случае спортивные табло имеются, к примеру для футбола/хоккея…
image
то для дартс ничего нет. Ну как нет, какая-то контора предлагает изготовление, но ни фоток готового результата, ни цен — нет.
image
При игре в 501 игроки используют мобильное приложение для подсчета результата игрока. Коих большое количество. Ну конечно, это же по сути просто калькулятор — его только ленивый не напишет на том же Андроиде. Однако некоторые приложения помимо счета игры имеют на своем борту и ведение статистики по игрокам. Соответственно задача сводилась к тому, чтобы счет игроков отображаемый в приложении продублировать этом спортивном табло.
image
Мне показали одно из приложений, которым пользуются игроки. Я обратился к разработчику, в братскую Белоруссию, с вопросом, сможет ли он внедрить в свою программу вывод информации на внешнее устройство через BlueTooth. На что он мне ответил, что он сам только-только учится писать приложения на андроиде, и не хочет заморачиваться.
Ну что делать, придется делать самом… Всё сам, своими руками ©
К слову сказать, к программированию на Андроиде я ни разу не приступал.

В голове нарисовалась такая схема.
Имеется телефон/планшет с приложением, имеется табло с микроконтроллером, модулем Блютус, и светодиодными индикаторами.
Первый же вопрос — какие индикаторы использовать? Однозначно высокие (высотой 15 20 см), однозначно светодиодные.

Классические семисегментные?

Нет
Недостатки:
— высокая цена
— неремонтопригодный
— необходима схема управления и питания
— не нашел нужного размера (максимум 5 см)
image

Наборные из сегментов?
Тоже нет, по тем же причинам кроме второй и последней.
image

И тут в результате мозгового штурма прилетает идея сделать цифры из светодиодной ленты на ws2812b — «умных» управляемых светодиодах. «Даааа, точно же!!!», — крикнул я, «Спасибо, Костя.» Гениальнее решения и быть не может.

Преимущества данного выбора:
— дешево (на моем варианте вышло 250 руб за цифру высотой 20 сантиметров),
— можно легко заменить вышедший из строя светодиод (это важно при использовании ws2812b),
— управляется всего по одному проводу от микроконтроллера. Не надо городить схему динамический индикации, сдвиговых регистров, драйвер питания. Лента питается от 5 вольт.
— можно создать цифру любой формы и любого размера.


Ну все схему утвердил: 1.приложение → 2.блютус модуль HC-05 → 3.микроконтроллер (ардуйня, или stm32) → 4.лента ws2812b
Из этой схемы самым сложным (почти невыполнимым) для меня был первый пункт. Со всем остальным я работаю.

Для создания приложений используется среда Android Studiо, которая на моем старом компе очень тяжело работала. (2 ядра, 2 гига, включается запускается минут 5). Я нашел вариант создания простых приложений в онлайн среде Thunkable, которое позволяет программировать в графической среде «блоками». Там накидал простое приложение, настроил блютус. И отобразил на табло нужную информацию.
image
В какой то момент времени я понял, что использовать эту онлайн среду — это не правильно, надо всё-таки освоить Android Studio. Купил новый комп, установил запустил Studiо. Начал конечно же с HelloWorld. Пришлось разбираться с разметками, лэйаутами, классами, явами и прочей фигнёй. Параллельно купил учетку в Гугль Плей заплатив за это 25 долларов.
Ну, а дальше дело времени, осваивать Android и писать код.
Вот как это выглядит в среде разработки Android Studio:
image
Так выглядит процесс разработки для микроконтроллере stm32:
image
Само табло изготовили из куска ламината, на который наклеил собранные цифры, ардуину и блютус модуль. Спереди закрыли оргстеклом. И отдали в тестовую эксплуатацию.
image
Сразу же посыпались замечания и новые хотелки (ну это нормально, так как опытный образец). Нужно было добавить счет легов и указатель на текущего игрока, и по возможности, добавить поле для отображения имен игроков. Счет легов и стрелки были добавлены почти сразу же.
image
А вот для имен игроков пришлось повозиться и параллельно создать сразу второй опытный экземпляр, который сейчас и трудится в дартс-клубе маленького закрытого города N.
image

Бюджет поделки:
лента ws2812b 1300 руб
контроллер stm32 150 руб
блютус HC-05 200 руб
блок питания 5В 250 руб.
ламинат, оргстекло, крепежи, тонировка — из всяких остатков.

ПС. Главный вдохновитель, Заказчик и участник Дартс-клуба через пару недель будет защищать честь России на Чемпионате Мира по Дартс в Лондоне. Пожелаем ему удачи.

© Habrahabr.ru