Präziser Arduino-Gitarrenstimmer: Schnelles, genaues automatisches Stimmen für Musiker
Komponenten und Zubehör
| Bauteil | Menge |
|---|---|
| Arduino Due (3,3 V, 84 MHz) | 1 |
| Gehörter DC-Motor (ca. 6 U/min, hohes Drehmoment ~613 oz-in) | 1 |
| L293D H-Brücke (Motortreiber) | 1 |
| 9 V Blockbatterie (Motorspannung) | 1 |
| 6× LED + Vorwiderstände (Saitenanzeige) | 1 Set |
| Taster + Pull-Down-Widerstand (Saitenwahl) | 1 |
| TL972 Operationsverstärker (Rail-to-Rail, Low-Noise) | 1 |
| Klinkenbuchse 6,3 mm (Gitarreneingang) | 1 |
| Potentiometer, Widerstände, Kondensatoren (Audio-Vorverstärker) | nach Bedarf |
| Mechanischer Greifer für Stimmwirbel (3D-Druck / Eigenbau) | 1 |
Software & Tools
- MATLAB / Simulink mit Arduino Support Package
- Stateflow (für Zustandsmaschine der Saitenwahl)
- Arduino IDE (für Deployment)
Projektübersicht
Ein automatischer Gitarrenstimmer erkennt den gespielten Ton, vergleicht die Frequenz mit der Soll-Frequenz der gewählten Saite und dreht den Stimmwirbel per Motor, bis die Saite gestimmt ist. Die Entwicklung erfolgt modellbasiert mit Simulink – Algorithmus, Simulation und Code-Generation in einer Umgebung.
Audio-Eingangsschaltung
Das Gitarrensignal (sehr klein, um 0 V schwingend) wird über einen TL972-OpAmp verstärkt, mit einem DC-Offset (ca. 1,65 V) auf den 0–3,3 V-Bereich des Arduino Due gehoben und durch einen Tiefpass (Cutoff ~2,5 kHz bei 5 kHz Abtastrate) gefiltert. Der Gain wird per Potentiometer so eingestellt, dass die Peaks knapp unter 1023 (10-bit ADC) bleiben.
Motorisierter Stimmwirbel-Greifer
Ein langsam laufender, hochdrehmomentstarker Getriebemotor (6 U/min, 3–12 V) treibt einen mechanischen Greifer an, der den Stimmwirbel umfasst. Der Motor wird über einen L293D H-Brücke von drei Arduino-Pins gesteuert (Enable, Dir1, Dir2).
Simulink-Modell & Algorithmus
Saitenwahl – Stateflow Chart
Ein Taster (Rising Edge) schaltet zyklisch durch die 6 Saiten (E A D G H e). Jeder State setzt die zugehörige LED und gibt den zulässigen Periodenbereich (periodRange) für den Stimmalgorithmus aus.
Tonhöhenbestimmung – MATLAB Function Block
- Eingang: Audiosignal (5 kHz Abtastrate),
periodRangeaus Stateflow. - Algorithmus: Periodenschätzung des periodischen Signals (Nullstellen, Autokorrelation oder Peak-Detection).
- Ausgabe: 3 digitale Signale für Motor (Enable, Vorwärts, Rückwärts) – „zu hoch“, „zu tief“, „gestimmt“.
Parameter (Schwellwert für Signalerkennung, Periodenbereiche pro Saite) können im External Mode live justiert werden, ohne Neukompilierung.
Deployment & Betrieb
- Modell in Simulink testen (External Mode, Scopes für Button, Audio, Motor).
- Auf Arduino Due deployen (Standalone, ohne PC).
- Gitarre anschließen, Saiten per Taster wählen (LED zeigt aktive Saite), Saite anschlagen – Motor dreht Stimmwirbel bis „In Tune“.
Projektdateien & Video
- Video-Demo: Automatic Guitar Tuner using Simulink and Arduino
- Dateien (Simulink-Modell, Schaltpläne): MATLAB Central File Exchange
Herstellungsprozess
- Die E-Gitarre: Geschichte, Design und moderne Innovationen
- Der Spork: Entwicklung, Materialien und moderne Fertigung
- Titan: Schlüsseleigenschaften, Anwendungen und industrielle Nutzung
- Biokeramiken: Fortschrittliche Materialien für orthopädische und zahnmedizinische Anwendungen
- Kastagnetten: Geschichte, Handwerkskunst und Performance
- Geschichte, Herstellung und Zukunft von Leim: Von antiken Klebstoffen zu modernen Innovationen
- Nähgarn: Typen, Geschichte, Produktion und Qualitätskontrolle
- Acetylen: Produktion, Anwendungen und Handhabung – Ein umfassender Überblick
- Umfassender Überblick über Asbest: Von antiken Anwendungen bis zu modernen Gesundheitsrisiken
- Zinn: Von der Bronzezeit zur modernen Industrie – Nutzung, Produktion und Zukunft