# Verdrahtungsplan fΓΌr USB-MIDI-Controller ## πŸ“‹ Übersicht der Verbindungen ### Arduino Pro Micro Pin-Belegung ``` Arduino Pro Micro (ATmega32u4) β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ RAW GND β”‚ β”‚ GND RST β”‚ β”‚ RST VCC β”‚ β”‚ VCC A3 β”‚ SDA β”‚ 2 A2 β”‚ SCL β”‚ 3 A1 β”‚ MUX_S0 β”‚ 4 A0 β”‚ ──── MUX Signal MUX_S1 β”‚ 5 15 β”‚ MUX_S2 β”‚ 6 14 β”‚ MUX_S3 β”‚ 7 16 β”‚ β”‚ 8 10 β”‚ β”‚ 9 TXO β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ## πŸ”Œ Detaillierte Verdrahtung ### 1. I2C Bus (MCP23017 Chips) ``` Arduino Pro Micro MCP23017 #1 (0x20) MCP23017 #2 (0x21) Pin 2 (SDA) ──┬─── Pin 13 (SDA) ───────── Pin 13 (SDA) Pin 3 (SCL) ──┼─── Pin 12 (SCL) ───────── Pin 12 (SCL) VCC ──────┼─── Pin 9 (VDD) ────────── Pin 9 (VDD) GND ──────┼─── Pin 10 (VSS) ──────── Pin 10 (VSS) β”‚ Pin 18 (RESET) ─── VCC β”‚ Pin 15,16,17 ────── GND (A0,A1,A2 = 0x20) β”‚ └─── Pin 18 (RESET) ─── VCC Pin 15 ────────── VCC (A0 = HIGH) Pin 16,17 ──────── GND (A1,A2 = 0x21) ``` ### 2. CD74HC4067 Multiplexer ``` Arduino Pro Micro CD74HC4067 Pin 4 (MUX_S0) ────── Pin 10 (S0) Pin 5 (MUX_S1) ────── Pin 11 (S1) Pin 6 (MUX_S2) ────── Pin 14 (S2) Pin 7 (MUX_S3) ────── Pin 13 (S3) Pin A0 ─────────────── Pin 1 (SIG) VCC ─────────────── Pin 24 (VCC) GND ─────────────── Pin 12 (GND) Pin 15 (EN) ──── GND (Enable) ``` ## πŸŽ›οΈ Analoge Regler-AnschlΓΌsse ### Potentiometer & Schieberegler an Multiplexer ``` Multiplexer Kanal Komponente Wert C0 ────── Poti 1 (Mittelpin) CC1 C1 ────── Poti 2 (Mittelpin) CC2 C2 ────── Poti 3 (Mittelpin) CC3 C3 ────── Poti 4 (Mittelpin) CC4 C4 ────── Poti 5 (Mittelpin) CC5 C5 ────── Poti 6 (Mittelpin) CC6 C6 ────── Poti 7 (Mittelpin) CC7 C7 ────── Poti 8 (Mittelpin) CC8 C8 ────── Slider 1 (Mittelpin) CC9 C9 ────── Slider 2 (Mittelpin) CC10 C10 ────── Slider 3 (Mittelpin) CC11 C11 ────── Slider 4 (Mittelpin) CC12 C12-C15 ────── (Reserviert fΓΌr Erweiterung) ``` ### Potentiometer-Verdrahtung (pro Poti/Slider) ``` VCC ──── Pin 1 (links/oben) GND ──── Pin 3 (rechts/unten) Multiplexer ── Pin 2 (Mittelpin/Schleifer) ``` ## πŸ”˜ Button & LED Matrix ### MCP23017 #1 (Adresse 0x20) - Buttons 0-15 & LEDs 0-15 ``` MCP Pin Button LED MIDI Note Funktion 0 ──── BTN0 ── LED0 ── C2 (36) ── Kick 1 ──── BTN1 ── LED1 ── C#2 (37) ── Snare 2 ──── BTN2 ── LED2 ── D2 (38) ── Hi-Hat 3 ──── BTN3 ── LED3 ── D#2 (39) ── Open Hat 4 ──── BTN4 ── LED4 ── E2 (40) ── Clap 5 ──── BTN5 ── LED5 ── F2 (41) ── Crash 6 ──── BTN6 ── LED6 ── F#2 (42) ── Ride 7 ──── BTN7 ── LED7 ── G2 (43) ── Tom 1 8 ──── BTN8 ── LED8 ── G#2 (44) ── Tom 2 9 ──── BTN9 ── LED9 ── A2 (45) ── Tom 3 10 ──── BTN10 ── LED10 ── A#2 (46) ── Perc 1 11 ──── BTN11 ── LED11 ── B2 (47) ── Perc 2 12 ──── BTN12 ── LED12 ── C3 (48) ── Perc 3 13 ──── BTN13 ── LED13 ── C#3 (49) ── Perc 4 14 ──── BTN14 ── LED14 ── D3 (50) ── FX 1 15 ──── BTN15 ── LED15 ── D#3 (51) ── FX 2 ``` ### MCP23017 #2 (Adresse 0x21) - Buttons 16-19 & LEDs 16-19 ``` MCP Pin Button LED MIDI Note Funktion 0 ──── BTN16 ── / ── E3 (52) ── Transport: Play 1 ──── BTN17 ── / ── F3 (53) ── Transport: Stop 2 ──── BTN18 ── / ── F#3 (54) ── Transport: Rec 3 ──── BTN19 ── / ── G3 (55) ── Transport: Loop 4 ──── LED16 ── / ── / ── Play LED 5 ──── LED17 ── / ── / ── Stop LED 6 ──── LED18 ── / ── / ── Rec LED 7 ──── LED19 ── / ── / ── Loop LED 8-15 ──── (Nicht verwendet) ``` ## ⚑ Button-Schaltung (pro Button) ``` VCC β”‚ β”Œβ”΄β” 10kΞ© Pull-Up β”‚ β”‚ (intern im MCP23017) β””β”¬β”˜ β”‚ β”œβ”€β”€β”€ MCP23017 Pin (Input) β”‚ β”Œβ”΄β” Button (Tact Switch) β””β”¬β”˜ β”‚ GND ``` ## πŸ’‘ LED-Schaltung (pro LED) ``` MCP23017 Pin (Output) ──┬── 220Ξ© Widerstand ──┬── LED Anode (+) β”‚ β”‚ GND β”‚ LED Kathode (-) β”‚ GND ``` ## πŸ”„ VollstΓ€ndiger Systemaufbau ``` USB-MIDI-Controller β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Arduino Pro β”‚ β”‚ CD74HC4067 β”‚ β”‚ β”‚ β”‚ Micro β”‚ ──── β”‚ Multiplexer β”‚ ──── 12x Analog β”‚ β”‚ β”‚ (ATmega32u4) β”‚ β”‚ β”‚ Regler β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ I2C Bus β”‚ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β–Ό β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ MCP23017 β”‚ β”‚ MCP23017 β”‚ β”‚ β”‚ β”‚ #1 β”‚ β”‚ #2 β”‚ β”‚ β”‚ β”‚ (0x20) β”‚ β”‚ (0x21) β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β–Ό β”‚ β”‚ 16x Buttons 4x Buttons β”‚ β”‚ 16x LEDs 4x LEDs β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό USB β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ PC β”‚ β”‚ DAW β”‚ β”‚ Software β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` ## πŸ“Œ Wichtige Hinweise ### Pull-Up WiderstΓ€nde - MCP23017 hat interne Pull-Up WiderstΓ€nde (aktiviert im Code) - Externe 4.7kΞ© Pull-Ups fΓΌr I2C-Bus empfohlen bei langen Leitungen ### Spannungsversorgung - Alle Komponenten arbeiten mit 5V - Gesamtstromaufnahme: ~500mA (bei allen LEDs an) - USB kann bis zu 500mA liefern ### Verkabelungstipps - I2C-Leitungen kurz halten (< 1m) - Twisted Pair fΓΌr I2C bei lΓ€ngeren Strecken - SternfΓΆrmige GND-Verteilung - EntstΓΆrkondensatoren (100nF) an jedem IC ### Debugging - Serial Monitor fΓΌr MIDI-Events - LED-Test beim Start zeigt Hardware-Status - I2C-Scanner-Code fΓΌr Adress-Probleme verfΓΌgbar