Оглавление:

Создайте ArduinoBoy: 8 шагов
Создайте ArduinoBoy: 8 шагов

Видео: Создайте ArduinoBoy: 8 шагов

Видео: Создайте ArduinoBoy: 8 шагов
Видео: Игровая приставка Arduboy своими руками 2024, Сентябрь
Anonim
Собери ArduinoBoy
Собери ArduinoBoy
Собери ArduinoBoy
Собери ArduinoBoy

GameBoy. Скорее всего, у вас был такой еще в детстве. И даже если вы этого не сделали, скорее всего, вы играли с GameBoy своего лучшего друга или, может быть, у вас был его ближайший конкурент, Sega Game Gear или Nomad. Замечательные маленькие игровые устройства, но теперь, когда вы все выросли, задумывались ли вы, что вы собираетесь с ними делать? Держите его на чердаке, чтобы откопать и показать своим детям, какими были игры в 20-м веке? Продать коллекционеру? Оживите игровые воспоминания, вернувшись через Legend of Zelda: Link's Awakening в сотый раз базильонов?

Вы когда-нибудь задумывались о том, чтобы превратить его в музыкальный инструмент? Тимоти «trash80» Лэмб - композитор для чиптюнов, в настоящее время живущий в Лос-Анджелесе, Калифорния. Композитор chiptune - это человек, который для создания музыки использует микросхемы звукового генератора (интегральные схемы) внутри игровых консолей и портативных компьютеров. Г-н Лэмб также является создателем устройства, известного как ArduinoBoy; сочетание аппаратного и программного обеспечения с открытым исходным кодом, которое может превратить любого члена семейства GameBoy со слотом для картриджа и портом для кабеля связи в генератор звука MIDI. Теперь следует отметить, что trash80 не был первым, кто создал такую систему. Два больших доморощенных приложения GameBoy, используемые профессиональными композиторами для чиптюнов, Nanoloop и Little Sound Disk Jockey, или LSDJ, уже довольно давно поддерживают MIDI. Проблема в том, что оба этих приложения полагаются на оборудование Microchip PIC для отправки и получения MIDI-сигналов. Никакого неуважения к стандартным микроконтроллерам электротехнической промышленности, но PIC действительно является частью профессионального оборудования и может напугать тех, кто не возится с электроникой на регулярной основе. Также практически отсутствует поддержка пользователей менее популярных операционных систем, когда дело доходит до программирования этих устройств (единственный официальный пакет разработки PIC - для Windows, без поддержки Linux или Mac). Однако, используя гораздо более простую платформу Arduino, ArduinoBoy обходит эти ограничения, что значительно упрощает создание необходимых инструментов для будущих композиторов. Кроме того, несмотря на то, что ArduinoBoy был создан для работы с собственной программой-генератором звука GameBoy от trash80, mGB, он также прекрасно ладит с Nanoloop и LSDJ. Хотя trash80 поделился своей работой на веб-странице Google Code, у него нет никаких пошаговых инструкций о том, как можно сделать свою собственную (это в его списке дел). Я решил выручить его в этом плане. Хотя это руководство не обязательно является пошаговым, оно должно дать вам общее представление о том, что делать, и показать вам некоторые из моих ошибок, чтобы вы могли их избежать.

Шаг 1. Детали, инструменты и код

Детали, инструменты и код
Детали, инструменты и код

