Оглавление:

Мусорная драм-машина с питанием от Raspberry Pi: 15 шагов (с изображениями)
Мусорная драм-машина с питанием от Raspberry Pi: 15 шагов (с изображениями)

Видео: Мусорная драм-машина с питанием от Raspberry Pi: 15 шагов (с изображениями)

Видео: Мусорная драм-машина с питанием от Raspberry Pi: 15 шагов (с изображениями)
Видео: Приказ комиссара. Warhammer 40k 2024, Июль
Anonim
Image
Image
Драм-машина с питанием от Raspberry Pi
Драм-машина с питанием от Raspberry Pi
Драм-машина с питанием от Raspberry Pi
Драм-машина с питанием от Raspberry Pi
Драм-машина с питанием от Raspberry Pi
Драм-машина с питанием от Raspberry Pi

Это руководство покажет вам, как создать роботизированную драм-машину с питанием от Raspberry Pi. Это действительно интересный, творческий, интерактивный проект. Я покажу вам, как сделать внутреннюю работу, но сами барабаны будут зависеть от вас, что даст вам возможность сделать что-то совершенно уникальное для вас. Для своей машины я использовал столько найденных предметов, сколько смог … молотки от пианино, спасенные у моих соседей, пропали, рыболовную сеть, которую я нашел на пляже, пустую банку для печенья, деревянные ложки, пустую пивную бутылку, крышки пивных бутылок и настольный звонок среди прочего, но позвольте своему воображению сойти с ума - посмотрите, что у вас есть вокруг дома, можно использовать практически все, что издает шум при ударе, и это действительно сделает ваш проект вашим. у вас есть 2 варианта:

  • Последовательность шагов на основе браузера, которую я назвал PiBeat - это очень весело и позволяет вам управлять драм-машиной в интерактивном режиме с вашего Pi или любого устройства в той же сети (например, вашего телефона, планшета или компьютера). Мы установим его на ваш Pi позже, но предварительный просмотр можно увидеть здесь, а код находится здесь на GitHub.
  • Скрипт на языке Python для программирования паттерна ударных. Это отличный способ создать ритм для игры на гитаре и т. Д.

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

Хорошо, приступим к работе!

Шаг 1. Отправляйтесь за покупками

Ходить по магазинам
Ходить по магазинам
Ходить по магазинам
Ходить по магазинам
Ходить по магазинам
Ходить по магазинам

Для сборки внутреннего механизма вам понадобятся:

  • 1x 40-контактный Raspberry Pi с Raspbian, установленным на SD, с кабелем питания и возможностью подключения к нему (я использовал Raspberry Pi Zero Wireless с предварительно припаянным заголовком от ModMyPi)
  • 1x 5v 8-канальное реле
  • 1x упаковка перемычек между гнездом и гнездом (необходимо 10 проводов)
  • 2x 3 A клеммные колодки (вы можете использовать макетную или перфорированную плату, но клеммные колодки дешевы и предотвращают отсоединение кабелей, и при их изготовлении у меня не было паяльника)
  • 1x 12v 10a блок питания
  • 8x 12v 2a соленоидов
  • 8x 1N5401 Выпрямительные диоды
  • 50 см кабеля 0,5 мм (я снял жилы с некоторых двухжильных кабелей, так как это был экономичный способ получить красный, черный и двухжильный кабель), хотя вы можете использовать только один цвет, если хотите. Возможно, вы не захотите покупать большую длину, в зависимости от жилья, которое вы хотите построить.

Также вам понадобятся следующие инструменты:

  • Кусачки
  • Инструмент для зачистки проводов
  • Маленькая отвертка с плоской головкой, около 3 мм
  • В зависимости от приобретаемых вами клеммных колодок может также потребоваться небольшая отвертка с крестообразным шлицем.

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

Шаг 2: Подключите Pi к реле

Подключите Pi к реле
Подключите Pi к реле
Подключите Pi к реле
Подключите Pi к реле
Подключите Pi к реле
Подключите Pi к реле
Подключите Pi к реле
Подключите Pi к реле

