9.7 KiB
9.7 KiB
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