STM32 + ESP32S3 modularno zajemanje podatkov orgelske klaviature (pedala).
STM32G431? - bere 1 oktavo (od petih) = 12 tipk linearnih HALL senzorjev (A1324 če ne najdemo cenejših)
Zadnja peta oktava ima dodano 13to tipko (zgornji C) in se lahko konča/odlomi tudi po 6 tipki (do F) 8 tipki (do G) ali ima 13 tipk (zgornji C)
5 STM oktav pošilja MIDI podatke ki jih interno kalkulirajo ESP32S3 ki preko USB pošlje Midi komande računalniku.
ESP32 tudi preko interne WEB strani upravlja nastavitve STMov (po posameznih tipkah in po celi oktavi)
Branje tipk ima 3 različne MODE:
Vsaka tipka posebej.
Najprej sem rezmišljal o I2C.
Mislim pa da bi bilo boljše CAN
Oba rabita 4 žice/povezave med PCBji
Za CAN rabimo še transciver TJA1050 ali MCP2551
GND, 5V, CAN_H in L
vsaka oktava ima še LDO (AP2112K-3.3 ali MCP1700) za stabilno voltažo na HALLih
Mislim da bi bil dovolj 1 x ESP32S3 za do 28 oktav (28 x STM32G431)
5 x manualov (MIDI kanali 1-5) s po 5 oktavami + 3 oktave za pedal(MIDI kanal 6).
ESP ima lahko preko GPIO switch da ga postavi v Setup, zažene web interface in omogoči nastavljanje STMov.
Na klaviaturi pritisnemo tipko ki jo želimo nastavjati. STM pošilja podatke o poziciji magneta, lako imamo na webu gumbe ki shranijo zgornjo, spodnjo pozicijo - z možnostjo editiranja.
hkrati lahko nastavimo parametre za celo oktavo
lahko naredimo avto nastavitve za oktavo (recimo C = 60, naslednja nota bo 61, 62,63,...) in MIDI kanal.
Ko končamo z nastavitvami za določeno oktavo SAVE pošlje nastavitve na STM in jih shrani v STM Flash/NV memory.
CAN Node ID: Pri prvi instalaciji (oz. če se določen modul/oktava zamenja) ESP preko web UI zahteva da pritisnemo tipko na prvi oktavi prvega manuala, Dobi STM Silicon ID in v to oktavo/STM v NVmem zapiše NodeID = 11 in ponovimo za vse oktave. Tako so vse oktave identično sprogramirane - razen zadnja ki ima še dodan C na koncu in se tudi lahko prej konča (F ali G) ima lahko tudi 120R terminator upor na CAN.