Запчасти

  • Arduino, универсальный Arduino или детали, которые можно сделать самостоятельно. Я лично использую комплект Really Bare Bones Board от Modern Device Compay, который можно либо собрать как есть и прикрепить к вашему проекту с помощью гнездовых штырьков на печатной плате, либо разобрать на части, чтобы сделать Arduino постоянной частью проекта.
  • Два резистора 220 Ом, семь резисторов 2 кОм и один резистор 270 Ом. Для этого проекта идеально подходят резисторы на 1/4 или 1/8 ватта.
  • Один оптоизолятор 6Н138.
  • Один малосигнальный диод 1N914. Не удивляйтесь, если вы сможете купить их только в количестве 10 и более штук.
  • Одна кнопка, которая горит только тогда, когда кнопка нажата. Для тех, кто говорит на инженерном языке, это кнопка выключения (включения) SPST.
  • Два 5-контактных разъема DIN 180 градусов. Убедитесь, что у вас есть именно эти разъемы. Существует множество различных конструкций разъемов DIN, и лишь немногие из них, если таковые имеются, совместимы друг с другом.
  • Четыре двухконтактных клеммных колодки. Хотя вы можете просто припаять все свои провода непосредственно к печатной плате, использование клеммных колодок или других видов разъемов значительно упростит сборку, разборку и разборку деталей.
  • Одна универсальная печатная плата.
  • Один соединительный кабель GameBoy.
  • Устройство, которое может предоставлять MIDI-выход, например, клавиатура или компьютер с необходимым программным обеспечением и адаптером.
  • Один программируемый картридж GameBoy.
  • Припой.
  • Дополнительный провод. Прочный для макетирования и подключения печатной платы, многожильный для проводов, которые вы ожидаете часто перемещать.
  • Чемодан, чтобы все это запихнуть.
  • Куча разного.

Инструменты

  • Паяльник.
  • Колба, насос или фитиль для дезодорации. На всякий случай.
  • Помогите руками паяльник.
  • Защитные очки. Твои очки не порежут его.
  • Огнетушитель или хотя бы стакан воды. Еще раз на всякий случай.
  • Кусачки.
  • Устройства для зачистки проводов.
  • Плоскогубцы.
  • Беспаечный макет.
  • Кабель для программирования или USB-кабель (и) для Arduino и программируемого картриджа GameBoy, если применимо.
  • Вращающийся инструмент и / или что-нибудь еще, что вам нужно для вырезания отверстий и пазов по вашему выбору.

Код Для этого проекта вам понадобятся два разных фрагмента кода, оба из которых можно найти на странице Trash80 ArduinoBoy Google Code. Они находятся в правой части страницы под заголовком Рекомендуемые загрузки. Вы загрузите код ArduinoBoy в Arduino, а mGB будет загружен в программируемый игровой картридж.

Шаг 2: давайте посмотрим на схему

Давайте посмотрим на схему
Давайте посмотрим на схему

Схема - это попросту любой документ, который изображает, как устроено механическое или электрическое устройство. Эти фотографии вашего газонного трактора со всеми разобранными частями и маленькими пунктирными линиями, показывающими, как все они сочетаются друг с другом? Чертежи, которыми был так одержим подрядчик для вашего дома или квартиры? Схемы; оба из них.

Что касается схем, схема trash80 для ArduinoBoy намного красочнее и не имеет прямых линий, но отлично читается. Если вы не совсем разбираетесь в технических условностях, у вас не должно возникнуть проблем. Возможно, вы захотите распечатать это, поскольку мы будем часто к нему возвращаться.

Шаг 3: тест макета

Тест макетной платы
Тест макетной платы

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

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

Шаг 4: Первый тест

