Как научить 3D-принтер играть по окончании печати "Имперский марш" из фильма Звездные войны

Подписаться на 3Dtoday
Lenivo
Идет загрузка
Загрузка
15.11.17
1705
22
RepRap
22
12f04c50a4bf690e2b06109c8c866546.jpg
Статья о подключении тонового динамика для проигрывания музыкальных фрагментов к плате управления 3D принтера -RAMPS 1.4 + Mega2560 под управлением прошивки Marlin 1.1.3.

Настраивая прошивку для 3D-принтера MK4due обнаружил в ней папку "Music", а в ней шесть файлов (в том числе и imperial_march.gcode). И очень мне захотелось понять, чем это нас решили порадовать разработчики. Так как MK4due сильно мудрённая, решил проверить на RAMPS 1.4+ MEGA2560 и Марлине 1.1.3.

Ссылка на данные файлы, кому лень самому скачать их из прошивки MK4due :

https://yadi.sk/d/DxmZfpzS3EnFCB

В Marlin 1.1.3 в фале Configuration.h имеется вот такие установки для звука (с № строк 1247 по 1262):

// SPEAKER/BUZZER
//
// If you have a speaker that can produce tones, enable it here.
// By default Marlin assumes you have a buzzer with a fixed frequency.
//
#define SPEAKER
//
// The duration and frequency for the UI feedback sound.
// Set these to 0 to disable audio feedback in the LCD menus.
//
// Note: Test audio output with the G-Code:
// M300 S P
//
#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
#define LCD_FEEDBACK_FREQUENCY_HZ 1000

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

Наиболее часто BUZZER подсоединен к контакту D37 на плате RAMPS, для наших целей можно и использовать этот контакт отпаяв от него вывод штатного капсюля -BUZZER-а.
4225f4736f6b6acc3599999940720ace.png
Вот пример схемы, подключения обычного Буззера со встроенным тоновым генератором:
011850118ff465248768d1d672721590.png
Существует множество схем подключение капсюля в качестве тонового динамика к цифровым схемам - самая простая -припаиваем сопротивление 200 ом, последовательно с капсюлем и подключаем "+" к D37 и вторым концом на землю, на разъём "GND". Послушать сможете, но не громко. Ниже несколько схемок для подключения разного типа, в том числе с небольшим усилением:
42b7bcb01d618b04f300425d75d69e61.jpg
А если вам лень паять самому, то можете заказать готовый модуль, например , такой:
63299511566fc3fe8bf7fa2c4a011a1e.jpg
В принципе файлы с музыкальными кодами , можно скопировать на SD-карту и запустить их, как обычно запускаете файлы на печать. После из запуска - принтер их проиграет.

Но ведь хочется, чтобы принтер чего-нибудь сыграл по окончании печати, а не просто пропищал.

Тогда берем код из этих файлов - весь или кусочек и вставляем в Слайсере во вкладке " Scripts" в скрипты , которые вставляются в конец исполяемого файла для печати "Ending script". В самый конец, после всех команд.
Например вот такой кусочек:

;ImperialMarch
M300 S392 P436
M300 S0 P109
M300 S392 P436
M300 S0 P109
M300 S392 P436
M300 S0 P109
M300 S311 P326
M300 S0 P81
M300 S466 P108
M300 S0 P27
M300 S392 P436
M300 S0 P109
M300 S311 P326
M300 S0 P81
M300 S466 P108
M300 S0 P27
M300 S392 P872
M300 S0 P218
M300 S587 P436
M300 S0 P109
M300 S587 P436
M300 S0 P109
M300 S587 P436
M300 S0 P109
M300 S622 P326
.
.
.
.
.

и далее любой длины какой вам нужно.

Всё настроить гораздо быстрей , чем прочитать данную статью.

Всем удачи.

15.11.2017 г.
г.Екатеринбург.
Подписаться на 3Dtoday
22
Комментарии к статье

Комментарии

15 Ноя 01:35
14
играть музыку можно движками, без пайки и прочего рукоблудства ;)
мой так начинал печатать
15 Ноя 06:03
2
Поделитесь опытом настройки? Выложите, пожалуйста, свой вариант кода для вставки в стартовый Скрипт. Мне понравился и ваш вариант.
15 Ноя 09:18
7
все есть на портале
http://3dtoday.ru/blogs/3dpark/make-sing-3d-printer-or-converter-midi-to-gcode/