Максимальное напряжение, обеспечиваемое контактами Pi, составляет 5 В. Мы могли бы купить 5-вольтовые соленоиды и запитать их напрямую от Pi, но это не сильно ударило бы по нашей драм-машине. Поэтому мы используем реле, которое позволяет нам включать и выключать цепь с более высоким напряжением (в нашем случае цепь 12 В, содержащую наши соленоиды 12 В) от нашей цепи GPIO с низким напряжением.

Наше реле имеет 8 каналов, это означает, что мы можем независимо включать и выключать до 8 соленоидов. Каждый канал содержит 4 разъема; 3 используются цепью высокого напряжения, которую мы увидим позже, а 1, который является контактом IN на цепи низкого напряжения, к которой мы подключим наш Pi. Когда вывод GPIO Pi отправляет 5 В на данный вывод IN, реле включит соответствующую цепь 12 В.

На стороне низкого напряжения реле также есть контакт GND (земля), который нам нужно подключить к земле PI, и контакт VVC для питания 5 В от Pi.

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

Шаг 3: давайте пошумим

Image
Image
Создайте положительную сторону нашей схемы
Создайте положительную сторону нашей схемы

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

Сценарий доступен здесь.

Загрузите свой Pi, откройте терминал на Pi и загрузите скрипт, запустив:

wget

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

python3 array-sequencer.py

Если все идет по плану, вы должны услышать, как контакты в реле размыкаются и замыкаются, а индикатор на соответствующем канале мигает. Взгляните на переменную последовательности внутри скрипта, чтобы понять, что происходит - все каналы будут запускаться вместе, затем каждый будет запускаться индивидуально. Он будет работать до тех пор, пока вы не выйдете из скрипта, нажав Ctrl + C.

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

Шаг 4: создайте положительную сторону нашей схемы

Создайте положительную сторону нашей схемы
Создайте положительную сторону нашей схемы
Создайте положительную сторону нашей схемы
Создайте положительную сторону нашей схемы

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

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

Фактически, нам нужно подключить все соленоиды и диод для каждого соленоида (подробнее о диодах позже) к 1 положительному проводу источника питания.

Используя резаки, отрежьте клеммную колодку так, чтобы у вас получился блок из 8 пар, разрезая пластмассовый наконечник, соединяющий два блока вместе. Будьте осторожны, не обрезайте металл.

Теперь нам нужно соединить все клеммы на одной стороне полосы. Используйте ножницы, чтобы отрезать 7 кусков красного провода длиной около 35 мм, затем используйте инструменты для зачистки проводов, чтобы удалить около 5 мм изоляции с каждого конца каждого провода.

Теперь используйте провода для последовательного соединения всех клемм вдоль одной стороны полосы, удерживая провода на месте с помощью винтов. У первого и последнего винта будет только 1 провод, а у остальных - 2.

Шаг 5: Добавьте соленоиды и диоды

Добавьте соленоиды и диоды
Добавьте соленоиды и диоды
Добавьте соленоиды и диоды
Добавьте соленоиды и диоды

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

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

Один из полученных мною соленоидов был неисправен, поэтому во время фотосъемки я заменил его на более низкую модель усилителя с синими проводами.

Шаг 6: Подключите отрицательную клеммную колодку к соленоиду и диодам

Подключите отрицательную клеммную колодку к соленоиду и диодам
Подключите отрицательную клеммную колодку к соленоиду и диодам

Как и с положительной стороной, возьмите 1 клеммную колодку и отрежьте ее, чтобы у вас была еще одна клемма на 8 пар. Прикрутите диоды и соленоиды к этой клеммной колодке так, чтобы она отражала плюсовую клеммную колодку.

Шаг 7: Создайте соединительные провода реле

Создайте соединительные провода реле
Создайте соединительные провода реле
Создайте соединительные провода реле
Создайте соединительные провода реле

Мы почти готовы подключить реле, но сначала нам нужно к чему его подключить. Отрежьте 8 кусков черной проволоки длиной около 70 мм, затем снимите примерно 5 мм с каждого конца. Присоедините каждый провод к 8 оставшимся разъемам на отрицательной клеммной колодке.

Шаг 8: Подключите общие разъемы реле

Подключите общие разъемы реле
Подключите общие разъемы реле
Подключите общие разъемы реле
Подключите общие разъемы реле

