Восстание машин: как заставить три сломанных принтера играть симфонию через 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 (подробнее »)
Об авторе
Интересуюсь технологиями и рассказываю о них вам.

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

Новости

Публикации

Что было до Большого взрыва: физик объяснил рождение Вселенной коллапсом мультивселенной

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

Компактная Bluetooth-колонка с басом. Разборка и обзор Anker Soundcore Select 4 Go

Два динамика, влагозащита, 5Вт мощности, почти 8 часов звука на полной громкости и поддержка приложения. Anker Soundcore Select 4 Go это небольшая беспроводная колонка для походов или прогулок по...

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

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

Зачем в Лондоне построили фальшивые дома и что скрывается за их фасадами

В одном из самых респектабельных районов западного Лондона Бейсуотер (Bayswater) на улице Лейнстер-Гарденс (Leinster Gardens) стоит ряд элегантных пятиэтажных таунхаусов викторианской эпохи. Белые...

Где сегодня строят новые АЭС: мировая картина строительства и место России

  • Тематическая подборка
  • Оффтопик
В последние годы строительство атомных станций снова заметно активизировалось. Причины в целом понятны: растёт потребление электроэнергии, старые энергоблоки постепенно выводятся из эксплуатации, а...

Почему другие страны не покупают японские поезда Синкансэн

Японские поезда синкансэн уже более 60 лет остаются одним из самых узнаваемых символов технологического превосходства страны. Они обеспечивают исключительную пунктуальность (среднее опоздание...