у меня код выглядел так:
G0 X0 Z10 F2000
G0 X8.71808000 F940.80000000
G0 X17.42048000 F940.80000000
G0 X26.13856000 F940.80000000
G0 X31.32854200 F746.76000000
G0 X33.90169000 F1118.76000000
G0 X42.61977000 F940.80000000
G0 X47.80975200 F746.76000000
G0 X50.40154600 F1118.76000000
G0 X67.82202600 F940.80000000
G0 X80.86119600 F1409.64000000
G0 X93.92386000 F1409.64000000
G0 X106.96303000 F1409.64000000
G0 X117.34216000 F1493.40000000
G0 X119.93395400 F1118.76000000
G0 X128.14795400 F888.00000000
G0 X133.33793600 F746.76000000
G0 X135.92973000 F1118.76000000
G0 X153.35021000 F940.80000000
G0 X170.78637000 F1881.60000000
G0 X177.30925000 F940.80000000
G0 X179.48877000 F940.80000000
G0 X162.05261000 F1881.60000000
G0 X149.73901000 F1776.00000000
G0 X145.85562800 F1676.28000000
G0 X142.19019800 F1582.20000000
G0 X138.73048800 F1493.40000000
G0 X124.06876800 F1582.20000000
G0 X119.46724400 F996.72000000
G0 X107.13850000 F1330.44000000
G0 X98.41069000 F1255.80000000
G0 X95.66460600 F1185.36000000
G0 X93.09145800 F1118.76000000
G0 X90.64505800 F1056.00000000
G0 X80.27788200 F1118.76000000
G0 X76.81789400 F746.76000000
G0 X68.60389400 F888.00000000
G0 X63.41391200 F746.76000000
G0 X61.23439200 F940.80000000
G0 X50.88586200 F1118.76000000
G0 X44.34730200 F940.80000000
G0 X41.75550800 F1118.76000000
G0 X15.65367400 F1409.64000000
G0 X33.08983400 F1881.60000000
G0 X39.61271400 F940.80000000
G0 X41.79223400 F940.80000000
G0 X59.22839400 F1881.60000000
G0 X71.54199400 F1776.00000000
G0 X75.42537600 F1676.28000000
G0 X79.09080600 F1582.20000000
G0 X82.55051600 F1493.40000000
G0 X97.21223600 F1582.20000000
G0 X101.81376000 F996.72000000
G0 X114.14250400 F1330.44000000
G0 X122.87031400 F1255.80000000
G0 X125.59664200 F1185.36000000
G0 X128.18843600 F1118.76000000
G0 X130.63483600 F1056.00000000
G0 X141.00201200 F1118.76000000
G0 X144.46200000 F746.76000000
G0 X152.67600000 F888.00000000
G0 X157.86598200 F746.76000000
G0 X160.45777600 F1118.76000000
G0 X169.16017600 F940.80000000
G0 X174.35015800 F746.76000000
G0 X176.94195200 F1118.76000000
G0 X172.00000000 F940.80000000
15 Ноя 09:57
1
БОЛЬШОЕ СПАСИБО!!!
Запустил у себя на СПринтере 232 - всё сыграло, только выше по тонам, чем у вас на видео, зато без "перегруза".:D
15 Ноя 01:39
2
Ржака. Просто вставил код в g-файл и мой мевед запел без всякой доработки.:D
15 Ноя 01:54
3
f6652f81235c5d4528806c489380dffe.JPG


Так, под Имперский марш, в принтер проникают вот эти ребята :D
15 Ноя 03:48
4
Прямиком из антикварного магазина? :D
15 Ноя 10:36
2
Из моего ящика ;)
15 Ноя 12:46
3
КТ315 - фарева ! ;)
15 Ноя 06:17
1
Да забыл написать , что в классических панелях REPRAP DISCOUNT SMART CONTROLLER и REPRAP DISCOUNT FULL GRAPHIC SMART CONTROLLER - тоновые динамики изначально предусмотрены схемотехникой и можно обойтись только программной настройкой.

