From d5093c3474ab3406f78169a66ad78cca405e042c Mon Sep 17 00:00:00 2001 From: Manuel Weiser Date: Sat, 19 Jul 2025 15:59:22 +0200 Subject: [PATCH] =?UTF-8?q?F=C3=BCge=20detaillierte=20Bauteil-=20und=20Ein?= =?UTF-8?q?kaufsliste=20f=C3=BCr=20den=20USB-MIDI-Controller=20hinzu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PARTS_LIST.md | 277 +++++++++++++++++++++++++++++++++++++++++++++++ SHOPPING_LIST.md | 201 ++++++++++++++++++++++++++++++++++ 2 files changed, 478 insertions(+) create mode 100644 PARTS_LIST.md create mode 100644 SHOPPING_LIST.md diff --git a/PARTS_LIST.md b/PARTS_LIST.md new file mode 100644 index 0000000..51450f4 --- /dev/null +++ b/PARTS_LIST.md @@ -0,0 +1,277 @@ +# 🧰 Bauteilliste USB-MIDI-Controller + +## 📋 Komplette Bauteilliste + +### Hauptkomponenten +| Anzahl | Bauteil | Typ | Beschreibung | +|--------|---------|-----|--------------| +| 1x | Arduino Pro Micro | MCU | ATmega32u4, 5V/16MHz | +| 2x | MCP23017 | I2C I/O Expander | 16-Bit, DIP-28 oder SOIC-28 | +| 1x | CD74HC4067 | Multiplexer | 16-Kanal Analog Mux, DIP-24 | +| 8x | Potentiometer | B10K | Linear, 10kΩ, mit Knopf | +| 4x | Schieberegler | 10K | Linear, 10kΩ, 60mm Weg | +| 20x | Tact Switch | Button | 6x6mm, THT | +| 20x | LED | 5mm | Rot/Grün/Blau nach Wahl | + +### Widerstände +| Anzahl | Wert | Typ | Verwendung | +|--------|------|-----|------------| +| 2x | 4.7kΩ | 1/4W, 5% | I2C Pull-Up (SDA/SCL) | +| 20x | 10kΩ | 1/4W, 5% | Button Pull-Up (falls extern) | +| 20x | 330Ω | 1/4W, 5% | LED-Vorwiderstände | +| 4x | 10kΩ | 1/4W, 5% | MCP23017 Pull-Up (optional) | + +### Kondensatoren +| Anzahl | Wert | Typ | Verwendung | +|--------|------|-----|------------| +| 6x | 100nF | Keramik | Entstörung (Abblockkondensatoren) | +| 2x | 10µF | Elektrolyt | Spannungsglättung | +| 1x | 470µF | Elektrolyt | Haupt-Pufferkondensator | + +### Sonstige Bauteile +| Anzahl | Bauteil | Beschreibung | +|--------|---------|--------------| +| 1x | Breadboard | 830 Kontakte oder größer | +| 1x | Lochrasterplatine | 10x15cm (für finalen Aufbau) | +| 1x | USB-Kabel | Micro-USB, Datenübertragung | +| ~50x | Jumper-Kabel | Verschiedene Längen | +| 1x | Gehäuse | Kunststoff/Aluminium, nach Wahl | + +## 🔌 Exakte Widerstand-Platzierung + +### I2C Pull-Up Widerstände (4.7kΩ) +``` +R1: 4.7kΩ Pull-Up für SDA +├── VCC (+5V) +└── Arduino Pin 2 (SDA) ──── MCP23017 #1 Pin 13 ──── MCP23017 #2 Pin 13 + +R2: 4.7kΩ Pull-Up für SCL +├── VCC (+5V) +└── Arduino Pin 3 (SCL) ──── MCP23017 #1 Pin 12 ──── MCP23017 #2 Pin 12 +``` + +### LED-Vorwiderstände (330Ω) +``` +LED 0-15 (MCP23017 #1): +R3-R18: MCP23017 #1 Pin [0-15] ──── 330Ω ──── LED Anode ──── LED Kathode ──── GND + +LED 16-19 (MCP23017 #2): +R19-R22: MCP23017 #2 Pin [4-7] ──── 330Ω ──── LED Anode ──── LED Kathode ──── GND +``` + +### Button Pull-Up Widerstände (10kΩ) - Optional +``` +Falls externe Pull-Ups gewünscht (MCP23017 hat interne): + +Buttons 0-15: +R23-R38: VCC ──── 10kΩ ──── MCP23017 #1 Pin [0-15] ──── Button ──── GND + +Buttons 16-19: +R39-R42: VCC ──── 10kΩ ──── MCP23017 #2 Pin [0-3] ──── Button ──── GND +``` + +### MCP23017 Reset Pull-Up (10kΩ) - Optional +``` +R43: VCC ──── 10kΩ ──── MCP23017 #1 Pin 18 (RESET) +R44: VCC ──── 10kΩ ──── MCP23017 #2 Pin 18 (RESET) +``` + +## ⚡ Exakte Kondensator-Platzierung + +### Abblockkondensatoren (100nF) +``` +C1: Arduino Pro Micro +├── VCC Pin +└── GND Pin +(Platzierung: So nah wie möglich an VCC/GND Pins) + +C2: MCP23017 #1 +├── Pin 9 (VDD) +└── Pin 10 (VSS) +(Platzierung: Direkt am Chip, kurze Leitungen) + +C3: MCP23017 #2 +├── Pin 9 (VDD) +└── Pin 10 (VSS) +(Platzierung: Direkt am Chip, kurze Leitungen) + +C4: CD74HC4067 +├── Pin 24 (VCC) +└── Pin 12 (GND) +(Platzierung: Direkt am Chip, kurze Leitungen) + +C5: Potentiometer-Spannungsversorgung +├── VCC Rail (bei Potis) +└── GND Rail (bei Potis) +(Platzierung: Zentral bei den analogen Reglern) + +C6: LED-Spannungsversorgung +├── VCC Rail (bei LEDs) +└── GND Rail (bei LEDs) +(Platzierung: Zentral bei den LEDs) +``` + +### Spannungsglättung (10µF Elektrolyt) +``` +C7: Haupt-Spannungsversorgung Arduino +├── Arduino VCC +└── Arduino GND +(Platzierung: Am Arduino-Eingang, Polarität beachten!) + +C8: MCP23017 Spannungsversorgung +├── Gemeinsame VCC-Schiene der MCPs +└── Gemeinsame GND-Schiene der MCPs +(Platzierung: Zentral zwischen beiden MCPs) +``` + +### Pufferkondensator (470µF Elektrolyt) +``` +C9: Haupt-Pufferkondensator +├── USB +5V Eingang +└── USB GND +(Platzierung: Am USB-Eingang, stabilisiert Spannungsspitzen) +(WICHTIG: Polarität beachten! + zu +5V, - zu GND) +``` + +## 🔧 Detaillierte Schaltungsdetails + +### LED-Schaltung (pro LED) +``` +MCP23017 Pin ──── R(330Ω) ──── LED Anode (+) + │ + LED Kathode (-) + │ + GND + +Berechnung Vorwiderstand: +R = (Vcc - Vled) / Iled +R = (5V - 2.1V) / 8.8mA = 330Ω + +Bei 20 LEDs: Gesamtstrom = 20 × 8.8mA = 176mA +``` + +### Button-Schaltung (pro Button) +``` + VCC + │ + │ (R = 10kΩ Pull-Up, intern im MCP23017) + │ + ├─── MCP23017 Pin (Input) + │ + ┌────┴────┐ Button (Tact Switch) + │ │ + GND GND + +Bei gedrücktem Button: Pin = LOW (0V) +Bei losgelassenem Button: Pin = HIGH (5V via Pull-Up) +``` + +### Potentiometer-Schaltung (pro Regler) +``` +VCC ──── Pin 1 (CCW/Links/Oben) + +Signal ── Pin 2 (Wiper/Mitte) ──── Multiplexer Kanal + +GND ──── Pin 3 (CW/Rechts/Unten) + +Optional: 100nF Kondensator zwischen Signal und GND +für Entstörung bei langen Leitungen +``` + +## 📐 Layout-Empfehlungen + +### Breadboard-Aufbau +``` +Sektion 1: Arduino Pro Micro +├── C1 (100nF) direkt an VCC/GND +├── C7 (10µF) an VCC/GND +└── C9 (470µF) an USB +5V/GND + +Sektion 2: I2C-Bus +├── R1 (4.7kΩ) SDA Pull-Up +├── R2 (4.7kΩ) SCL Pull-Up +├── Kurze Verbindungen zu MCPs +└── Twisted Pair bei längeren Leitungen + +Sektion 3: MCP23017 #1 +├── C2 (100nF) direkt am Chip +├── 16× R(330Ω) für LEDs +└── Buttons mit internen Pull-Ups + +Sektion 4: MCP23017 #2 +├── C3 (100nF) direkt am Chip +├── 4× R(330Ω) für LEDs +└── Buttons mit internen Pull-Ups + +Sektion 5: CD74HC4067 +├── C4 (100nF) direkt am Chip +├── C5 (100nF) für Analog-Versorgung +└── Sternförmige Verteilung zu Potis + +Sektion 6: Potentiometer/Slider +├── Saubere VCC/GND-Verteilung +├── Geschirmte Signalleitungen +└── C5 (100nF) zentrale Entstörung +``` + +### PCB-Design Hinweise +``` +Layer 1 (Top): Komponenten + Signale +├── Kurze Leitungen für I2C +├── Sternförmige GND-Verteilung +└── Abblockkondensatoren nah an ICs + +Layer 2 (Bottom): Masse-Fläche +├── Durchgehende GND-Plane +├── VCC-Flächen getrennt +└── Thermische Vias bei Stromversorgung + +Leitungsführung: +├── I2C: < 10cm, Twisted Pair +├── Analog: Geschirmt, < 20cm +├── Digital: Unkritisch, < 50cm +└── Power: Sternförmig, dicke Leitungen +``` + +## ⚠️ Wichtige Hinweise + +### Kondensator-Polarität +``` +Elektrolytkondensatoren (10µF, 470µF): ++ (längeres Bein) ──── zu VCC/Plusspannung +- (kürzeres Bein) ──── zu GND/Masse + +Keramikkondensatoren (100nF): +Keine Polarität - können beliebig eingebaut werden +``` + +### Widerstand-Farbcodes +``` +4.7kΩ (Gelb-Violett-Rot-Gold): Pull-Up Widerstände +330Ω (Orange-Orange-Braun-Gold): LED-Vorwiderstände +10kΩ (Braun-Schwarz-Orange-Gold): Pull-Up Widerstände +``` + +### Stromverbrauch-Kalkulation +``` +Arduino Pro Micro: ~40mA +MCP23017 #1: ~1mA +MCP23017 #2: ~1mA +CD74HC4067: ~1mA +LEDs (20× 8.8mA): ~176mA (alle an) +GESAMT: ~220mA (bei allen LEDs an) + +USB 2.0 kann max. 500mA liefern ✓ +``` + +### Einkaufsliste Elektronik +``` +- Widerstände: Sortiment 1/4W, 5% (E12-Reihe) +- Kondensatoren: Keramik-Sortiment + Elkos +- LEDs: 5mm Standard, verschiedene Farben +- Tact Switches: 6×6mm, THT, >100k Zyklen +- Potis: Logarithmisch oder linear je nach Anwendung +- Jumperkabel: Buchse-Buchse, verschiedene Längen +``` + +Diese detaillierte Aufstellung gibt dir alles was du brauchst, um deinen MIDI-Controller erfolgreich aufzubauen! 🎛️ diff --git a/SHOPPING_LIST.md b/SHOPPING_LIST.md new file mode 100644 index 0000000..0267ed8 --- /dev/null +++ b/SHOPPING_LIST.md @@ -0,0 +1,201 @@ +# 🛒 Einkaufsliste USB-MIDI-Controller + +## 📦 Bestellliste für Elektronik-Händler + +### Hauptkomponenten +``` +□ 1× Arduino Pro Micro 5V/16MHz (z.B. Sparkfun DEV-12640) +□ 2× MCP23017-E/SP (Microchip, DIP-28) +□ 1× CD74HC4067E (Texas Instruments, DIP-24) +□ 8× Potentiometer B10K linear (Alpha 9mm, mit Achse) +□ 4× Schieberegler 10K linear 60mm (Alps oder Bourns) +□ 20× Tact Switch 6×6mm THT (Omron B3F-1000) +□ 20× LED 5mm rot/grün/blau (je nach Wunsch) +``` + +### Widerstände (1/4W, 5%, Metallfilm) +``` +□ 2× 4.7kΩ (Gelb-Violett-Rot-Gold) +□ 22× 330Ω (Orange-Orange-Braun-Gold) +□ 20× 10kΩ (Braun-Schwarz-Orange-Gold) - optional +□ 4× 10kΩ (Braun-Schwarz-Orange-Gold) - MCP Reset +``` + +### Kondensatoren +``` +□ 6× 100nF Keramik (104) - Entstörung +□ 2× 10µF/16V Elektrolyt - Glättung +□ 1× 470µF/16V Elektrolyt - Puffer +``` + +### Verbindungsmaterial +``` +□ 1× Breadboard 830 Kontakte (oder größer) +□ 1× Steckplatine 10×15cm (für finalen Aufbau) +□ 40× Jumperkabel male-male verschiedene Längen +□ 20× Jumperkabel male-female verschiedene Längen +□ 1× Farbiges Schaltdraht-Set (0.25mm²) +□ 1× USB-Kabel Micro-USB (Datenübertragung!) +``` + +## 💰 Kostenabschätzung (Deutschland, 2025) + +| Kategorie | Kosten | Bemerkung | +|-----------|--------|-----------| +| Arduino Pro Micro | ~25€ | Original Sparkfun oder Clone | +| ICs (MCP23017, 4067) | ~8€ | Microchip/TI Original | +| Potis & Slider | ~35€ | Qualität beeinflusst Haptik | +| Buttons & LEDs | ~15€ | Standard-Bauteile | +| Widerstände/Kondensatoren | ~5€ | Sortiment ausreichend | +| Breadboard/Platine | ~15€ | Für Prototyp + final | +| Kabel & Zubehör | ~12€ | Jumperkabel, USB-Kabel | +| **GESAMT** | **~115€** | **Plus Gehäuse nach Wahl** | + +## 🏪 Empfohlene Bezugsquellen + +### Deutschland +``` +□ Reichelt Elektronik (reichelt.de) + - Gute Preise für Standardbauteile + - Schneller Versand + - Große Auswahl + +□ Conrad Electronic (conrad.de) + - Lokale Filialen + - Premium-Bauteile + - Guter Service + +□ Mouser Electronics (mouser.de) + - Original-ICs garantiert + - Technische Datenblätter + - Für kritische Bauteile + +□ Amazon/eBay + - Arduino-Clones günstig + - Jumper-Kabel Sets + - Schnelle Lieferung +``` + +### International +``` +□ DigiKey (digikey.de) +□ Farnell (farnell.com) +□ AliExpress (längere Lieferzeit, sehr günstig) +``` + +## 🔧 Werkzeug-Checkliste + +### Mindestausstattung +``` +□ Lötkolben 25-40W (z.B. Weller WP 25) +□ Lötzinn 0.8mm bleihaltig/bleifrei +□ Entlötlitze oder Entlötpumpe +□ Seitenschneider klein +□ Abisolierzange oder Cutter +□ Multimeter (Spannung/Strom/Widerstand) +□ Lupe oder Vergrößerungsglas +``` + +### Erweiterte Ausstattung +``` +□ Heißluftstation (für SMD-Bauteile) +□ Oszilloskop (für Debugging) +□ Logikanalysator (für I2C-Analyse) +□ Dritte Hand mit Lupe +□ ESD-Schutz (Armband, Matte) +□ Bauteil-Organizer/Sortierboxen +``` + +## 📋 Montage-Reihenfolge Checklist + +### Phase 1: Breadboard-Prototyp +``` +□ Arduino Pro Micro auf Breadboard +□ Spannungsversorgung verdrahten +□ I2C-Bus mit Pull-Ups aufbauen +□ Erste MCP23017 anschließen und testen +□ Zweite MCP23017 anschließen und testen +□ CD74HC4067 Multiplexer anschließen +□ Erste Tests mit Code durchführen +``` + +### Phase 2: Buttons und LEDs +``` +□ 4 Buttons als Test anschließen +□ 4 LEDs mit Vorwiderständen testen +□ Alle 20 Buttons verdrahten +□ Alle 20 LEDs mit Widerständen verdrahten +□ Button-Funktionalität testen +□ LED-Steuerung via MIDI testen +``` + +### Phase 3: Analoge Regler +``` +□ Einen Poti an Multiplexer anschließen +□ Analoge Werte im Serial Monitor prüfen +□ Alle 8 Potis verdrahten +□ Alle 4 Schieberegler verdrahten +□ MIDI-CC Funktionalität testen +□ Kalibrierung und Feinjustierung +``` + +### Phase 4: Finale Integration +``` +□ Vollständiger Funktionstest +□ Entstörung optimieren (Kondensatoren) +□ Mechanischer Aufbau/Gehäuse +□ Beschriftung der Regler und Buttons +□ DAW-Integration testen (Ableton, etc.) +□ Dokumentation erstellen +``` + +## ⚠️ Häufige Fallstricke + +### Elektrische Probleme +``` +❌ Fehlende Pull-Up Widerstände → Buttons funktionieren nicht +❌ Vertauschte VCC/GND → ICs können beschädigt werden +❌ Zu schwache Vorwiderstände → LEDs brennen durch +❌ Fehlende Abblockkondensatoren → Instabile Funktion +❌ Lange I2C-Leitungen → Kommunikationsfehler +``` + +### Mechanische Probleme +``` +❌ Falsche Potentiometer-Kurve → Ungleichmäßige MIDI-Werte +❌ Schlechte Button-Qualität → Prellen, kurze Lebensdauer +❌ Ungeeignetes Gehäuse → Schwer zugängliche Komponenten +❌ Fehlende Befestigung → Wackelige Verbindungen +❌ Zu enge Anordnung → Schwierige Bedienung +``` + +### Software-Probleme +``` +❌ Falsche I2C-Adressen → Chips werden nicht erkannt +❌ Fehlende MIDI-Treiber → PC erkennt Controller nicht +❌ Zu hohe Update-Rate → MIDI-Spam, Performance-Probleme +❌ Fehlende Debouncing → Mehrfache Button-Events +❌ Falsche Pin-Zuordnung → Vertauschte Funktionen +``` + +## 🎯 Qualitätshinweise + +### Bauteil-Qualität +``` +✅ Original-ICs bevorzugen (Microchip, TI, Atmel) +✅ Markenpotis für bessere Haptik (Alps, Bourns, Alpha) +✅ Hochwertige Tact-Switches (Omron, Cherry) +✅ Metallfilm-Widerstände für Stabilität +✅ Niedrig-ESR Kondensatoren für Entstörung +``` + +### Verarbeitung +``` +✅ Saubere Lötstellen ohne Kältestellen +✅ Kurze Leitungen für kritische Signale +✅ Mechanisch stabile Verbindungen +✅ Ordentliche Kabelführung +✅ Ausreichende Abstände zwischen Bauteilen +``` + +Diese detaillierte Einkaufsliste hilft dir dabei, alle benötigten Bauteile systematisch zu beschaffen und häufige Fehler beim Aufbau zu vermeiden! 🎛️