Взгляните на реле, удерживающее сторону, соединенную перемычками с Pi, от вас. Каждый канал имеет 3 контакта, слева направо они называются нормально разомкнутыми (NO), общими (COM) и нормально замкнутыми (NC). Мы хотим, чтобы наши соленоиды включались только при высоком напряжении на контакте каналов IN, поэтому мы будем использовать нормально разомкнутый контакт. Если бы вместо этого мы использовали нормально замкнутый контакт, произошло бы обратное - соленоид был бы включен до тех пор, пока на вывод IN не будет подано высокое напряжение. Мы также будем использовать общий контакт для замыкания цепи.

Поскольку это параллельная схема, мы подключим последовательно все общие контакты реле. Отрежьте 7 кусков черной проволоки длиной около 60 мм и снимите по 5 мм с каждого конца. Работайте вдоль реле, соединяя вместе все контакты COM (середина каждого набора из 3). У первого и последнего будет только один провод, у остальных - 2.

Шаг 9: подключите реле к остальной части нашей схемы

Подключите реле к остальной части нашей схемы
Подключите реле к остальной части нашей схемы

Теперь пришло время подключить реле к остальной части нашей схемы. Возьмите свободный конец черного провода с одного конца отрицательной клеммной колодки и подключите его либо к первому, либо к последнему нормально разомкнутому (NO) контакту реле. Повторите это для остальных 7 кусков провода, подключив каждый провод к следующему замыкающему контакту.

Шаг 10: Подключите блок питания 12 В

Подключите источник питания 12 В
Подключите источник питания 12 В

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

Мой блок питания использовался с eBay с уже отключенным штекером на 12 В. Предполагая, что у вас все еще есть вилка, вы можете либо купить соответствующий гнездовой разъем постоянного тока, либо отрезать вилку и снять ее с 2 проводов, как у меня. В любом случае, вам нужно получить 2 провода: красный (положительный) и, вероятно, белый (отрицательный). Подключите положительный провод источника питания к первому контакту положительной клеммной колодки, а отрицательный - к первому общему контакту реле. Чтобы упростить задачу, я использовал около 150 мм красно-черного провода с зачищенными концами, чтобы пройти между соединениями, и подключил их с помощью клеммной колодки.

Шаг 11: Зажигай

Image
Image

При выключенном источнике питания быстро проверьте все свои подключения. После того, как вы счастливы, снова загрузите Pi. Снова запустите сценарий с шага 3:

python3 array-sequencer.py

Ваши соленоиды пока не двигаются, но вы должны услышать щелчок и загорание реле, как и на шаге 3. Завершите сценарий (Ctrl + C), и теперь настал момент, которого вы так долго ждали - включите питание. поставка! Запустите сценарий еще раз, все ваши танцующие соленоиды должны ожить. Хорошая работа!

Мне не повезло - как вы можете видеть на видео, еще один из моих соленоидов не работал, но это была моя вина, так как ранее я повредил один, слишком затянув крепежный болт.

Шаг 12: Редактирование Array-sequencer.py

Установите секвенсор ударных
Установите секвенсор ударных

Потратьте немного времени, чтобы поиграть с array-sequencer.py. Используйте свой любимый редактор (nano, geany и т. Д.), Чтобы внести изменения в скрипт. Попробуйте сделать следующее и повторно запускать скрипт после каждого изменения, чтобы увидеть его эффект:

  • Измените переменную ударов в минуту со 120 на другое число, скажем, 200, чтобы увеличить темп.
  • В переменной последовательности измените некоторые 0 на 1, чтобы играть больше барабанов.
  • Дублируйте последние 3 строки перед закрывающей квадратной скобкой в переменной последовательности, чтобы добавить больше долей в цикл.

Шаг 13: Установите секвенсор ударных

Установите секвенсор ударных
Установите секвенсор ударных

Теперь, когда все становится действительно весело, мы собираемся установить секвенсор на ваш Pi. Это даст нам веб-интерфейс, который позволит Python запускать контакты GPIO через веб-сокеты.

Исходный код доступен в Github здесь, но, предполагая, что вы следовали проводке в Instructable, мы можем загрузить и запустить предварительно скомпилированную версию. Откройте терминал на своем Pi и запустите следующее

