Pull to refresh

Эмбиент машина из ардуино и двух гироскопов

Идея была довольно проста: сделать цилиндр из картона с прорезями, внутрь поместить фонарь, повесить цилиндр за нитки к потолку, сверху разместить ардуино с подключённым датчиком гироскопа с элементарной прошивкой, которая читает значения датчика в цикле и шлёт их по http на сервер на ноуте. Дальше использовать эти данные чтобы поразвлекаться с генеративной музыкой.

Для незнакомых с этим направлением рекомендую: https://teropa.info/loop и https://teropa.info

О технической части проекта рассказывать особенно нечего, все тривиально — взял две Arduino «Wemos esp8266 with battery pack» там уже встроенный контроллер заряда и производитель обещает что может работать часов 13 от батареи 18650, чего мне более чем достаточно. Кстати, платы эти не рекомендую, USB разъем закреплен крайне ненадежно и выламывается на раз.

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

Исходный код на github (node.js и библиотека node-midi (байндинг к RtMidi)). Кроме, собственно, генерирования MIDI нот, значения с гироскопов отдаются как MIDI Control Change, что позволяет их связать в с любой крутилкой в синтезаторе.

Код весьма безобразен, поскольку делался в после рабочее время и цель была просто развлечься, а не качество.

Поскольку на ноутбуке использую линукс и ноутбук достаточно старый, вариантов чем управлять с помощью midi было немного, поиграл с VCV Rack — очень крутая штука, но не понравилась требовательностью к ресурсам, поскольку в планах перенести все это на Raspberry. В результате остановился на SunVox.

Итак, одна из первых попыток собрать все вместе:


Более осмысленная попытка сделать что-то интересное на основе клеточного автомата правило 30:


Тоже клеточные автоматы и гамма Хираёши:


Еще один вариант, евклидовские ритмы, немного шума и много-много ревера:

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.
Change theme settings