Оглавление:
- Шаг 1: чехол для печати
- Шаг 2: Сборка корпуса
- Шаг 3: Схема
- Шаг 4: периферийная схема
- Шаг 5: Программирование
- Шаг 6. Дополнительная док-станция
- Шаг 7: Результаты
Видео: Самодельная игровая консоль - «NinTIMdo RP»: 7 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Ссылка на веб-страницу с более подробными объяснениями, списком деталей и файлами
timlindquist.me
Этот проект заключался в создании портативной игровой системы, которая также могла бы использоваться как портативный компьютер. Целью было создать консоль, которая была бы функциональна и эстетична.
Список деталей:
docs.google.com/spreadsheets/d/1Ay6-aW4nAt…
Шаг 1: чехол для печати
Чтобы распечатать устройство, загрузите файлы моей 3D-модели и отправьте их на свой 3D-принтер. Я использовал принтер Prusa i3 Mk2 с черной пластиковой нитью. Качество печати оказалось лучшим при среднем разрешении. Обязательно добавьте конструкционный материал под устройство (без него ручки для рук будут выглядеть плохо). Задние части были отпечатаны заподлицо с диском. Передние части были напечатаны так, чтобы лицевая сторона была заподлицо с опорным диском. Если бы я напечатал другой футляр, я бы хотел использовать новый цвет, например атомно-фиолетовый, чтобы показать внутренности. будут собраны после печати. Однако, если ваша кровать достаточно велика, чтобы ее можно было использовать как единое целое, распечатайте переднюю и заднюю пластины как единое целое и избегайте боли, связанной с их соединением по частям.
Файлы модели:
github.com/timlindquist/Nintimdo-RP_3D_mod…
Шаг 2: Сборка корпуса
Для сборки сначала соедините переднюю правую и левую части, вставив металлический дюбель в установочные отверстия. Затем нанесите суперклей на стыки и скрепите половинки. Повторите процесс для нижнего правого и левого бэкапов. После этого у вас должна остаться собранная передняя и задняя половинки. Пришло время прикрепить 5 металлических стоек для соединения передней и задней пластин. Самый простой способ сделать это - сначала подогнать стойки до нужной длины. Глубина 13 мм сзади Глубина 5 мм спереди. Так что сделайте стойки 18 мм или чуть меньше. Я сделал это, поместив более длинную стойку в тиски и используя болгарку, чтобы уменьшить размер. Обязательно шлифуйте только одну сторону, потому что вам понадобятся резьбы с другой. После того, как вы получите нужную длину, приклейте все боковые стороны кофемолки к лицевой стороне, используя обычный клей гориллы, и дайте ему высохнуть. Убедитесь, что все они стоят прямо во время этого процесса. После высыхания соскребите превосходный вспенившийся клей, чтобы лица могли быть заподлицо при соединении. Теперь посмотрим, сможете ли вы вставить заднюю пластину в стойки, чтобы соединиться с передней панелью. Закрутите вместе заднюю пластину для фиксации. Приклейте экран, выровняв раму дуэльной трубкой Gorilla Epoxy. Я слишком много надел, когда это сделал, и это вылилось на экран. К счастью, это стирается! Зажмите и дайте высохнуть на некоторое время, затем выровняйте заднюю сторону обычным клеем Gorilla.
** Примечание: старайтесь не наносить тонкий клей CA (суперклей) на внешнюю поверхность, так как он «сожжет» PLA и оставит белый цвет.
Шаг 3: Схема
Схема кнопки:
Захват всех нажатий кнопок осуществляется с помощью Teensy ++ 2.0. Цифровые контакты на микроконтроллере используются для любых двоичных кнопок. Аналоговые контакты используются для кнопок, которые имеют несколько состояний, таких как джойстики. Чтобы подключить цифровые контакты, просто подключите цифровой контакт к переключателю, другой конец переключателя должен быть заземлен. Когда кнопка нажата, она опускает высоковольтный вывод, чтобы контроллер мог его обнаружить. Вам не нужно беспокоиться о резисторах, поскольку они включены в плату Teensy. Чтобы подключить аналоговые контакты, вам нужно будет смещать аналоговое устройство с высоким и низким напряжением и считывать уровень напряжения в этом диапазоне на аналоговом контакте. Для джойстиков есть 3 входа для каждой оси. Подайте 5 В на один из контактов, GND на другой и линию считывания напряжения на последний. Убедитесь, что подключили его правильно, иначе он не будет работать (используйте мультиметр, чтобы проверить, изменяется ли выходное напряжение на правильном контакте). По сути, джойстик представляет собой переменный резистор, который работает как делитель напряжения. Выходное напряжение на считывающем выводе будет варьироваться от 0 до 5 В в зависимости от положения джойстиков. (Обычно смещение 5 В и GND находятся на внешних входных контактах джойстика, а средний будет вашим контактом считывания переменного напряжения. Если 5 В и GND отличаются от моих, ваши элементы управления будут инвертированы, это можно исправить в программном обеспечении или перемонтировать).
Схема питания:
Трехэлементный аккумулятор Anker обеспечивает питание всего устройства. Чтобы включить / выключить устройство, выход регулятора батареи подключается к переключателю, а затем к Raspberry Pi. Поскольку устройство может потреблять до 2 А, простой тумблер на 250 мА не может справиться с текущими требованиями. Вместо этого вы можете использовать переключатель для управления напряжением затвора на транзисторе PMOS, который выполняет функцию переключателя. Подключите 5 В батареи к истоку транзистора PMOS и переключателю. Другой конец переключателя подключается к затвору транзистора PMOS и к резистору 10 кОм, подключенному к GND (когда переключатель разомкнут, чтобы предотвратить смещение затвора, он связывает его с GND через резистор). Сток подключен к входу 5 В на Raspberry Pi вместе с землей. Чтобы зарядить аккумулятор, просто подключите разъемную плату micro-USB к правильным контактам для зарядки (расширяет вход до корпуса). Я спрятал этот переключатель в воздухозаборнике в задней части устройства. Первоначально я планировал вместо этого включить и выключить устройство кнопкой батареи, удерживая ее в течение определенного времени, к сожалению, у меня закончилось место, и мне пришлось выполнить простую реализацию. Эта альтернативная конструкция показана на схеме ниже.
Аудио схема:
Что касается звука, я хотел, чтобы звук естественным образом воспроизводился из динамиков (если он не отключен) и перенаправлялся в наушники, если они подключены. К счастью, многие из гнездовых разъемов для наушников 3,5 мм механически способны на это. Когда вставляется вилка, провода динамика изгибаются и образуют разрыв цепи, предотвращая попадание сигнала в динамики. Поскольку громкоговорители имеют большую нагрузку, аудиосигнал должен быть усилен, чтобы его можно было услышать. Это делается с помощью стереофонического усилителя класса D, который я нашел на adafruit. Просто подключите усилитель с помощью напряжения 5 В и заземления. У нас нет дифференциальных аудиовходов, поэтому подключите левый и правый динамики к положительным клеммам, а отрицательные клеммы - к GND. Усиление регулируется перемычкой. Я установил максимальное усиление и изменяю амплитуду выходных аудиосигналов с помощью программного обеспечения для регулировки громкости. Чтобы отключить звук устройства, у меня есть транзистор NMOS, управляющий смещением 5 В. Этот затвор транзисторов NMOS контролируется Teensy. У меня проблема в том, что во внешних динамиках постоянно присутствует высокочастотный шум. Я проанализирую это на осциллографе, возможно, это происходит из-за смещения 5 В из-за переключения какого-то регулятора на батарее, или линии могут где-то собирать RF. Кроме того, обязательно скручивайте правую и левую линии, чтобы минимизировать электромагнитные помехи (EMI).
Шаг 4: периферийная схема
Эта схема включает в себя крепления USB и светодиодный индикатор. Закажите плату по моей ссылке и разрежьте пополам по пунктирной линии с помощью ленточной пилы. Со стороны USB все припаяны к плате два женских USB-порта. На стороне светодиода припаиваем последовательно 5 светодиодов и 5 резисторов. 5V, GND, D +, D-можно расширить с помощью проводов от распаянных USB Raspberry PI до печатной платы. Печатную плату светодиода можно разместить так, чтобы свет проходил через отверстия в верхней части корпуса. Подключите 5 выходов PWM Teensy к светодиодам вместе с GND. Изменяя рабочий цикл, вы можете изменять яркость светодиодов.
Покупка печатной платы:
Шаг 5: Программирование
Подросток:
Если вы подключили его точно так же, как я, вы можете просто использовать код, который я предоставил на Github. Тем не менее, я бы порекомендовал написать его самостоятельно, поскольку вы лучше поймете систему и сможете легко манипулировать и настраивать ее по своему вкусу. Программирование очень простое, оно сводится к написанию нескольких операторов if, чтобы проверить, были ли нажаты ваши кнопки. Полезный набор инструкций от PJRC. Вы можете использовать Arduino IDE как для написания кода, так и для загрузки в Teensy.
КОД:
github.com/timlindquist/Nintimdo-RP
Цифровые кнопки: в этом примере показано, как я проверяю, был ли нажат цифровой контакт 20, а затем выводил правильную команду последовательного джойстика. Вы можете выбрать для кнопки любое значение от 1 до 32, поскольку Retropie в любом случае выполняет настройку сопоставления контроллера в начале. Joystick.button (кнопки: 1-32, нажатие = 1 отпущено = 0)
Аналоговые кнопки:
В этом примере правый вертикальный джойстик подключен к аналоговому выводу 41. Функция analogRead (вывод) принимает уровень напряжения от 0 до 5 В и возвращает значение от 0 до 1023. Идеальное центральное положение соответствует 2,5 В или 512, однако это не относилось к моему аналоговому джойстику, поэтому необходимо было произвести настройку. Это было сделано путем переназначения, показанного ниже. После этого мне нужно было проверить, не превышены ли границы от 0 до 1023. Наконец, команда аналогового джойстика была отправлена по последовательному каналу, чтобы быть аналоговой кнопкой Z с помощью Joystick. Z (значение от 0 до 1023).
Шаг 6. Дополнительная док-станция
Док:
Эта сборка была бы неполной без док-станции для зарядки и простого подключения к телевизору, поэтому я разработал ее на рисунках ниже. 3D-модели доступны вместе с остальными в моем пакете Github.
Модели:
github.com/timlindquist/Nintimdo-RP_3D_mod…
Шаг 7: Результаты
Оглядываясь назад, я хотел бы сделать порт HDMI-выхода с печатной платой вместо предварительно купленного настенного крепления на стене. Это позволило бы сэкономить много места, на самом деле мне пришлось свернуть кабель по спирали, чтобы не разрезать его и не перепаять 19 проводов. Я не могу не брать батарею меньшего размера, потому что высота ячейки была моим ограничивающим фактором в толщине всего устройства. Однако его уменьшение отрицательно скажется на сроке службы батареи.
В общей сложности это стоило мне около 350 долларов. Сюда не входит Raspberry Pi, который я сломал, пытаясь уменьшить размер … Я все еще счастлив, что попробовал. Это был забавный летний проект, чтобы посмотреть, смогу ли я сделать его настолько компактным, насколько это возможно, в то же время поместив внутри множество интересных функций.
Рекомендуемые:
Портативная игровая консоль DIY Raspberry Pi Zero: 6 шагов (с изображениями)
Портативная игровая консоль DIY Raspberry Pi Zero: в этом проекте я покажу вам, как я использовал Raspberry Pi Zero, NiMH батареи, самодельную схему защиты от переразряда, ЖК-дисплей заднего вида и аудиоусилитель для создания портативной игровой консоли, которая может играть ретро игры. Давайте начнем
Игровая консоль Pi Tourer 1963 года: 9 шагов (с изображениями)
Игровая консоль Pi Tourer 1963 года: это автомобильный радиоприемник Sky Tourer 1963 года выпуска, который я переделал в удобную портативную игровую приставку в стиле ретро. Он имеет встроенный Raspberry Pi 3 с 6 аркадными кнопками и джойстиком, управляющим этими винтажными спрайтами RetroPie через плату контроллера Picade
Портативная игровая консоль - Клон Arduboy: 6 шагов (с изображениями)
Портативная игровая консоль | Arduboy Clone: несколько месяцев назад я наткнулся на Arduboy, который, согласно официальному сайту, представляет собой миниатюрную 8-битную игровую платформу, которая позволяет легко учиться, делиться и играть в игры онлайн. Это платформа с открытым исходным кодом. Игры для Arduboy делаются пользователем
Визитная карточка / игровая консоль: ATtiny85 и OLED-экран: 5 шагов (с изображениями)
Визитная карточка / игровая консоль: ATtiny85 и OLED-экран: Всем привет! Сегодня я собираюсь показать вам, как вы можете создать свою собственную визитную карточку / игровую консоль / все, что вы можете себе представить, с OLED-дисплеем с подсветкой I2C и микропроцессором ATtiny85. В этом руководстве я расскажу вам, как печатная плата, которую я
Самодельная портативная консоль: 12 шагов (с изображениями)
Самодельная портативная консоль: добро пожаловать в мое пошаговое руководство по созданию собственного DIY GameBoy с Raspberry Pi 3 и программным обеспечением для эмуляции Retropie. Перед началом этого проекта у меня не было опыта работы с Raspberry Pi, ретропией, пайкой, 3D-печатью или электр