Projekt

Magnetomuzika

CAN senzorová elektronika a nízkolatenční přehrávač pro interaktivní hudební balanční podložky –⁠⁠⁠⁠⁠⁠ projekt BalanceHarmony

Prototyp 10. února 2026 Aktualizováno 21. února 2026
Hudební plošiny v provozu

O co jde

Kamarád, který se zabývá designem, mě oslovil, zda bych mu nepomohl s vdechnutím života do jeho návrhu balančních plošin. Samozřejně jsem souhlasil a pustil se do návrhu jak elektrické, tak softwarové části. Hlavní výzvou bylo udělat systém dostatečně odolný jak vůči počasí, tak vůči lidské blbosti. Zároveň bylo potřeba vyřešit servisování a aktualizace jak softwaru na hlavním počítači, tak firmwaru v senzorových deskách nadálku.

Senzorová síť pro hudební instalaci

V podstatě jde o velké klouby s umístěnými magnety a dostatečně blbuvzdornými destičkami pro pozorování magnetického pole a překládání jeho změn na hudební eventy. Samotné destičky tedy obsahují senzory, STM32 mikroprocesor a CAN rozhraní. Jelikož je podložek víc, jsou navzájem propojeny do sběrnice.

Na konci sběrnice je pak bedna s řídicí elektronikou, kde je počítač s linuxem, mikrotik router s modemem, zdroje a deska pro možnost jejich vzdáleného resetu, atd.

Co se týká hudebního softwaru, tak v jeho srdci je fluidsynth, do něhož se posílají na základě dynamiky pohybu různé MIDI eventy. Každá z podložek se dá separátně konfigurovat a dát jí charakteristický zvuk a způsob reakce - ať už jde o mapování tónů, schopnost kvantizovat je do akordů nebo nastavení taktového přichytávání.

Firmware a senzory

Každý node na sběrnici je založený na STM32L432. Vedle magnetometru HMC5883L firmware pro diagnostické účely měří teplotu a vlhkost z AHT20, pozoruje rovnost plošiny pomocí akcelerometru LIS3DHTR a řídí adresovatelné LED WS2812. Světelný protokol umí barevné přechody, segmenty a animace reagující na aktivní sektor.

Aby se to dalo jednoduše zpravovat, napsal jsem GTK nástroj pro komunikaci s hardwarem, který umožňuje testovat nody, nastavovat je, vytvářet kalibrace a upravovat chování převodníku na události.

Aktualizace přes CAN

Pro destičky jsem napsal bootloader, který dovoluje zařízení identifikovat, číst metadata firmwaru a nahrát novou aplikaci přímo po CAN sběrnici. Přenos kontroluje velikost, cílovou adresu a CRC, takže není nutné při změně firmwaru fyzicky připojovat programátor ke každému senzoru, vše může proběhnout klidně i přes SSH nadálku.

Co dál

Projekt jakožto celek nese název BallanceHarmony (Magnetomuzika je codename pro hardware + software) a už byl představen veřejnosti na Den Země v KovoZOO ve Starém Městě u Uherského Hradiště a tam ho také čeká ceoroční instalace. Projekt má nyní i svůj web balanceharmony.cz, který jsem kódoval podle kamarádova designu a hostuji jej u sebe.