Пришло время для двух очень важных тестов: дымового теста и функционального теста. Первый тест довольно простой. Просто подключите GameBoy к устройству, включите GameBoy и наблюдайте за светодиодами ArduinoBoy. Если светодиод на контакте 13 кратковременно мигает, а затем в последовательном порядке загораются остальные светодиоды, переходя от самого высокого контакта к самому низкому и обратно два раза, заканчивая двумя вспышками всех светодиодов одновременно, то велика вероятность, что ваш ArduinoBoy работает. порядок. Также не забудьте проверить кнопку выбора режима. Когда вы ее нажмете, текущий светодиод должен погаснуть, и загорится следующий в последовательности. Если вместо этого огни отказываются загораться, детали кажутся необычно теплыми на ощупь, вы видите или чувствуете запах дыма и / или какая-либо часть цепи взрывается или загорается, тогда вернитесь к схеме, дважды проверьте все ваши соединения и проводку, замените поврежденные компоненты и снова проведите тест на дымность. Второй тест - это немного больше нервов, в основном потому, что если что-то пойдет не так, тосты превратятся не только в Arduino. Загрузите mGB в свой GameBoy, подключите ArduinoBoy к GameBoy и подключите MIDI-выход вашего MIDI-совместимого устройства к MIDI-входу макетного ArduinoBoy. Включите GameBoy, а затем MIDI-устройство, держите под рукой огнетушитель, чтобы ничего не случилось. Попробуйте сыграть несколько нот на вашем MIDI-устройстве на канале 1, 2, 3, 4 или 5. Если ваш GameBoy издает шум, напоминающий инструмент или звуковой эффект, то прыгните со стула, глядя вверх на небеса, раскинув руки, мычем «ЭТО ЖИВО», маниакально смеясь. Замечание как по тестированию, так и по использованию вашего ArduinoBoy: существуют веб-сайты, которые предлагают бесплатные MIDI-файлы популярных песен, и вы будете испытывать сильное искушение использовать их как для тестирования, так и в сессиях сочинения. Сопротивляйтесь этому искушению. Во-первых, некоторые MIDI-треки, предлагаемые этими сайтами, не очень хорошо сделаны. Однажды я нашел MIDI-копию Gorillaz "19-2000", и один из инструментов не вырезался и не исчезал, поэтому в конечном итоге этот инструмент подавлял остальные инструменты, пока вы не остановили проигрыватель и не запустили его снова.. Кроме того, использование этих готовых песен побуждает вас продолжать использовать готовые песни. Ничего оригинального не сделаешь. Лучше сразу научиться сочинять музыку.

Шаг 5: припаяйте

Припаять это вверх
Припаять это вверх
Припаять это вверх
Припаять это вверх

Итак, ваш ArduinoBoy работает. Хорошо, пора припаять его к макетной печатной плате. "Подожди подожди!" вы кричите себе. «Теперь он работает отлично, и я знаю, что буду осторожен с этим. Почему он может испортить это? Зачем беспокоиться о пайке?» Тогда ладно. Но подумайте об этом на мгновение: вы и ваш ArduinoBoy делаете отличную музыку. Настолько здорово, что в конечном итоге вы превращаете chiptune в законную форму музыки. Вы делаете chiptune популярным. Вы становитесь знаменитыми. Настолько знаменитый, что вас приглашают сыграть в Wrigley Field прямо перед тем, как Cubs выйдут на поле. Вы все еще используете макетный ArduinoBoy. Вы и команда настраиваете все так, чтобы один из вас не заметил, что самый важный из ваших музыкальных инструментов, ArduinoBoy, пропал. Наконец вы находите его в руках мальчика, которому удалось проскользнуть мимо охраны. Из любопытства он удалил все компоненты с макета, и, к сожалению, у вас нет под рукой схемы. До начала шоу осталось всего 5 минут, и вы должны отменить свое выступление. Толпа сходит с ума и в ярости разрушает значительную часть стадиона, в результате чего игра также отменяется. Детеныши снова теряют свою игру с макияжем и снова участвуют в Мировой серии, и они должны винить вас. Не позволяйте этому запутанному сценарию случиться с вами: всегда делайте свои проекты постоянными. Во-первых, после извлечения всех деталей из беспаечной макетной платы поместите их на печатную плату и подумайте, как вы собираетесь их все устанавливать. Вам следует помнить о нескольких вещах:

  • Постарайтесь настроить все свои микросхемы одинаково. Таким образом, вы сразу поймете, все ли они правильно смонтированы.
  • Винтовые клеммы, гнезда для микросхем и разъемы для проводов - ваши друзья. Если что-то сломается, вам нужно иметь возможность легко снимать и заменять детали. Кроме того, вам может потребоваться съесть свой ArduinoBoy позже, чтобы построить что-то еще. Добавление розеток и других разъемов может позволить вам сделать это легко.
  • Помните о пространстве, с которым вам нужно работать. Держите детали подальше от монтажных отверстий, чтобы можно было легко доставить монтажное оборудование и инструменты в эти места. Кроме того, если вы устанавливаете доску в очень маленьком пространстве, например, в жестяной банке Altoids, вам нужно помнить о пространственных частях, таких как кнопки. Возможно, вам придется держать части платы в чистоте, чтобы кнопка оставалась зазором внутри корпуса.

