22 декабря 2014 22.12.14 46 27K

Игровая консоль своими руками v1.1

+197
Лучший блог недели
1000 ₽

Скоро Новый год. Многим из нас хочется подарить кому-то (или себе) на этот праздник игровую консоль. Но в последнее время цены на них растут и теперь купить ее стало еще труднее. Поэтому я решил совместить свое увлечение электроникой с желанием сделать консоль своими руками. Делать приставку я не стал, а решил создать портативную игровую систему.
Цитата из википедии:

Портативная игровая система (портативная игровая консоль) — лёгкое, компактное, портативное электронное устройство, предназначенное для того, чтобы играть в видеоигры. От игровых приставок (игровых консолей) такие устройства отличаются компактностью и мобильностью; игровой контроллер, экран и звуковоспроизводящие элементы, как правило, являются здесь частью самого устройства.

Т.к. консоль самодельная, она поддерживает всего одну игру. Это электронная версия всем известной игры «крестики-нолики» Т.к. в основе консоли лежит микроконтроллер, в ней будет как PVP так и PVE режим (специально для тех, у кого нет друзей).

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

Итак, какие инструменты нам понадобятся:

1.

2.

3.

4. Микродрель
Её можно как

так и сделать самому

5.Программатор для PIC микрононтроллеров
Его тоже можно

Но я сделал

Новичкам советую все-таки купить.
6.

7.

Вот большой список деталей, необходимых для схемы:

Микрокотроллер PIC16F628A
Микросхема 74HC164N x 2шт
Резисторы (0.125 Вт):
4.7к х 2 шт
3к х 3 шт
100 ом х 15 шт
10к х 1 шт
Конденсаторы:
100 мк 16 в х 1 шт
0.1 мк х 1 шт
Светодиоды:
L-59EGW или другие двухцветные с общим минусом х 9 шт
Транзистор BC337-40 (КТ3102)
Кнопки 4х ногие х2 шт
Панелька под мк DIP18
Текстолит

Теперь ознакомимся со схемой:

Как вы видите схема сложная, поэтому для ее создания нужен опыт. Тем, кто первый раз держит паяльник в руках, я советую потренироваться на чем-нибудь попроще.
Для схемы понадобится печатная плата. Я подготовил ее в программе Sprint Layout.

Вам ее нужно только распечатать на лазерном принтере на фотобумаге. Причем чем старше принтер, тем лучше. Фотографии этой печатки у меня не осталось, но получится примерно так:

Потом травим плату в растворе хлорного железа до полного растворения открытой меди.
Теперь нужно перенести это изображение на текстолит. Для этого зачищаем его нулевой наждачной бумагой, обезжириваем ацетоном (пойдет жидкость для снятия лака). Потом прикладываем нашу распечатку тонером вниз к текстолиту и 2-3 минуты проглаживаем утюгом. За это время тонер расплавится и прилипнет к текстолиту. Потом несем все это к раковине и аккуратно под струей воды отдираем фотобумагу. Рисунок должен остаться на текстолите. Получится вот так:

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

Затем переворачиваем плату и размечаем отверстия в соответствии с чертежом в Sprint layout.

Потом включаем паяльник и лудим дорожки.

Дальше припаиваем все детали в соответствии с разметкой. Микроконтроллер не впаиваем напрямую, а используем панельку т.к. нам с ним надо еще кое-что сделать. Вот что получится:

Почти готово. Осталось только залить прошивку на контроллер, используя программатор. Т.к. они могут быть разные, то и программы там могут использоваться разные. Поэтому подробнее о том, как прошить мк читайте в инструкции программатора. Теперь вставляем прошитый микроконтроллер в панельку, подключаем батарейки и пробуем. Если какие-то светодиоды загорелись, значит все правильно.
Вообще-то уже можно играть, но без корпуса как-то не торт. Вам бы понравилось играть в такую PS Vit'у?

Думаю, что нет. Поэтому надо сделать корпус. Для начала я сделал его из бумаги. Так удобнее что-то редактировать.

Но бумага слишком хрупкая, нужно что-нибудь более прочное. Пришлось пожертвовать коробкой из-под какого-то диска.

По бумажным заготовкам вырезаем то же самое из этого материала.

