Восстание машин: как заставить три сломанных принтера играть симфонию через G-code

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Мнение | Своими руками (DIY)

У многих в углу гаража или на балконе пылятся старые принтеры: Epson, HP, Canon — те самые, что пережили тысячу распечаток школьных рефератов и курсовых. Вместо того чтобы сдавать их на металлолом, предлагаем устроить «апокалиптический концерт». Суть проекта: превратить шаговые двигатели и ремни сломанных принтеров в оркестр, играющий мелодии через G-code — язык, на котором принтеры понимают команды печати.

Что понадобится:

  • 3 нерабочих принтера (подойдут даже советские «Электроника МС 6312»).
  • Arduino Uno/Nano (или китайский аналог).
  • Драйверы шаговых двигателей (например, A4988).
  • Python-скрипты для конвертации MIDI в G-code.
  • Паяльник, терпение и чувство юмора.
Автор: Kandinsky Источник: fusionbrain.ai

Шаг 1: Разбираем принтеры и «добываем» двигатели

Лайфхак: Если у принтера сломана печатающая головка, это не проблема — нам нужны только шаговики и ремни.

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

Шаг 2: Подключаем двигатели к Arduino

Каждый принтер отвечает за свою «партию»:

  • Принтер 1 — бас (низкочастотные вибрации ремня).
  • Принтер 2 — мелодия (двигатель печатающей головки).
  • Принтер 3 — ударные (стук каретки).

Схема подключения:

Двигатель X-оси → драйвер A4988 → пины D8-D11 на Arduino.

Код для Arduino:

#include <Stepper.h>

Stepper motor(200, 8, 10, 9, 11); // шаги, пины IN1-IN4

void setup() { motor. setSpeed(60); }

void loop() { motor. step(100); delay(500); } // тестовый ритм

Шаг 3: Превращаем музыку в G-code

  • Берем MIDI-файл (например, гимн СССР или трек «Кино»).
  • Пишем Python-скрипт для конвертации нот в команды перемещения двигателей:

# Пример: нота C4 → движение на 50 шагов

if note == 'C4':

gcode = 'G0 X50 F300\n' # F300 = скорость

  • Совет: Для «Катюши» подойдет простой бит, а для Цоя — хаотичные вибрации.

Шаг 4: Синхронизация через Python

  • Загружаем G-code в Arduino через PyFirmata:

from pyfirmata import Arduino

board = Arduino('COM3')

board.send('G0 X100 F200') # двигаем ось X на 100 шагов

  • Проблема: Принтеры могут «драться» за тайминги. Решение — добавить задержки в код.

Шаг 5: Апокалиптический перформанс

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

  • Бас: Гудение ремня с частотой 20 Гц.
  • Мелодия: Резкие движения головки, имитирующие ноты.
  • Ударные: Стук каретки в ритме 120 BPM.
  • Фишка: Добавьте светодиоды, управляемые через GPIO, для визуальных эффектов.
Автор: freepik Источник: www.freepik.com

Что пошло не так?

  • Двигатели перегреваются → ставим кулеры от старого ПК.
  • Ремни рвутся → заменяем их распечатанными на 3D-принтере (если есть доступ в FabLab).
  • Соседи стучат по батарее → переносим концерт в гараж.

Зачем это нужно?

  • Для души: Хлам обретает вторую жизнь.
  • Для науки: Понимание шаговых двигателей и G-code пригодится в CNC-станках или 3D-печати.
  • Для хайпа: Видео с «принтерным рок-концертом» соберет просмотры в соцсетях.

Заключение

Этот проект — не просто забава, а способ понять, как «думают» машины. И кто знает: может, ваш сломанный принтер сыграет в симфонии, которая заставит задуматься даже самого консервативного соседа.

P.S. Если не хочется возиться с железом, попробуйте эмулировать звуки принтера через Python-библиотеку pygame — но это уже читерство!

Дисклеймер: Не пытайтесь повторить это с рабочими принтерами! Автор не несет ответственности за испорченную технику или испуганных котиков.

Изображение в превью:
Автор: freepik
Источник: www.freepik.com
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Интересуюсь технологиями и рассказываю о них вам.

0 комментариев

Добавить комментарий

Сейчас на главной

Новости

Публикации

Обзор аккумуляторного опрыскивателя Greenworks G40BPS – насколько хватает 15 литров и как меняется расход с разными насадками

Ручные помповые опрыскиватели удобны ровно до того момента, пока не приходится долго ходить по участку и постоянно подкачивать давление. Особенно это ощущается при обработке теплиц, кустарников или...

Как новая теория темной материи решила три главные астрофизические аномалии десятилетия

Современная астрофизика строится на наблюдении за объектами, которые невозможно увидеть напрямую. Исследователи изучают невидимые массы по тому, как они воздействуют на свое окружение: как они...

Настоящий кракен эпохи динозавров: 19-метровый осьминог оказался высшим хищником древних морей

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

Ярко светит под водой и на суше. Что может подводный фонарик с огромным аккумулятором? Обзор Sofirn SD11

Посмотрим на мощный дайвинговый фонарик с огромным аккумулятором и яркостью? Sofirn SD11 получил супер-ёмкий аккумулятор в 7500mah, теплый и холодный белый свет с общей турбо-яркостью в 5000...

«Чемпионы» выживания: какие существа способны годами жить без еды и воды

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