201 lines
9.7 KiB
Markdown
201 lines
9.7 KiB
Markdown
# 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
|