Часы в стиле старой аркадной видеоигры «Pac-Man» - Своими руками
Своими руками

Часы в стиле старой аркадной видеоигры «Pac-Man»

>

Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Многие помнят забавную видеоигру «Pac-Man». По ее сюжету затем были разработаны другие аналогичные игры, многие посложнее, со сложным сюжетом, но суть игры от этого не меняется – один убегает, дугой догоняет.

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

Корпус часов имеет яркие цвета, они имеют функцию будильника и отлично подойдут в качестве прикроватных часов.
Оснащенные ESP32 с сенсорным экраном, часы имеет очень мало компонентов, и синхронизируют время по Wi-Fi.
Это отличный подарок, который можно собрать или подарить своим друзьям по электронике или ретро-играм!

Инструменты и материалы: -Плата ESP32;-Плата усилителя HW-104;-ILI9325 2,8-дюймовый сенсорный TFT-экран для Arduino UNO с резистивной сенсорной панелью;-Динамик диаметром 40 мм, 8 Ом, 3 Вт;-Прототип печатной платы 53 мм x 80 мм;-Штыревой разъем;
-Резистор 100 Ом 1/4 Вт;
-Провод;-Кабель USB Micro;
Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Шаг первый: об устройстве
Несколько лет назад мастер разработал инструкцию для часов Pacman, которые оказались очень популярными. Однако сборка была сложной, а детали были дорогими, поэтому он решил устройство более доступными. Использование ESP32 дало возможность избавиться от необходимости в модуле RTC, дорогих ЖК-дисплеях и звуковой платы, дает возможность использовать Bluetooth в будущих версиях.
В этом руководстве мастер собрал три варианта сборки устройства.

Шаг второй: пользовательская плата ESP (самостоятельная сборка)
В этом шаге собираем первый вариант платы.
Отметьте необходимые размеры платы прототипа (53 мм x 80 мм) карандашом.
Используя нож и стальную линейку несколько раз прорежьте обе стороны платы. Отломите плату с помощью плоскогубцев.
Отшлифуйте края платы, чтобы удалить заусенцы или закороченные дорожки.
Припаяйте штыревые разъемы для ESP32 и ЖК-экрана.
Возьмите короткие отрезки изолированного провода и подключите каждое соединение между ESP32 и ЖК-дисплеем в соответствии с предоставленной принципиальной схемой.

Подключите провода к входному и выходному правому каналу платы аудиоусилителя HW-104 и подключите к печатной плате в соответствии с принципиальной схемой. Подключите два провода в качестве выхода для динамика 8 Ом, его можно подключить позже.
Затем осторожно нагрейте контакт 5 платы усилителя HW-104 и оловоотсосом уберите припой с платы. Осторожно поднимите штырь и припаяйте к нему провод, затем заизолируйте его и зафиксируйте горячим клеем. Этот вывод используется для отключения звука усилителя, когда он не используется.
Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Шаг третий: плата “на заказ”
Плату можно не изготавливать самостоятельно, а заказать на соответствующем сервисе. Собственно монтаж все равно придется делать самостоятельно.
Файл можно загрузить ниже.
Schematic_ESP32 Retro Pacman Clock V3_2021-11-14.pdf
Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Шаг четвертый: готовая плата
Наконец, готовую смонтированную плату можно заказать здесь, хотя это и вряд ли подойдет посетителям данного сайта.
Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Шаг пятый: 3D-печать
Самая большая часть, которую нужно напечатать имеет размер 130 мм x 75 мм x 48 мм, поэтому этот проект можно распечатать на большинстве 3D-принтеров. Принт состоит из 5 компонентов.
3D-файлы можно найти на Thingiverse.
Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Шаг шестой: программирование
После сборки платы нужно загрузить код.
Есть четыре основных шага для программирования часов.
Подключение ESP32 через USB-порт и загрузка кода
Настройка ESP32 для работы с Wi-Fi роутером
Установка правильного часового пояса
Калибровка сенсорного экрана
Для загрузки кода необходимо установить на ПК Arduino IDE.
Далее нужно скачать zip-файл с необходимыми библиотеками и развернуть этот zip-файл в подкаталог библиотек Arduino IDE. Это избавляет от лишних шагов с библиотеками, поскольку некоторые из них были настроены для ESP32 и указанного экрана.
После установки библиотек нужно загрузить код.

Чтобы часы синхронизировались с правильным временем, сервер NTP опрашивается через Интернет при включении часов. Для этого необходимо добавить имя и пароль пользовательского маршрутизатора Wi-Fi. Код подключается к Интернету только при включении, получает время от сервера времени, а затем отключается до перезагрузки.
В строках 52 и 53 нужно прописать имя и пароль домашней Wi-Fi, чтобы часы могли использовать его для доступа в Интернет.
const char* ssid = "************";
const char* password = "************";
Строка 102 кода содержит конкретную конфигурацию для часового пояс страны пользователя. Здесь нужно определить географическое положение.