После того, как вы все это спаяете, остается просто просверлить и вырезать соответствующие отверстия в выбранном вами случае и установить внутри него печатную плату. Если вы используете металлический корпус, как я, обязательно используйте лист бумаги или что-то еще, чтобы выровнять нижнюю часть корпуса, чтобы он не закоротил какую-либо часть цепи. Резиновые шайбы тоже были бы хорошей идеей.

Шаг 6: Использование ArduinoBoy

Использование вашего ArduinoBoy
Использование вашего ArduinoBoy

Ваш ArduinoBoy, если он собран правильно, не должен вести себя иначе, чем любое другое устройство ввода MIDI. При использовании с mGB он будет иметь 5 отдельных MIDI-каналов. Каналы 1 и 2 - это устойчивые тон-генераторы, 3 - тон-генератор, который, по-видимому, имеет шаблон из трех нот в моих ограниченных тестах (тембр ноты будет меняться каждый раз, когда вы играете на этом канале, в соответствии с шаблоном), канал 4 обеспечивает басовые звуки (например, барабан, бас-гитара или синтезатор), а канал 5 - шум (чаще всего используется в играх GameBoy для взрывов и проточной воды).

Подключите выходное MIDI-устройство к порту, подключенному к оптоизолятору, ArduinoBoy - к GameBoy, а также перепрограммируемый картридж - к GameBoy. Установите ArduinoBoy в режим mGB, нажимая кнопку до тех пор, пока не загорится светодиод, подключенный к цифровому 8. С этого момента вы можете использовать GameBoy как MIDI-инструмент. Настройки генерируемого звука могут быть сделаны в GameBoy с помощью интерфейса mGB, в частности, тембра, октавы, канала и атаки ноты. Другие режимы ArduinoBoy используются с другими программами создания чиптюнов GameBoy, в частности, Nanoloop и LSDJ, и выходят за рамки данной инструкции.

Шаг 7: подводные камни, которых можно избежать

Ловушки, которых можно избежать
Ловушки, которых можно избежать
Ловушки, которых можно избежать
Ловушки, которых можно избежать
Ловушки, которых можно избежать
Ловушки, которых можно избежать

В ходе завершения этого проекта я допустил несколько ошибок дизайна и конструкции, которые, хотя и не повлияли отрицательно на производительность основной функции ArduinoBoy, сделали конструкцию более сложной, а окончательную презентацию - немного неряшливой. Вот мои ошибки и несколько распространенных сбоев, а также способы их предотвращения или исправления. Работа с металлическим корпусом Из всех дизайнерских решений, которые я принял, решение использовать в качестве корпуса мятную банку Altoids было, пожалуй, самым катастрофическим. Проблема не в самой жести, а в инструментах, которые у меня были для подготовки кейса, и в том, что я очень мало работал с тонким листовым металлом. Во-первых, используйте правильный инструмент для работы. Оловянные ножницы, или, по крайней мере, те, что я использовал, рвут металл, а не режут его чисто, оставляя после себя труднодоступные острые края, которые не остаются плоскими на корпусе. Вместо этого используйте кусачки. Кроме того, при сверлении отверстий всегда сверлите их с чистовой стороны или с той стороны, которую вы будете видеть чаще всего (снаружи), когда это возможно. Когда вы просверливаете отверстие, вы, вероятно, оставите заусенцы в металле и заставите металл изгибаться в отверстии в направлении, в котором вы сверляете. Просверливание снаружи, вы оставляете заусенцы на внутренней стороне корпуса, делая внешний вид более аккуратным и безопасным для рассеянных людей. Доска прототипа. С дешевыми материалами не всегда лучше работать. Платы-прототипы, которые я использовал для сборки своего ArduinoBoy, были получены от RadioShack, и, хотя они идеально подходят для использования, их трудно паять из-за их дешевизны. Нет металлических сквозных отверстий, поэтому припой не всасывается в отверстия, в результате чего на плате образуются большие пятна припоя, которые не удерживают припаянные детали на месте. Постарайтесь найти доски с металлическими отверстиями. Если вы не можете этого сделать, я слышал, что немного флюса для припоя, размазанного в отверстии непосредственно перед пайкой, затянет расплавленный припой в отверстие, как если бы он был покрыт гальваническим покрытием. Что касается дешевых прототипов, имейте в виду, что, поскольку припой просто скапливается в верхней части, они могут быть … короткими. Когда я закончил пайку своего ArduinoBoy, я заметил, что светодиоды не загораются должным образом. Проблема была не в проводке, она была идеальной, а в пайке. Крошечные, почти невидимые количества припоя и пыли перекрывали зазоры на плате, не позволяя некоторым светодиодам загораться и связывая другие светодиоды вместе. Если это произойдет с вами, протяните лезвие ножа между паяными соединениями и тщательно очистите, используя ватные палочки, бумажные полотенца и медицинский спирт. Super Glue Как бы вы ни старались, вы никогда не сможете использовать суперклей, не попав на пальцы. Просто общее предупреждение для всех. Не поймите меня неправильно, это отличный материал, когда две части должны быстро прилипать и прилипать, но никогда не предполагайте, что вы можете использовать это, не склеивая пальцы.

