Füge detaillierte Verdrahtungspläne für den USB-MIDI-Controller hinzu, einschließlich Pinbelegung, I2C-Bus-Verbindungen und Layout für analoge Regler und Tasten.
This commit is contained in:
217
PINOUT.md
Normal file
217
PINOUT.md
Normal file
@@ -0,0 +1,217 @@
|
||||
# 🔌 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! 🎵
|
200
WIRING.md
Normal file
200
WIRING.md
Normal file
@@ -0,0 +1,200 @@
|
||||
# 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
|
Reference in New Issue
Block a user