Vor einigen Tagen habe ich ein gemultiplextes 3x8-LED-Raster basierend auf dem Arduino RGB Controller erstellt. In meinem Fall verwende ich nicht RGB, sondern Reihe1, Reihe2 und Reihe3. Ich habe zwar schon einige nette Animationen gemacht, bin aber mit dem Ergebnis nicht wirklich zufrieden. Die Matrix ist 1m x 2,8m groß, ich plane, sie über eine Art "Heimmusikstudio" zu hängen. Wie Sie wissen, ist die Visualisierung von Audiomaterial cool! Die statischen Animationen auf dieser LED-Matrix wären also nutzlos, wenn sie nicht dem Beat folgen würden. Ich muss einen Spektrumanalysator hinzufügen. Glücklicherweise sind alle analogen Ein- und Ausgänge kostenlos nutzbar. Ein weiterer Punkt, der dieses Raster perfekt für einen 8-Kanal-Spektrumanalysator macht, ist die Tatsache, dass ich PWM auf den 3 Zeilen verwenden darf. Das bedeutet, ich habe ein theoretisches Spektrumraster von 256*3 x 8. Natürlich ist die Kurve von 0-100% der Helligkeit der LED nicht linear, das kann mit einer einfachen Exponentialfunktion gelöst werden.
Lassen Sie mich Ihnen zunächst noch einmal sagen, dass ich kein Elektroniker bin und mein Bestes tue, um Dinge selbst zu verstehen, aber in diesem Fall bin ich nicht in der Lage, es richtig zu machen. Mein einziges Messsystem ist ein sehr langsam begrenztes Multimeter. Ich habe vor einigen Monaten auch ein Arduino kaputt gemacht, also verbinde ich nicht nur Sachen.
Kann das Arduino einen Spektrumanalysator mit nur einem Pin erstellen?
Ja! FHT
Und so fing ich an, darüber zu lesen
Ich hänge bei Punkt 1 fest.
Der maximale Kopfhörerausgang jedes Audiogeräts wird verschoben, daher brauche ich ein Potentiometer. Die Audiospannung beträgt niedrige Milliampere, aber meistens auch niedrigere Spannung.
Aus den verschiedenen Schaltungen habe ich die folgende ausgewählt. Bevor ich es mit dem Arduino verbunden habe, habe ich einen Summer verwendet, um zu testen, ob ich etwas herausbekomme. Ja, aber ich bekomme Ton, wenn ich GND mit Signal (Buchse in) invertiere, und ich bekomme auch Ton, wenn ich die Polarität des Kondensators C1 umkehre. Es gibt auch keine Art von Schutz in dieser Schaltung, ich stecke fest.
Anm.: Ich habe auch verschiedene andere Schaltungen getestet und immer die gleichen Ergebnisse erhalten, nur dass hier das Potentiometer keine Wirkung hat.
Ergebnis:
Bei einem einfachen analogen Lesen bekomme ich immer 0 (NULL).
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Als ich mehr über das Problem las, fand ich viele Beiträge, die Operationsverstärker verwenden. Da mein örtlicher Elektronikkomponentenladen nur eine begrenzte Anzahl von ICs hat, kaufe ich manchmal zufällige ICs, wenn sie mit Arduino und anderen Mikrocontrollern kompatibel sind. Und ich rette auch alte Sachen. Hier ist eine Liste von Komponenten, die ich verwenden könnte.
Da ich kein Oszilloskop und andere professionelle Geräte zum Messen des elektronischen Stroms habe, hoffe ich, dass Sie mir zeigen können, wie ich ein Audiosignal richtig an den ADC meines Mikrocontrollers anschließe .
Bedenken Sie, dass ich nichts weiß. Eine komplexe Erklärung ohne Schaltplan würde nicht helfen, das Problem für mich und wahrscheinlich viele andere Leute zu lösen.
Die Frage:
Wie schließe ich eine Standard-Kopfhörerbuchse (MP3-Player) / ein Audioausgangskabel RICHTIG an den Pin eines 0-5-V-Analog-Digital-Wandler-Mikrocontrollers an?
Hauptprobleme:
Extra:
BEARBEITEN 1
Dies verwendet den gleichen Operationsverstärker, den ich habe
Lärm kann schrecklich sein!
https://bochovj.wordpress.com/2013/06/23/sound-analysis-in-arduino/ https://bochovj.files.wordpress.com/2013/06/circuitschematics.png
BEARBEITEN 2
Arduino Prescaler: bis 19kHz, nicht 17 was ich in den Kommentaren geschrieben habe.
http://apcmag.com/arduino-project-audio-spectrum-analyser.htm/
Aber indem wir den 128-Prescaler auf 32 herunterdrehen, erhöhen wir jetzt die Abtastrate um den gleichen Faktor auf bis zu 38,4 kHz. Nochmals dank Nyquist erhalten wir eine Audiobandbreite von 19,2 kHz, was nahe genug an der 20-kHz-Perfektion liegt.
BEARBEITEN 3
Dies sollte das tun, was Sie verlangen - es nimmt das Audio auf (AC-gekoppelt) und verstärkt es (invertiert, aber das spielt keine Rolle) mit einer variablen Verstärkung von bis zu etwa 5,5 (verwenden Sie R1, um die Verstärkung anzupassen). Es spannt auch das Signal in der Mitte auf etwa 2,5 V (analogRead = 512 auf dem Arduino).
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Bitte beachten Sie jedoch die anderen Kommentare hier bezüglich der Abtastraten und des Verarbeitungsaufwands, der erforderlich ist, um das gewünschte Ergebnis zu erzielen. Tauschen Sie den Operationsverstärker auch nicht ohne Nachdenken aus - dieser Teil ist für Rail-to-Rail-Ein- und Ausgänge ausgelegt, was Sie benötigen, um den vollen Eingangsbereich des ADC des Arduino zu nutzen.
Roger Rowland
cocco
cocco
Roger Rowland
cocco
cocco
cocco
Roger Rowland
cocco
cocco
cocco
cocco