# Создайте и перейдите в каталог для нашего проекта

mkdir pibeat cd pibeat # Загрузить исходный код wget https://pibeat.banjowise.com/release/pibeat.tar.gz # Извлечь файлы tar -zxf pibeat.tar.gz # Установить требования python pip3 install -r requirements. txt # Запускаем веб-сервер python3 server.py

В выводе, если все прошло успешно, вы должны увидеть следующий вывод:

======== Работает на https://0.0.0.0:8080 ========

(Нажмите CTRL + C, чтобы выйти)

Найдите свой IP-адрес Пи. Откройте веб-браузер, затем введите IP-адрес, а затем: 8080 / index.html (это порт, который приложение прослушивает, а затем имя файла) в адресную строку. Например, если IP-адрес вашего Pi 192.168.1.3, введите 192.168.1.3:8080/index.html в адресную строку. Появится барабанный секвенсор.

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

Пока существует сетевой маршрут к вашему Pi, вы можете получить доступ к веб-интерфейсу Pi с любого устройства - попробуйте его со своего мобильного телефона или планшета.

Шаг 14: Изготовление барабанов и корпуса

Изготовление барабанов и корпуса
Изготовление барабанов и корпуса
Изготовление барабанов и корпуса
Изготовление барабанов и корпуса
Изготовление барабанов и корпуса
Изготовление барабанов и корпуса

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

Я хорошенько обыскал свой дом в поисках идей для барабанов, которые обеспечивали пивную бутылку, банку, шейкер, крышки для бутылок и ложки. Рыболовная сеть была найдена на пляже, а настольный звонок и крокодиловая кастаньета - с eBay. Я нашел сломанное пианино в контейнере, в нем были молотки для бутылки и банка, а также деревянные шпунты, чтобы удерживать колокол на месте, и металлические стержни, чтобы поворачивать и удерживать ложки на месте.

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

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

Я в основном использовал 6-миллиметровый МДФ (обрезки из местного DIY-магазина) для барабанов вдоль нескольких деревянных обрезков, скрепленных клеем или винтами.

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

Корпус

Корпус представляет собой простую грубую готовую коробку из фанеры толщиной 3,6 мм, МДФ 18 мм и небольшого количества полосовой древесины. Я хотел тонкую фанеру для передней части коробки, чтобы она резонировала при ударе ложкой, но выбор дерева в основном был обусловлен тем, что у меня уже было в сарае, и секцией обрезков древесины в моем местном магазине DIY. Я сделал платформу внизу коробки для электроники и другую платформу для барабанов. Чтобы сделать коробку:

1. Отрежьте 2 МДФ одинаковых размеров, чтобы сделать концы 2. Отрежьте 4 куска полосовой древесины (я использовал 34 мм x 12 мм) на 50 мм короче желаемой ширины коробки 3. Прибейте полоску к двум концам МДФ, чтобы сформировать форму коробки. Положите полоску на расстоянии около 1 см от верха и низа ящика. 4. Отрежьте 2 куска фанеры по ширине и высоте коробки. Прикрепите их к передней и задней части коробки, прибив гвоздями к МДФ и полосовой древесине. Отрежьте кусок фанеры, чтобы он поместился внутри коробки, и положите на нижнюю часть полосовой доски, чтобы удерживать электронику. Я сделал свою примерно половину длины коробки. Отрежьте еще один кусок фанеры, чтобы прикрепить к нему барабаны. Это сидит на верхних кусках полосовой древесины. Вырежьте отверстие возле нижней платформы, чтобы пропустить кабели питания.

Рисование

Для покраски я использовал грунтовку Acrylic Primer Undercoat, а затем пробирки Crown Matt. Горшки-тестеры - это хороший способ получить самые разные цвета по низкой цене.

Шаг 15: Устройтесь поудобнее и получайте удовольствие

И вот она, довольно крутая драм-машина. Суть эпизода в видео на YouTube можно найти здесь.

Если вы пойдете дальше и сделаете свой собственный, пожалуйста, поделитесь, я хотел бы увидеть, что вы придумали. Повеселись!

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