Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

DIY Бинго-машина на Arduino: два A4 7-сегментных дисплея на WS2811/WS2812B

Компоненты и материалы

Компонент Количество Примечание
Arduino UNO 1
Перфорированные платы (Peg Board) для корпусов дисплеев 3 2 для 7-сегментников, 1 для табло
Пластиковая разделочная доска (серая) — корпус табло 1
LED-лента WS2811 5м (5050, 3 LED на чип) 1 Для сегментов 7-сегментников (12V)
LED-лента WS2812B 5м (300 LED, 60 LED/м, 5V) 1 Для табло (75 номеров + 24 LED "BINGO")
Аудиокабель (3 провода: 12V, GND, Data) 1 Соединение табло и 7-сегментников
Прозрачная пластиковая доска (фронтали 7-сегментников) 2
Гибкая серая пластиковая доска (крышка табло) 1
Резистор 220 Ом (на линию данных) 2
Конденсатор 100 мкФ (на питание лент) 2
Кнопка большая (моментарная) — "Новый номер" 1 Пин D2
Кнопка малая (моментарная) — "BINGO" 1 Пин D4
Стабилизатор LM7805 (5V, на радиаторе) 1 Питание WS2812B табло от 12V

Инструменты

Обычные инструменты для DIY: паяльник, дрель, ножницы для металла/пластика, мультиметр, термоусадка, клеевой пистолет.

О проекте

Автор (Pierre Pennings, ноябрь 2018) купил дешёвую RGB-ленту WS2811 с пультом и решил сделать крупные 7-сегментные дисплеи формата A4. Каждый сегмент = 3 LED (один чип WS2811). 7 сегментов + точка = 8 адресуемых блоков на цифру. Две цифры = 16 блоков. Управление — одним пином Arduino (D6). Питание ленты WS2811 — 12V (в комплекте был БП).

Дополнительно сделано табло (Scoreboard) на WS2812B (5V) для 75 номеров бинго + слово "BINGO" (подсветка). Табло показывает уже выпавшие номера. Управление тем же пином D6 (параллельно через резисторы 220 Ом).

Этапы изготовления

1. Изготовление 7-сегментных дисплеев

2. Изготовление табло (Scoreboard)

3. Программное обеспечение

Разработка на макетной плате. Использована библиотека Adafruit_NeoPixel. Таблица сегментов для цифр 0-9 (8 сегментов включая DP).

Алгоритм:

  1. Нажатие "New Number" (D2) -> генерация случайного числа 1-75.
  2. Короткое световое шоу (LightShow1).
  3. Число выводится на два 7-сегментника.
  4. Число записывается в массив SCORE[76] (1 = выпало). Если уже выпадало — генерация повторяется.
  5. На табло соответствующий номер зажигается зелёным, новое — красным. Слово BINGO — синим/красным.
  6. Нажатие "BINGO" (D4, удержание 3 сек) -> BingoLightShow, сброс массива, новый раунд.
  7. Выключение питания также сбрасывает раунд.

4. Электроника

Схема в Fritzing: bingo_sketch_66WRdQITE2.fzz.

Код (BINGO_Machine_rev04.ino)

Полный скетч с комментариями (GPL3+). Основные функции:

Массив SEGMENTarray[8][10] задаёт активные сегменты для каждой цифры. Массив color_scheme[] — палитра для LightShow1.

Файлы проекта

Советы по повторению

Производственный процесс

  1. Сборка домашней машины для написания домашних заданий (плоттер-писатель)
  2. Ретро-часы на индикаторах Numitron с Arduino: просто, надёжно, экономно
  3. Сборка вольтметра на Arduino с дисплеем Nokia 5110 — Пошаговое руководство
  4. Сборка точного измерительного колеса на Arduino Nano и вращательном энкодере
  5. Точный монитор качества воздуха на датчике Sharp GP2Y1010AU0F
  6. 1D Pong на Arduino и ленте WS2812: пошаговое руководство
  7. Построение полнофункционального станка с ЧПУ на базе Arduino Nano R3
  8. HID-UPS на Arduino: превращаем «глупый» ИБП в умный USB-устройство
  9. Создание портативного RFID-замка на Arduino — пошаговое руководство
  10. Умная кофемашина на Arduino с Bluetooth-управлением и мониторингом температуры