PIC implementation for : Last update: 30.09.2005 Midi Channel 9 (offset 0) '------------------------------------------------------------- PIC1: Motor, register and lights control: Motor: The midi mapping is on volume controller (7). We have a single phase motor switched by a zero cross triac solid state relay. So we use 1 bit as 100Hz slow PWM controll: midi volume 0 = BIT = 0, permanent OFF midi volume 1 = 1 pulse ON, 99 pulses OFF midi volume 20 = 20 pulses ON, 80 pulses OFF midi volume 50 = 50 pulses ON, 50 pulses OFF (0.5s ON, 0.5s OFF) midi volume >= 100 = BIT permanent ON [kode voorbeeld: motor Ake, maar daar werkt het met controller 1]. [nota: de motor is eigenlijk een 3-fazen motor en zou dus ook via een PIC gegenereerde 3-fazenstroom kunnen geregeld worden, of via een standaard industriele motorcontroller, waarbij de PIC dan 0-10V moet opwekken.] Registers: midi mapping on program change command: (range: 0-15 other prog.changes reserved for selection of velo-scalings, progs. 122-127) bit 0 => register 0 ON/OFF bit bit 1 => register 1 ON/OFF bit bit 2 => register 2 ON/OFF bit bit 3 => register 3 ON/OFF bit bits 4-7 must be %False '----------------------------------------------------------- PIC's 2 tot 8: player piano design boards (version 1). PIC2: Note ON/OFF + velo for notes: 29-38 PIC3: Note ON/OFF + velo for notes: 39-48 PIC4: Note ON/OFF + velo for notes: 49-58 PIC5: Note ON/OFF + velo for notes: 59-68 PIC6: Note ON/OFF + velo for notes: 69-78 PIC7: Note ON/OFF + velo for notes: 79-88 PIC8: Note ON/OFF + velo for notes: 89-98 note 90: bell: pulse only - no hold notes 91-98 : hold only (lights) Velocity default pulse range: 0.5 - 60ms Bell: midi mapping on Note 90. With velocity. Pulse only, NO hold. (Hold will burn the solenoid!) pulse duration range: 1 to 30ms. Lights: midi mapping on NOTE ON/NOTE OFF for notes 91-98.