На картинке выше — игровая AVR-консоль. Эта консоль задумывалась как отладочная платформа для создания игр под Arduino+OLED (после первой моей игры gcRogue, есть желание создать еще парочку). Платформа вышла довольно неплохой, и даже претендует на полноценное устройство. Конечно, она не может конкурировать с действующими проектами подобных консолей:
— зато у моей консоли есть одно большое преимущество — ее можно без проблем собрать самому. Для сборки понадобятся всего несколько компонентов и немного времени. Приступим?
Справедливости ради должен отметить, что подобная консолька получится и для проекта arduboy. Только нужны будут Arduino Pro Micro и OLED с SPI — интерфейсом. Это немного дороже и не так компактно, но зато есть много готовых игр под этот проект. Может быть позже сделаю статью и под вариант arduboy.
Нам понадобится:
– макетная плата для основы. Размер 30х70мм. Подойдет любая, но желательно, чтобы она выглядела презентабельно.
– Arduino Pro Mini (ATmega328p, 16MHz)
— дисплей – 0,9’ OLED I2C.
— в качестве источника питания подойдет любой аккумулятор, можно даже взять аккумулятор от старого мобильного телефона. Можно вместо аккумулятора реализовать батарейное питание. В этом случае не нужна будет плата драйвера заряда, но понадобится батарейный отсек.
— для обеспечения правильной зарядки аккумулятора – плата драйвера заряда
— в качестве органов управления – тактовые кнопки (5х5мм – 6шт) и переключатель
— по мелочи – кусочки соединительных проводов, штырьки PLS, элементы крепления
Все перечисленное выше, без проблем можно приобрести и стоимость такого набора будет невысокой.
О конструкции.
Устройство без корпуса на макетной плате выглядит довольно своеобразно, но, с другой стороны, придает проекту изюминку — конструкция демонстрирует всем интересы своего владельца :).
Так как у конструкции нет корпуса, возникают определенные трудности, которые нужно учитывать при сборке:
— Конструкция получается довольно компактной за счет плотного расположения плат одна над другой. В виду этого, нужно следить при сборке за тем, чтобы не было соприкосновений плат между собой (либо оставлять достаточные зазоры, либо изолировать платы между собой диэлектрическим материалом).
— Так как конструкция не имеет корпуса, вся нагрузка при эксплуатации ложится на платы устройства. Соответственно, для плат необходимо предусматривать дополнительные усиливающие элементы для предотвращения их повреждения.
Сборка.
Элементы конструкции соединяются по следующей схеме:
На видео представлен общий процесс сборки и программирования консоли (простите за слегка затянутое видео — хотел ничего не пропустить…).
Кратко последовательность сборки:
1 Первое, с чего необходимо начать – это припаять к Arduino Pro Mini штырьки для программирования. Дальше, кладем Ардуину на макетку и припаиваем к ней прямо через отверстия. Для того чтобы исключить замыкания между макеткой и Ардуиной нужно или подложить изоляцию или оставить небольшой промежуток между платами (на видео я оставил воздушный промежуток).
2 Припаиваем кнопки. Вариант установки кнопок зависит от конструкции самих кнопок и Вашей фантазии. Снизу макетки, согласно схеме, подсоединяем кнопки навесным монтажом (проводками) к соответствующим выводами Ардуины.
3 Припаиваем дисплей. Но перед пайкой подготавливаем провода для подключения дисплея. Провода питания проблем не создадут, а вот сигнальные провода шины I2C придется завести с другой стороны платы (I2C-выводы в Ардуине расположены в центре платы и к макетке их никак не припаять). Далее, устанавливаем дисплей, вплотную к Ардуине (не забывая про зазор между платами) и сзади платы пропаиваем выводы дисплея вместе с сигнальными проводами и проводами питания. Дополнительно закрепляем дисплей на макетной плате, пропаивая его через монтажные отверстия при помощи штырьков PLS.
4 Переходим к аккумулятору. Паяем все соединения аккумулятора, контроллера заряда и переключателя навесным монтажом на макетку. Подпаиваемся к соответствующим выводам питания Ардуины. Для жесткости конструкции, контроллер заряда устанавливаем на штырьки PLS. Сам аккумулятор можно закрепить на макетке либо горячим клеем, либо на двусторонний скотч, либо прихватить хомутиками (я приклеил акриловым клеем).
Сборка окончена. Теперь осталось только записать игру в консоль.
Запись прошивки.
В отличие от большинства плат, Arduino Pro Mini нельзя запрограммировать через обычный USB-шнур — для этого нужен отдельный преобразователь USB-UART. Преобразователь лучше использовать как на картинке ниже (его можно подключать непосредственно к Ардуине), но подойдет и любой другой, только нужно правильно его подключить (смотри схему подключения ниже). Вообще для программирования достаточно сигналов TxD, RxD и «земли» с питанием от преобразователя, но в этом случае при программировании нужно удерживать нажатой кнопку сброса.
После того как подключен преобразователь, запускаем gcManager, обновляем устройства (Update), выбираем в нем проект gcConsole, устройство gcRogue (поймете по картинке, что это то что нужно), номер порта преобразователя и нажимаем иконку программирования. Через некоторое время игра будет записана в микроконтроллер и автоматически запустится. Подробней про работу gcManager читайте в соответствующей статье.
Теперь у Вас есть своя уникальная игровая консоль, собранная своими руками!
Заключение.
По факту использования консоли, скажу, что конструкция вышла довольно удобной и визуально привлекательной (конечно, нужно позаботиться о том, чтобы макетка и все остальные компоненты имели презентабельный вид). Небольшие размеры устройства позволяют его носить с собой в кармане (хотя, в виду угловатости конструкции, карман джинсов не очень хорошо подходит). Ток потребления консоли составляет порядка 30мА, соответственно, для моего аккумулятора 550мАч, время непрерывной работы будет в пределах 550/30=18 часов, что довольно неплохо.
Планирую еще что-то сделать под эту консоль, так что, возможно, будут варианты игр.
Update 28.07.2018
Появился звук
Появилась библиотека для Arduino IDE
Портировал несколько игр с проекта ArduBoy
Об изменениях читаем здесь
Приветствую автора темы! Подскажите пожалуйста, у вас ардуинка под питание 5В или 3.3?
здравствуйте, а можете скинуть рабочую ссылку на архив для этого проекта, а то cgManager не обновляется и ссылка на архивы не рабочая
Very great job with the video as we say» one picture is worth 1000 words»
Отличный проект. После повторения не хватало коробочки. Аккумуляторный отсек выглядел как-то незащищённо. Поэтому состряпал свою полукоробочку только для нижней части под 3D-печать. Может кому-то тоже приглянётся
https://www.thingiverse.com/thing:4701487
Теоретически можно, но это отнимет некоторое количество памяти контроллера для обслуживания файловой системы и файл менеджера — оно того не стоит.
Как вариант, добавить еще один контроллер для обслуживания карты и загрузки прошивок в первый, но опять — это лишнее.
Мне больше нравится вариант, когда ардуина про мини вставляется в консоль как картридж. А сама консоль представляет из себя платку с дисплеем, кнопками и аккумулятором. Одна ардуина — одна игра.
Подскажите, возможно ли подключить модуль- слот для карты памяти и насколько вообще это запаристо?
Так уже пробовал https://www.youtube.com/watch?v=1a9AgbmCuO0
https://habr.com/ru/post/469647/
вот бы еще вашу игру скомпилировать в цвете )
Отлично!
по мотивам вашей консоли уже год совершенствую ) https://hackaday.io/project/164830-espboy-games-iot-stem-for-education-fun
https://www.pinterest.ru/pin/761600986963345040/
Просто так залить HEX не получиться — Arduboy сделал на другом контроллере.
Нужно исходники игр перекомпилировать с другой библиотекой под Arduino pro mini (Nano).
Я несколько игр пересобрал от ардубоя (есть в gcManager) — как займусь своей игрой еще игр пересоберу.
https://youtu.be/IoN5fhvhjx4 тут сайт с той игрой что я хочу,
а тут с обьяснениями но не на русском((
https://youtu.be/M2Fb3VHpHeM
привет. звук в играх есть, просто в самой игре надо его включать, кстати есть ссылка от ютубера, он из америки вроде), так вот на сайте что он скинул просто уйма игр и как раз там есть моя (так сказать любимая) игра. скачать то файлы не проблема. но вот как эти игры скидевать я ума не прилажу. я думаю что, найти файл hex в этих играх и залить в ардуино через одну из твоих программ про которые ты писал что они могут залить игру если есть проблемы с твоей стандартной программой.? что скажешь?