Orgelska klaviatura

STM32 + ESP32S3 modularno zajemanje podatkov orgelske klaviature (pedala).

Koncept

STM32G431? - bere 1 oktavo (od petih) = 12 tipk linearnih HALL senzorjev
    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:

  • ON/OFF - ko se magnet na definirani poziciji približa HALL senzorju pošlje MIDI note ON - in ko se magnet oddalji od te pozicije - histereza (debouncing) pošlje Note OFF
  • Velocity - Podobno kot zgoraj, pri temu načinu imamo še zgornjo pozicijo, ko tipka potuje recimo 2mm HALL zazna predefinirano pozicijo in starta timer dokler ne doseže spodnje pozicije in iz hitrosti premikanja tipke izračuna moč udarca na tipko. Note OFF isto kot zgoraj s histerezo.
  • Proporcionalni - Podobno kot velocity, pri zgornji poziciji, začne pošiljat Polyphonic Aftertouch recimo 32/64 pozicij med zgornjim in spodnjim "kontaktom". Podatek proporcionalno odpira elektro magnete pod piščalmi.

Instructions

1
MIDI ukazi - struktura - STM > ESP > RAČ.

  • Note ON (številka tipke/tona, MIDI kanal, Velocity)
    3 bytes hex - 90 3C 64
      90 - 9=Note ON, 0 MIDI kanal (0-F, kanal 1 do 16)
      3C - 3C - Ton/tipka (0-127) - 3C=60=srednji C
      64 - Velocity (pri ON/OFF je fixna) kalkulirana iz pretečenega časa med zgornjim in spodnjim "kontaktom"/pozicijo (1-127)
  • Note OFF (številka tipke/tona, MIDI kanal, Velocity 0)
    3 bytes hex - 80 3C 00
      80 - 8=Note OFF, 0 MIDI kanal (0-F, kanal 1 do 16)
      3C - 3C - Ton/tipka (0-127) - 3C=60=srednji C
      00 - Velocity fiksna na 00
  • Polyphonic Aftertouch (številka tipke/tona, MIDI kanal, Velocity 0)
    3 bytes hex - A0 3C 7F
      A0 - A=Aftertouch, 0 MIDI kanal (0-F, kanal 1 do 16)
      3C - 3C - Ton/tipka (0-127) - 3C=60=srednji C
      00 - Presure - pritisk na tipko - trenutna pozicija med potovanjem med zgornjim in spodnjim kontaktom (0-127). Realna resolucija 32 oz 64 bi bila dovolj.
Zaželjen čim krajši "Latency" max 20 ms.

Double-check polarity before powering the device.
2
Upload Configuration

Upload configuration files and restart the controller.

/config/settings.json
/restart
            
3
Testing

Test all functions and verify that sensors and relays work correctly.

Pictures

Additional Notes

Add troubleshooting instructions, tips, or maintenance notes here.