# πŸ”Œ Pinout-Diagramm USB-MIDI-Controller ## Arduino Pro Micro Pinout mit AnschlΓΌssen ``` Arduino Pro Micro (Sparkfun) Micro-USB Port β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β” β”‚ β”‚ β”‚USBβ”‚ β”‚ External β”‚ RAW β””β”€β”€β”€β”˜ GND β”‚ Ground Power β”‚ β”‚ β”‚ GND RSTβ”‚ Reset β”‚ β”‚ β”‚ RST VCCβ”‚ +5V β”‚ β”‚ β”‚ VCC A3β”‚ (nicht verwendet) β”‚ β”‚ SDA β”‚ 2 A2β”‚ (nicht verwendet) (I2C Data) β”‚ β”‚ SCL β”‚ 3 A1β”‚ (nicht verwendet) (I2C Clock) β”‚ β”‚ MUX_S0 β”‚ 4 A0β”‚ MUX Signal (Select 0) β”‚ β”‚ (Analog Input) MUX_S1 β”‚ 5 15β”‚ (nicht verwendet) (Select 1) β”‚ β”‚ MUX_S2 β”‚ 6 14β”‚ (nicht verwendet) (Select 2) β”‚ β”‚ MUX_S3 β”‚ 7 16β”‚ (nicht verwendet) (Select 3) β”‚ β”‚ β”‚ 8 10β”‚ (nicht verwendet) (nicht verw.) β”‚ β”‚ β”‚ 9 TXOβ”‚ (nicht verwendet) (nicht verw.) β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ## πŸ”— Anschluss-Matrix ### I2C-Bus Verteilung ``` +5V ────┬─── MCP23017 #1 VDD (Pin 9) β”œβ”€β”€β”€ MCP23017 #2 VDD (Pin 9) └─── Pull-Up WiderstΓ€nde (4.7kΞ©) β”‚ Arduino Pin 2 (SDA) ─────────────┼─── MCP23017 #1 SDA (Pin 13) β”œβ”€β”€β”€ MCP23017 #2 SDA (Pin 13) β”‚ Arduino Pin 3 (SCL) ─────────────┼─── MCP23017 #1 SCL (Pin 12) └─── MCP23017 #2 SCL (Pin 12) GND ────┬─── MCP23017 #1 VSS (Pin 10) └─── MCP23017 #2 VSS (Pin 10) ``` ## 🎚️ MCP23017 Chip-Layout ### MCP23017 #1 (Adresse 0x20) ``` MCP23017 #1 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” Button 0 ───│ 1 GPB0 VDD 28 │─── +5V Button 1 ───│ 2 GPB1 GPB7 27 │─── Button 7 Button 2 ───│ 3 GPB2 GPB6 26 │─── Button 6 Button 3 ───│ 4 GPB3 GPB5 25 │─── Button 5 Button 4 ───│ 5 GPB4 GPB4 24 │─── Button 4 NC ───────│ 6 GPB5 GPB3 23 │─── LED 3 NC ───────│ 7 GPB6 GPB2 22 │─── LED 2 NC ───────│ 8 GPB7 GPB1 21 │─── LED 1 +5V ─────│ 9 VDD GPB0 20 │─── LED 0 GND ─────│10 VSS INTA 19 │─── NC GND ─────│11 NC INTB 18 │─── +5V (Reset) I2C SCL ─────│12 SCL GPA7 17 │─── LED 15 I2C SDA ─────│13 SDA GPA6 16 │─── LED 14 GND ─────│14 A0 GPA5 15 │─── LED 13 Button 8 ─────│15 GPA0 GPA4 14 │─── LED 12 Button 9 ─────│16 GPA1 GPA3 13 │─── LED 11 Button 10 ─────│17 GPA2 GPA2 12 │─── LED 10 Button 11 ─────│18 GPA3 GPA1 11 │─── LED 9 Button 12 ─────│19 GPA4 GPA0 10 │─── LED 8 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ### MCP23017 #2 (Adresse 0x21) ``` MCP23017 #2 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” Button 16 ───│ 1 GPB0 VDD 28 │─── +5V Button 17 ───│ 2 GPB1 GPB7 27 │─── LED 19 Button 18 ───│ 3 GPB2 GPB6 26 │─── LED 18 Button 19 ───│ 4 GPB3 GPB5 25 │─── LED 17 LED 16 ───│ 5 GPB4 GPB4 24 │─── LED 16 NC ───────│ 6 GPB5 GPB3 23 │─── NC NC ───────│ 7 GPB6 GPB2 22 │─── NC NC ───────│ 8 GPB7 GPB1 21 │─── NC +5V ─────│ 9 VDD GPB0 20 │─── NC GND ─────│10 VSS INTA 19 │─── NC GND ─────│11 NC INTB 18 │─── +5V (Reset) I2C SCL ─────│12 SCL GPA7 17 │─── NC I2C SDA ─────│13 SDA GPA6 16 │─── NC +5V ─────│14 A0 GPA5 15 │─── NC NC ───────│15 GPA0 GPA4 14 │─── NC NC ───────│16 GPA1 GPA3 13 │─── NC NC ───────│17 GPA2 GPA2 12 │─── NC NC ───────│18 GPA3 GPA1 11 │─── NC NC ───────│19 GPA4 GPA0 10 │─── NC β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ## πŸ”€ CD74HC4067 Multiplexer Layout ``` CD74HC4067 Multiplexer β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” Analog 0 ─────│ 1 C0 VCC 24 │───── +5V Analog 1 ─────│ 2 C1 C15 23 │───── (Erweiterung) Analog 2 ─────│ 3 C2 C14 22 │───── (Erweiterung) Analog 3 ─────│ 4 C3 C13 21 │───── (Erweiterung) Analog 4 ─────│ 5 C4 C12 20 │───── Analog 11 (Slider 4) Analog 5 ─────│ 6 C5 C11 19 │───── Analog 10 (Slider 3) Analog 6 ─────│ 7 C6 C10 18 │───── Analog 9 (Slider 2) Analog 7 ─────│ 8 C7 C9 17 │───── Analog 8 (Slider 1) ─────│ 9 C8 C8 16 │───── Arduino A0 ───────│10 SIG C7 15 │───── Arduino Pin 4 ─────│11 S0 C6 14 │───── Arduino Pin 6 (S2) GND ─────│12 GND C5 13 │───── Arduino Pin 7 (S3) Arduino Pin 5 ─────│13 S1 C4 12 │───── GND ─────│14 EN C3 11 │───── β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ## πŸŽ›οΈ Regler-AnschlΓΌsse (Potis & Slider) ### Typische Potentiometer/Slider-Verdrahtung ``` Poti/Slider Multiplexer VCC ──── Pin 1 (links) Signal ── Pin 2 (mitte) ──── Kanal Cx GND ──── Pin 3 (rechts) ``` ### Kanal-Zuordnung ``` Kanal Komponente MIDI-CC Funktion ──────────────────────────────────────────── C0 ── Poti 1 ── CC1 ── Volume Ch1 C1 ── Poti 2 ── CC2 ── Volume Ch2 C2 ── Poti 3 ── CC3 ── Volume Ch3 C3 ── Poti 4 ── CC4 ── Volume Ch4 C4 ── Poti 5 ── CC5 ── Filter 1 C5 ── Poti 6 ── CC6 ── Filter 2 C6 ── Poti 7 ── CC7 ── Filter 3 C7 ── Poti 8 ── CC8 ── Filter 4 C8 ── Slider 1 ── CC9 ── Master Vol C9 ── Slider 2 ── CC10 ── Crossfader C10 ── Slider 3 ── CC11 ── Send FX 1 C11 ── Slider 4 ── CC12 ── Send FX 2 ``` ## ⚑ Stromversorgung & Signale ### Power Distribution ``` USB +5V ──┬── Arduino VCC β”œβ”€β”€ MCP23017 #1 VDD β”œβ”€β”€ MCP23017 #2 VDD β”œβ”€β”€ CD74HC4067 VCC β”œβ”€β”€ Potentiometer VCC (alle) └── LED-VorwiderstΓ€nde USB GND ──┬── Arduino GND β”œβ”€β”€ MCP23017 #1 VSS β”œβ”€β”€ MCP23017 #2 VSS β”œβ”€β”€ CD74HC4067 GND β”œβ”€β”€ Potentiometer GND (alle) β”œβ”€β”€ Button-Switches (alle) └── LED-Kathoden (alle) ``` ### Signal-IntegritΓ€t - **I2C Pull-Ups**: 4.7kΞ© zwischen SDA/SCL und +5V - **Button-Debouncing**: Software-basiert (50ms) - **Analog-Filtering**: Schwellenwert-basiert (Β±4 LSB) - **LED-Strombegrenzung**: 220-470Ξ© VorwiderstΓ€nde ## πŸ“ Layout-Empfehlungen ### PCB/Breadboard-Layout ``` [Arduino Pro Micro] β”‚ β”‚ I2C Bus (kurz halten!) β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ [MCP23017 #1] [MCP23017 #2] β”‚ β”‚ β”‚ β”‚ [16 Buttons] [4 Buttons] [16 LEDs] [4 LEDs] [CD74HC4067] β”‚ [12 Analog] [Controls] ``` ### Kabel-LΓ€ngen - **I2C-Bus**: < 30cm (kurze Verbindungen) - **Analog-Signale**: < 50cm (gegen Rauschen) - **Digital-Signale**: < 1m (unkritisch) - **Power**: Stern-Topologie vom Arduino aus Dieser detaillierte Verdrahtungsplan zeigt dir genau, wie alle Komponenten miteinander verbunden werden mΓΌssen. Die ASCII-Diagramme geben dir eine klare visuelle Referenz fΓΌr den Aufbau deines MIDI-Controllers! 🎡