Например, мастер проживает в Новой Зеландии и для него строка выглядит так.
const char* TZ_INFO = "NZST-12NZDT-13,M9.4.0/02:00:00,M4.1.0/03:00:00";
Теперь нужно откалибровать экран. В устройстве используется ЖК-дисплей, который был разработан для устройств с питанием от 5 В. ESP32 использует 3,3 В, что сделало работу экрана не совсем корректной.

Для устранения неполадок мастер сделал калибровочный эскиз.
Процедура занимает всего 3 минуты, однако требует, чтобы ваш компьютер был включен, а IDE Arduino открыта, чтобы изменить строки 183 – 196.

а. Загрузите файл “Instructables_ESP32_Pacmanclock__Screen_Calibration_V3” и загрузите его в ESP32.
б. При включении можно увидеть экран калибровки с двенадцатью буквами на экране вместе с некоторыми координатами X и Y, выделенными красным цветом в верхней левой части экрана.
c. Задача состоит в том, чтобы обновить эти двенадцать строк кода координатами X и Y, касаясь каждой буквы пальцем и устанавливая свои значения
Часы в стиле старой аркадной видеоигры «Pac-Man» Показать / Скрыть текстint Ax = 800; int Ay = 2450; // Alarm Hour increment Button
int Bx = 500; int By = 3180; // Alarm Minute increment Button
int Dx = 1600; int Dy = 2170; // Alarm Hour decrement Button
int Ex = 1150; int Ey = 3036; // Alarm Minute decrement Button
int Ix = 616; int Iy = 2600; // Pacman Up int Jx = 1700;
int Jy = 2000; // Pacman Left
int Kx = 940; int Ky = 3400; // Pacman Right int Hx = 1600;
int Hy = 2204; // Pacman Down
int Cx = 1500; int Cy = 2800; // Exit screen int Fx = 2200;
int Fy = 1650; // Alarm Set/Off button and speed button int Lx = 300;
int Ly = 3500; // Alarm Menu button int Gx = 1300;
int Gy = 2500; // Setup Menu and Change Pacman character
d. Лучший способ сделать это – систематически удерживать пальцем букву на экране в течение нескольких секунд. Значения будут немного перемещаться, но нужно дать ему секунду для стабилизации. Затем нужно записать значения X и Y и отредактировать код в среде IDE.
Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Библиотека, используемая для создания звука в ESP32, называется «XT_DAC_Audio.h». В ней используются аудиофайлы, преобразованные в шестнадцатеричные файлы, которые затем сохраняются в файлах заголовков вместе со скетчем для ESP32.
Мастер сохранил два существующих звука, включая тему запуска Pacman, в файле PM [34468] и звук выбора меню в gobble [15970].

Чтобы изменить или заменить их, нужно сделать следующее:
1. Выберите и загрузите свой аудиофайл в формате Wav. Это можно сделать с помощью загрузчика YouTube или конвертера аудиофайлов.
2. Загрузите приложение Audacity на свой компьютер отсюда. Используйте Audacity, чтобы объединить звук в моно-трек.
3. Сократите трек до нужной длины.
4. Измените частоту дискретизации на 8000, используя опцию проекта.
5. Выберите весь звук и выполните повторную дискретизацию в меню дорожек.
6. Экспортируйте файл выбранного аудио в WAV Microsoft, 8-битный файл без знака.
7. Перейдите на https://hexed.it/ и загрузите файл.
8. Щелкните правой кнопкой мыши и выберите все параметры меню.
9. Щелкните правой кнопкой мыши и экспортируйте выбранные байты в виде фрагмента кода.
10. Скопируйте текст из окна в Sound.Data.h
11. Добавьте точку с запятой в конце текста.
12. Правильно назовите файл “unsigned char PROGMEM Force”.
Пример библиотеки автора можно посмотреть здесь.

Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Шаг седьмой: меню
1. Вход в режим настройки
Можно войти в режим настройки, нажав на центр экрана.
2. Изменение персонажа Пакмана на мисс Пакман.
В режиме настройки нажатие и удержание слова “Character” в центре экрана изменит символ Pacman на Ms Pacman.
3. Изменение скорости игры
Скорость анимации персонажей на экране может быть изменена нажатием на “Normal”, “Fast” или “Crazy!!”. При выборе раздастся звуковое подтверждение.
4. Установка будильника
Если нажать кнопку меню «Alarm», можно активировать время, в которое будет срабатывать будильник. Функция сохраняются при нажатии кнопки “Save & Exit”.
Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Часы в стиле старой аркадной видеоигры «Pac-Man»Все готово, а в дальнейшем мастер планирует включить функцию Bluetooth в код, сохранение настроек в памяти, и включение дополнительных аркадных игр, чтобы придать устройству ощущение настоящего ретро.
Часы в стиле старой аркадной видеоигры «Pac-Man»

SitesReady

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.