Владельцы домашних и портативных аркадных автоматов часто задаются вопросом: как безопасно и удобно выключить свою «аркану» (аркадный автомат)? В этой статье мы разберём все возможные варианты:
- выключение через программное обеспечение (RetroPie‚ MAME и др.);
- аппаратные методы – кнопка питания‚ реле‚ таймер;
- автоматическое выключение при отсутствии активности;
- советы по защите электроники и продлению срока службы батареи.
Почему правильное выключение важно?
Неправильное отключение может привести к:
- Повреждению файловой системы SD‑карты Raspberry Pi;
- Перегреву компонентов (особенно при работе в закрытом корпусе);
- Сокращению срока службы аккумулятора;
- Потере настроек эмуляторов (MAME‚ RetroPie и др.).
Программные способы выключения
Выключение через RetroPie
RetroPie – самая популярная платформа для аркадных автоматов на базе Raspberry Pi. В ней уже предустановлен скрипт shutdown.
- Подключите клавиатуру (можно USB‑клавиатуру или Bluetooth‑клавиатуру).
- Нажмите
F4– откроется терминал. - Введите команду
sudo shutdown -h nowи нажмите Enter. - Автомат полностью выключится‚ индикаторы погаснут.
Выключение через MAME (внутри RetroPie)
Если вы играете напрямую через MAME‚ можно добавить в ui.cfg пункт «Quit Game»‚ а затем назначить комбинацию клавиш‚ например Ctrl+Alt+Q‚ которая будет вызывать retroarch -s quit → sudo shutdown -h now.
Выключение через графический меню EmulationStation
В EmulationStation есть пункт «Shutdown System» (обычно в нижнем меню «Start»). Выбираете его и подтверждаете «Yes».
Аппаратные способы выключения
Кнопка питания
Самый удобный способ – установить отдельную кнопку питания‚ подключённую к GPIO‑пинам Raspberry Pi.
- Подключите кнопку к пинам
GPIO3 (Pin 5)иGround (Pin 6). Этот пин автоматически инициирует мягкое выключение при замыкании. - В файле
/boot/config.txtдобавьте строкуdtoverlay=gpio-shutdown. - Перезагрузите Pi – теперь короткое нажатие (≈1 сек) выключит систему.
Реле с задержкой
Если автомат работает от сети (220 V)‚ удобно использовать небольшое реле с таймером:
- Подключите реле к контакту «выключения» питания.
- Управляйте им через GPIO‑выход‚ задавая задержку (например‚ 5 сек после завершения работы скрипта).
- В скрипте
/etc/rc.localдобавьте командуsudo shutdown -h now && sleep 5 && gpio -g write 17 0(где 17 – пин управления реле).
Автоматическое отключение по таймеру
Для портативных автоматов удобно использовать модуль Power Management (PMIC) типа AXP209‚ который умеет отключать питание после заданного времени бездействия.
Выключение в «потоке» – как реализовать без кнопки
Отключение при отсутствии ввода
Скрипт‚ работающий в фоне‚ отслеживает события ввода (джойстики‚ кнопки‚ монетный приёмник). Если за n минут нет активности – система плавно выключается.
#!/bin/bash
IDLE_LIMIT=300 # 5 минут
while true; do
idle=$(xprintidle) # возвращает миллисекунды бездействия
if [ $idle -gt $((IDLE_LIMIT*1000)) ]; then
sudo shutdown -h now
break
fi
sleep 30
done
Интеграция с монетным приёмником
Если ваш автомат оснащён монетоприемником‚ настройте его так‚ чтобы при получении сигнала «0 монет» (т.е. после последней игры) он посылал команду выключения через GPIO.
Практический пример: собрать «AdventurePi» с одной кнопкой выключения
В проекте AdventurePi своими руками (часть 1) использовался прочный водонепроницаемый корпус‚ Raspberry Pi‚ дисплей и аркадная панель. Добавим к нему кнопку выключения:
- Купите мембранную кнопку 12 mm (можно взять от старой клавиатуры).
- Подключите её к
GPIO3 (Pin 5)и к земле (Pin 6). - В файле
/boot/config.txtдобавьтеdtoverlay=gpio-shutdown. - Перезапустите Pi – кнопка теперь выключает ваш AdventurePi без необходимости открывать крышку.
Безопасность и рекомендации
- Не отключайте питание напрямую от розетки‚ пока система не завершит выключение.
- Регулярно проверяйте SD‑карту на ошибки (команда
fsck). - Если автомат работает от аккумулятора‚ используйте защищённый контроллер заряда (например‚
PowerBoost 1000C). - Для портативных моделей рекомендуется выключать автомат перед тем‚ как убрать его в сумку – иначе может произойти короткое замыкание.
Часто задаваемые вопросы (FAQ)
Можно ли выключать автомат одним нажатием кнопки «Start»?
Да; В EmulationStation в Settings → Input можно назначить кнопку «Start» как Shutdown. Но рекомендуется оставить отдельную кнопку питания‚ чтобы иметь возможность выключить систему даже в случае зависания.
Что делать‚ если после выключения автомат не включается?
Проверьте:
- Корректность подключения кнопки к GPIO 3 (может быть плохой контакт).
- Работоспособность блока питания (напряжение 5 V‚ минимум 2‚5 A).
- Состояние SD‑карты – возможна коррумпированность файловой системы.
Как отключить автомат‚ когда он стоит в режиме «демо‑режим» (показ слайдшоу игр)?
В конфигурации retroarch.cfg задайте quit_on_idle = true и укажите таймаут в секундах. После истечения таймаута система выполнит sudo shutdown -h now.
Выключение аркадного игрового автомата – простая‚ но важная процедура. Вы можете выбрать любой из описанных способов: от программного выключения через меню RetroPie до аппаратного решения с кнопкой питания и реле. Главное – всегда завершать работу ОС‚ чтобы избежать потери данных и продлить срок службы вашего аркадного «чудо‑устройства».
Помните: правильное выключение – залог долгой и стабильной работы вашего аркадного проекта.