Шаг 8: Что мне делать дальше?

Куда мне идти дальше?
Куда мне идти дальше?

Возникли проблемы с началом работы над созданием чиптюнов? Вам нужно вдохновение, советы, уловки и место, где можно похвастаться своей последней мелодией? Для всего, что связано с чиптюнами и, как следствие, с ретро-играми, есть 8bitcollective.com. У них есть яркое сообщество композиторов для чиптюнов, которые будут более чем готовы помочь вам в вашей карьере.

Хотите расширить возможности вашего ArduinoBoy? Ваш ArduinoBoy имеет встроенную функцию, которую mGB фактически не использует: выход MIDI, в частности синхронизацию MIDI. Однако Nanoloop и LSDJ не только совместимы с оборудованием ArduinoBoy, но и могут использовать эту неиспользуемую функцию, позволяющую синхронизировать звуки GameBoy с другими программируемыми MIDI-инструментами, такими как барабаны. Хорошо, теперь вы успешный композитор и исполнитель chiptune, но теперь у вас есть куча концертов, и вы хотите максимально облегчить нагрузку. Чем ты планируешь заняться? Что ж, пока вы используете только порт MIDI In ArduinoBoy, вы можете значительно уменьшить его размер. Просто используйте как маленький клон Arduino, который вы можете найти, и не обращайте внимания на выходной порт MIDI. Ведь вроде работает на trash80. Что касается меня, я хочу внести несколько улучшений в свой прототип, одновременно узнав больше о том, как он работает и как я могу сочинять с его помощью настоящую музыку. Я подумываю о разработке нескольких печатных плат в Eagle CAD для двух разных версий: в одной используются компоненты со сквозными отверстиями и микросхемы DIP-корпусов, как эта, а в другой, где возможно, используются компоненты для поверхностного монтажа, чтобы я мог опробовать оплавление горячей пластины. припаяйте метод и сделайте (надеюсь) самый маленький полноценный ArduinoBoy из когда-либо созданных. Прежде всего, получайте удовольствие от того, что вы решите делать со своим ArduinoBoy. Если вам не весело, значит, вы явно что-то делаете не так. Помните, что, как и все остальное в жизни, создание чиптюнов - это не победа над кем-то другим. Речь идет о победе над собой, о том, чтобы каждая мелодия, которую вы сочиняете, была лучше предыдущей. Никто никогда не прославился тем, что не любил. Вопросов? Комментарии? Предложения руки и сердца? Смертельные опасности? Разместите их ниже.

Рекомендуемые: