Bluetooth-колонка с «танцующей» ферромагнитной жидкостью

Капля феррожидкости в бутылке с водой двигается в такт музыке: тремя электромагнитами управляет Arduino, анализируя аудиосигнал.
Что такое феррожидкость и в чём замысел
Силовые линии магнитного поля обычно показывают на железных опилках, рассыпанных над магнитом. Ферромагнитная жидкость — следующий шаг: это коллоидный раствор очень мелких магнитных частиц, который возле магнита собирается в объёмного «ежа». Если влить немного такой жидкости в прозрачный сосуд с другой, не смешивающейся с ней жидкостью, получится «живая клякса», которая тянется за магнитом, меняя форму и размер.


В проекте постоянный магнит заменён электромагнитами под управлением микроконтроллера, а импульсы их включения привязаны к музыке. В результате клякса подпрыгивает и пульсирует в ритме трека, который играет встроенная беспроводная колонка.
Сосуд и порядок заливки
Феррожидкость выпускается на керосиновой и силиконовой основе; силиконовая немного дороже, но для этой задачи разница несущественна. Здесь использован флакон на 30 мл. Основной жидкости должно быть значительно больше активной, в проекте ориентировались на объём 150–300 мл и взяли плоскую стеклянную бутылку на 250 мл. Подойдёт и другая прозрачная ёмкость, например большой флакон от духов или маленький аквариум.

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

Три электромагнита вместо одного
Движущая сила — электромагниты того типа, что применяются в замках. Основной выбран диаметром 70 мм, близким к ширине бутылки, его мощности хватает с запасом. Сложнее оказалось найти для него место. Магнит у самого дна лишь прижимает жидкость к стенке, и движение выглядит невыразительно. Чем выше его поднимать, тем заметнее прыжки, но с некоторой высоты эффект снова слабеет: на расстоянии сила тяжести побеждает магнитное поле. Оптимум оказался примерно на трети высоты бутылки, то есть большая часть объёма не использовалась.
Проблему решили двумя дополнительными магнитами меньшего размера. Они стоят внизу и подбрасывают кляксу к большому, расположенному выше. Так задействуется почти вся ёмкость, а попеременное включение трёх магнитов даёт больше вариантов движения.
Корпус напечатан на 3D-принтере. Он держит бутылку, закрывая её бока и горлышко, три магнита сзади и два отрезка светодиодной ленты по бокам для подсветки. Музыкальная часть — пара динамиков и готовая звуковая плата с Bluetooth — собрана в отдельный печатный блок.
Электрическая часть
Магниты питаются от источника 12 В с током около 3 А и коммутируются через MOSFET-транзисторы. Аудиосигнал подаётся на аналоговый вход контроллера. Назначение выводов в скетче такое:
| Нижний магнит 1 | 2 |
| Нижний магнит 2 | 4 |
| Верхний магнит | 3 |
| Аудиовход | A0 |
Подбор плотности: вода с глицерином
Поведение кляксы определяют плотность и вязкость окружающей жидкости. Плотность отвечает за то, насколько «невесомой» будет феррожидкость, вязкость — за инертность движений. У воды плотность около 1 г/см3, у феррожидкости в среднем 1,1–1,2 г/см3 (зависит от производителя и партии), поэтому в чистой воде клякса лежит на дне и быстро падает обратно, как только магнит выключается.
Чтобы повысить плавучесть, основу нужно сделать плотнее. Растворять в воде соли не стали: неизвестно, как они прореагируют с компонентами феррожидкости. Вместо этого часть воды заменили глицерином, плотность которого близка к 1,3 г/см3. Воду понемногу откачивали шприцем и доливали глицерин небольшими порциями, каждый раз встряхивая бутылку до однородности и наблюдая за кляксой. В источнике указаны порции по 5 и общий расход 20 единиц (названы миллиграммами) на 250 мл. Клякса должна оставаться чуть тяжелее основы: зависать без магнита и тем более всплывать ей нельзя. Глицерин заодно немного увеличил вязкость, и движения стали плавнее.
Алгоритм реакции на музыку
Программа каждые 50 мс считывает уровень на аудиовходе и сравнивает его с предыдущим отсчётом. Различаются два порога: прирост больше 10 единиц считается малым всплеском, больше 35 — большим. При малом всплеске нижние магниты получают случайные команды включения или выключения. При большом к ним добавляется верхний магнит. Интервал между реакциями тоже случаен, от 50 до 200 мс. Если музыки долго нет, все магниты отключаются. Замысел в том, что чем громче звуковые импульсы, тем выше прыгает клякса, а чем быстрее музыка, тем чаще.
Чтобы разбавить хаотичные движения, изредка (примерно в одном случае из тридцати при большом всплеске) запускается заранее написанный сценарий. В примере он подхватывает кляксу нижними магнитами, подбрасывает её вверх и несколько раз заставляет пульсировать верхним магнитом. Таких сценариев можно добавить сколько угодно, а пороги и интервалы подстраивать под разные музыкальные стили: алгоритм задуман как основа для экспериментов и не претендует на законченность.