В верхней стенке вырезаем отверстия под светодиоды и кнопки.

Начинаем собирать корпус. Сперва склеиваем стенки изолентой.

Затем склеиваем стенки с помощью термоклея.

Поскольку кнопки не достают до верхней стенки корпуса, нужно их удлинить. У себя в куче хлама я нашел 2 такие штуки.

Для красоты их можно перекрасить в черный цвет.

Снаружи для удобства можно приклеить куски того же материала от диска.
В нижнюю стенку встраиваем контейнер для батареек. Для этого вырезаем в ней прямоугольник, соответствующий размерам контейнера. С помощью термоклея крепим контейнер изнутри.

Вырезанный кусок будет его крышкой. Чтобы она открывалась и закрывалась, один конец крышки приклеиваем с обратной стороны изолентой, а к другому приделываем «хвост».

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

Затем в нижнюю стенку вкручиваем по углам 2 шурупа. На них она будет прикручиваться. В остальном корпусе по углам, в которых будут шурупы оставляем по большой капле термоклея. Пока он еще горячий, вставляем нижнюю стенку с шурупами и держим, пока он не остынет. Теперь ее тоже можно откручивать по надобности.

Ну все, теперь собираем все вместе и пробуем.

Теперь все готово. Самое время рассказать об управлении

После включения микроконтроллер переходит в режим игры в котором противником игрока является “электронный интеллект” микроконтроллера. При этом на игровом поле высвечивается символ “+” (плюс) зеленого цвета. Игрок может играть только “крестиками”, которым присвоен красный цвет свечения светодиодов. Микроконтроллер играет “ноликами”, которым соответственно присвоен зеленый цвет свечения светодиодов. При выборе данного режима игры первой ход делает игрок, в следующей партии первый ход за микроконтроллером, затем опять за игроком, таким образом право первого хода передается по очереди. Ход крестиками осуществляется с помощью кнопки SB1, после нажатия которой начинает мигать красным цветом светодиод HL1 с частотой 1Гц, тем самым указывая клетку игрового поля на которую можно сделать ход. При повторном нажатии на кнопку SB1, светодиод HL1 гаснет, и начинает мигать светодиод HL2. При последующих нажатиях поочередно мигают остальные светодиоды поля, после светодиода HL9 снова начинает мигать светодиод HL1. Для того чтобы сделать ход на выбранную клетку необходимо удерживать нажатой кнопку SB1 в течении 1 секунды, после чего светодиод перестанет мигать и будет постоянно гореть красным цветом. После того как микроконтроллер сделает ход, игрок выбирает необходимую клетку как было описано выше и делает ход. Во время выбора клетки игроком, если она занята, то она пропускается, вместо нее мигает следующая свободная клетка.

В случае победы игрока, через секунду после того как сделан последний ход, на игровом поле высвечивется символ “Х” (крестик) красного цвета. Если побеждает микроконтроллер то высвечивается символ “О” (нолик) зеленого цвета. Ничья отображается в виде символа “Н” (Ничья), оранжевого цвета, то есть в каждом светодиоде зажигаются оба кристалла, красный и зеленый. Для начала новой игры необходимо нажать кнопку SB1.

Для переключения режима игры необходимо одновременно удерживать нажатыми кнопки SB1 и SB2 в течении 1 секунды. Переключение возможно после подачи питания, а также после завершения каждой партии в обоих режимах. После перехода в режим игры для двух игроков, на игровом поле высвечивается символ “+” (плюс) красного цвета. Для началы игры необходимо нажать кнопку SB1 или SB2, соответственно первым ходит тот игрок, кто раньше нажмет кнопку. То же правило справедливо для начала любой следующей партии. Здесь также кнопкой SB1 осуществляется ход крестиками, а кнопкой SB2 ход ноликами. Выбор клетки для крестиков описан выше, для ноликов справедливы те же действия, с одной разницей, после нажатия кнопки SB2 начинает мигать светодиод HL9, при следующем нажатии HL8, то есть светодиоды переключаются в обратном направлении.

Если в течении 4 минут не были нажаты кнопки SB1 или SB2, то устройство переходит в режим пониженного энергопотребления, микроконтроллер отключает все светодиоды и переходит в спящий режим. Устройство “просыпается” после нажатия кнопки SB1, и возвращается в прежнее состояние.

