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

Интерактивная кукла «Игра в кальмара» на Arduino UNO: DIY-проект

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

Компонент Количество Назначение
RGB-светодиод (общий катод) 2 Глаза куклы
Семисегментный дисплей SparkFun (красный, последовательный) 1 Таймер обратного отсчёта
Сдвиговый регистр 74HC165 (Texas Instruments) 1 Управление 4-разрядным индикатором
Символьный LCD 16×2 (с I2C-адаптером) 1 Меню настроек
IR-приёмник 1 Управление пультом
Arduino UNO 1 Основной контроллер
Микросервопривод SG90 1 Поворот головы
PIR-датчик движения 1 Детекция движения игрока
Ультразвуковой дальномер HC-SR04 1 Измерение дистанции (победа/поражение)
MP3-плеер DFRobot DFPlayer Mini 1 Воспроизведение голосовых фраз
Тактильные кнопки (мгновенные) 3 Меню и кнопка старта

Необходимые инструменты

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

О проекте

Полностью функциональная кукла из сериала «Игра в кальмар». Она ведёт игру «Красный свет — зелёный свет»: поворачивает головой, меняет цвет глаз, говорит и определяет победителя с помощью ультразвукового и ИК-датчиков. При проигрыше кукла просто предлагает сыграть снова.

Проект занял 3 недели: 6 дней — 3D-печать, 1 неделя — сборка, 1 неделя — монтаж видео. Все 20 пинов Arduino UNO задействованы — личный рекорд автора.

Интерактивная кукла «Игра в кальмара» на Arduino UNO: DIY-проект

Этапы сборки

1. 3D-печать

Модель взята с Thingiverse, доработана: выемана внутренняя полость, добавлены технологические отверстия под электронику, изменена грудная пластина под сервопривод и ультразвуковой датчик. Использовался цветной филамент для минимизации покраски.

Интерактивная кукла «Игра в кальмара» на Arduino UNO: DIY-проект

2. Покраска

Внутренняя сторона головы покрашена из баллончика (глаза замаскированы), чтобы свечение RGB-LED не проступало через пластик — светят только зрачки.

3. Крепление конечностей

Использованы магниты, впаянные в пластик — для разборной конструкции. При повторной сборке автор рекомендует просто склеить детали: магниты полезны только для компактного хранения. Голова не крепится на этом этапе.

4. Установка глаз

RGB-светодиоды (общий катод — самый длинный вывод) подключены через резисторы 220 Ом на каждый цветной вывод. LED закреплены термоклеем максимально близко к центру глаз с обратной стороны. Провода проложены через шею в корпус.

5. LCD-меню

Использован дисплей с I2C-адаптером — экономит 4 пина (2 вместо 6). При включении выводит «Welcome to the Squid Games!». Корпус дисплея — тонкий (1 мм) 3D-печатный диск, termoформированный под изгиб спины куклы. Крепится на ввинчиваемые гайки.

6. Сервопривод головы

Библиотека Servo.h не использовалась — она конфликтует с Timer1, необходимым для мультиплексирования 4-разрядного индикатора. Серво работает только в двух положениях (0° и 180°), поэтому импульсы формируются вручную в прерывании Timer1 (2000 Гц, период 20 мс): 2 такта HIGH для 0°, 4 такта — для 180°. Серво эпоксидно зафиксировано в грудной пластине.

7. Ультразвуковой датчик

HC-SR04 опрашивается каждые 250 мс. Монтируется в грудной пластине на эпоксидном клее. Два провода: Trig и Echo.

8. IR-приёмник

Скрыт в заческе куклы. Необязателен — автоматический режим игры работает без пульта. Минус: при повороте головы приёмник может оказаться не по линии визирования.

9. Таймер на 4-разрядном индикаторе

Самый labour-intensive узел. Использован сдвиговый регистр 74HC595 для управления сегментами. Обновление — 2 мс на разряд (невидимое мерцание). Индикатор вмонтирован в «пояс» куклы: вырезан прямоугольник дремелем, переходы сглажены эпоксидной шпаклевкой. 74HC595 размещён на прототипном шилде.

10. PIR-датчик движения

Требует 1 минуту прогрева при включении (отсюда минута ожидания перед стартом). Минимальный интервал срабатывания — ~5 с. Чувствительность занижена, но ложные срабатывания остаются. Решение: датчик помещён в 3D-печатный «блиндер» с отверстием 7 мм — сужает поле зрения и скрывает модуль внутри корпуса.

11. Кнопки управления

Пинов не хватило — три кнопки считываются через один аналоговый вход (A0) с резистивным делителем: 1 кОм, 2 кОм, 5 кОм + pull-down 220 Ом. Кнопки установлены на той же пластине, что и LCD.

12. Аудиомодуль DFPlayer Mini

Подключён к аппаратному UART (пины 0/1). Обязательны резисторы 1 кОм на TX/RX — иначе UNO перестанет прошиваться. Используется пин BUSY для ожидания окончания воспроизведения. Модуль на протошields, динамик 8 Ом / 3 Вт приклеен к основанию с отверстиями для звука.

13. Установка Arduino

UNO на платформе с протошields. Все провода подписаны. Платформа крепится на ввинчиваемые гайки в дне куклы.

14. Тестирование и отладка

Программа проверена и рабочая (GitHub), но индивидуальная калибровка датчиков и механики всё равно требуется.

15. Игровая логика

16. Видео

Монтаж занял ~30 часов. Результат: YouTube

Исходный код

Squid Game Doll Sketch (C/C++)

Полный скетч с логикой игры, работой датчиков, серво, дисплеев, DFPlayer и IR-пульта. Использует библиотеки: DFPlayerMini_Fast, FireTimer, IRremote, LiquidCrystal_I2C, SoftwareSerial, SR04, Wire. Таймер1 настроен на 2000 Гц для серво и мультиплексирования индикатора. Машина состояний: WARMUP → WAIT → READY → GREENLIGHT/REDLIGHT → WIN/LOSE → WAIT.

Репозиторий со всеми файлами: GitHub

Схемы подключения

Полная схема распиновки всех компонентов на Arduino UNO:

Интерактивная кукла «Игра в кальмара» на Arduino UNO: DIY-проект

Все файлы проекта: GitHub

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

  1. Создание потрясающей системы Ambilight для монитора на Arduino
  2. Создание классической игры Pong на Arduino UNO с OLED-дисплеем: пошаговый урок
  3. Робот для поиска людей на базе Arduino Uno: пошаговая интеграция датчиков
  4. Умный вольтметр на Arduino и смартфоне — простое DIY-проект
  5. IoT-монитор пульса в реальном времени на Arduino и MAX30100
  6. Веб-сервер на Arduino Uno WiFi: управление LED через браузер
  7. Простой калькулятор на Arduino UNO — базовый проект для начинающих
  8. Измерение расстояния в реальном времени: Ардуино-сонар с визуализацией в Processing
  9. Сборка портативного дисплея на основе эффекта сохранения изображения с Arduino UNO и ATtiny85
  10. Учебный стенд Arduino Mega 2560: сенсоры, моторы, дисплеи и собственная PCB