Схема REPRAP DISCOUNT SMART CONTROLLER
38392c7c92adb3e08a80301db1926d51.jpg


Схема REPRAP DISCOUNT FULL GRAPHIC SMART CONTROLLER

4d56271c1bc75ee95fb2d526ab228d53.jpg
15 Ноя 07:54
1
Вот если бы шаговиками мелодию можно было проигрывать, как на флопиках и сканерах, вот было бы дело!
Тут даже 3-х голосую полифонию можно было бы замутить!
15 Ноя 09:19
1
Дак можно же. В начало Г-кода делаете секцию, где движки дрыгаются с нужной частотой и готов звук. Просто частоты надо подбирать методом проб и ошибок
15 Ноя 09:20
3
чукча не читатель? первый коммент как раз об этом)))
15 Ноя 10:22
2
Ставил и звуки и мелодии на начало и окончание печати, потом убрал всё. Ибо, когда принтер в 5 утра заканчивает печать, семья не очень ценит его музыкальные возможности.

Добавлю, что поиск по google "midi to gcode converter" даст вам некоторое количество онлайн сервисов, способных выдать вам готовый gcode мелодии.

А если любимые мелодии хранятся у вас в виде олдскульного RTTTL, то вам сюда: http://ddrboxman.github.io/RepRapRingtone/
15 Ноя 13:16
2
:D :D :D Пока принтер простаивает без дела, можно целый плейлист закатать, пусть поёт)))

15 Ноя 12:20
1
Было уже без всяких паек и перепрошивок: http://3dtoday.ru/blogs/sky-digger/the-sound-of-the-printer/
15 Ноя 14:03
3
В Simplify3D если выбрать в качестве "выхода" формат g-кода Binary x3g - открывается возможность вставить музыку безо всяких усилий :)

7bdfc7a39d48578c2655400eb9685d7c.jpg
16 Ноя 11:41
0
В Simplify3D ... возможность вставить музыку безо всяких усилий
Это как раз одна из причин, почему я всем рекомендую им (Симплифаем) пользоваться.
Писал на примере Simplify3D - даже небольшую "энциклопедию ошибок",
а в этом году - вышла новейшая версия 4.0.0 .

Если кто ещё не познакомился - уже пора-бы.

"Колокольчики и Бубенчики со Свистками" ("Bells and Whistles" ) - всё-таки нужны, даже если они кажутся лишними.
Весь вопрос - в какой момент они потребуются...
16 Ноя 01:16
1
А мне вот интересно, а можно ли попытаться заставить движки говорить? С миди звуками все понятно....
16 Ноя 03:26
0
Можно, конечно. Драйверы для модельных бесколлекторников (некоторые?) это сразу умеют. Всех делов дёргать ротором с нужной частотой.
Принтер при печати и так поёт. Мне кажется, несложно написать Г-код, двигающий голову с разной скоростью на разное расстояние ради тона и длины звука. Так можно даже два-три тона сразу напевать, разными осями с разной скоростью.
16 Ноя 08:37
1
:-) интересненько,
А Lerdge петь заставлял кто нить??
или он по китайски говорить начнет :-)
надо вечером попробовать.
16 Ноя 10:23
1
Я почему спрашиваю, тут вся проблема в скорости передачи команд на изменение скорости подачи двигателей, одно дело проиграть ноту музыки где частота ХХ и время звучания УУ. И другое дело проиграть живой звук, Где YY на порядки меньше, я так думаю что принтер просто не справится с перевариванием G кода. В модельных контроллерах все гораздо проще, Там нет посредника в виде G кода который нужно интерпретировать.

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Маска Вектора из Resident Evil

3Dtoday за 60 секунд от 23 ноября

Небольшой отчет с отборочного тура региональных соревнований Junior Skills в городе Красноярске.

Через тернии к звездам: российская частная ракетостроительная компания надеется на аддитивные технологии и помощь инвесторов

3D-принтеры и улыбки: компания Candid использует аддитивные технологии в производстве элайнеров

NYLON MOD от PRINT PRODUСT или как я делал ручку для скороварки