Видео с демонстрацией работы я снимал еще до того, как сделал корпус, но там и так все понятно.

 

Итак, консоль готова. пусть по характеристикам (разрешение 3х3, всего онда поддерживаемая игра, частота процессора 4 мгц, зато долгая работа от батареи, затягивающий геймплей, высокий ИИ противника, поддержка мультиплеера) она не дотягивает до современных портативок, зато создана своими руками. Я думаю, что она будет отличным подарком на Новый год.
P.S. если у вас с первого раза не заработает, не огорчайтесь. Даже я, имея большой опыт в электронике, частенько сталкиваюсь с этой проблемой. Идите до конца. Когда-нибудь точно заработает.
P.P.S. если возникнут вопросы, пишите в комментарии или мне в лс. По возможности помогу.
UPD: В комментариях возник вопрос об авторстве. В основе моего устройства лежит схема из журнала «Радио» 2013 №9. Оттуда же и прошивка. Все остальное — мое.

Обновление v1.1
Работа уже закончена, но сегодня я решил кое-что изменить. Т.к. устройство автоматически переходит в спящий режим через 4 мин без активности, выключатель в нем не предусмотрен. Но живущий внутри меня перфекционист не позволил мне это так оставить. Дело в том, что в спящем режиме ток, потребляемый устройством снижается до минимума, но все-таки присутствует, а значит когда-нибудь батарейки все-таки сядут. Поэтому я решил встроить дополнительный выключатель.
У себя в ящике я нашел вот такой:

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

Затем перекусываем один из проводов, идущих от контейнера батарей к плате и припаиваем к ним выключатель. Не забываем об изоляции.

Потом с помощью термоклея закрепляем его в нужном месте так, чтобы он не выпирал из корпуса.

Теперь закручиваем все обратно и еще раз пробуем. На этом изменения завершены.


Лучшие комментарии

Такими темпами и лет через 50, народ будет дома из подручных средств PS4 собирать:)
Такими темпами, только в крестики-нолики скоро будем играть.
Два косаря этому господину, статья полезная.
Возможно когда-нибудь попробую, жаль отец умер, помню как когда я мелкий еще был мы с ним на брусьях выжигали надписи и рисунки, игрушки стругали (Только ими и играл, ибо денег тогда не было всякие игрушки покупать).
Хорошее время было.
А еще через 100 лет малолетки будут ядерные ракеты на Новый год собирать вместо взрыв-пакетов)))
Ни в коем разе не копипапста. Схема да, не моя а с журнала «радио» вроде. Оттуда же и описание управления, которое под спойлером. Все остальное же мое. Если нужны пруфы, то я их предоставлю.
Рукожопства пост — похвально как минимум! :)
Как человек, у которого специальность «Электронные устройства и системы», ставлю тебе огромный плюс
Помню как паяльником папа в 10 лет работать научил, все олово его тогда истратил ))) Спасибо за пост)))
Было такое не раз. Особенно было обидно когда из-за ерунды приходилось менять микрухи рублей за 200.
Кому-то может показаться обычным делом, но я всегда восхищалась людьми, разбирающимися в электронике, и, так, ради интереса, собирающими дома печатные платы — самой с электроникой тяжеловато справиться, бралась за учебники, но как-то без особых успехов. Так что молодец! Удачи тебе!
Парнишка-молодец. Я тоже когда-то такие фигнюшки делал.
Только, ради бога, не читай туалетную литературу типа радиожурналов. Есть куча очень крутых ресурсов (TI.com, например)
1)Схема, как я уже сказал не моя, собственно и прошивка написана не мной. Прошивал программатором ExtraPIC (его фото есть в списке инструментов). На моем компе СОМ порта нет. Пришлось для этого собирать новый из хлама. Поставил на него XP и программу IC PROG. Так и прошил.
2) Пистолет для термоклея у меня сгорел давно, пришлось греть паяльником. Поэтому такие лужи. Да и какая разница, снаружи то не видно.
Жаль, я вот ближе к программисту и мне было бы интересно узнать про AI этой игрушки)
Читай также