Inhaltsverzeichnis:
- Schritt 1: Dinge, die wir für dieses Projekt benötigen (Anforderungen)
- Schritt 2: Theorie von ADC zu PWM
- Schritt 3: Schaltplan
- Schritt 4: Abschlusstest
Video: Spielen Sie Songs mit Arduino mit ADC zu PWM auf Flyback-Transformer oder Lautsprecher - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Hallo Leute, Dies ist der zweite Teil meines anderen anweisbaren (das war viel schwierig), Grundsätzlich habe ich in diesem Projekt den ADC und die TIMER auf meinem Arduino verwendet, um das Audiosignal in ein PWM-Signal umzuwandeln.
Dies ist viel einfacher als mein vorheriges Instructable. Hier ist der Link meines ersten Instructable, wenn Sie sehen möchten. Verknüpfung
Um die Theorie des Audiosignals, der Bitrate, der Bittiefe und der Abtastrate zu verstehen, können Sie die Theorie in meinem letzten Tutorial zu Instructable lesen. Der Link ist oben.
Schritt 1: Dinge, die wir für dieses Projekt benötigen (Anforderungen)
1. Arduino Board (wir können jedes Board (328, 2560) verwenden, dh Mega, Uno, Mini usw., aber mit bestimmten anderen Pins)
2. PC mit Arduino-Studio.
3. Steckbrett oder Perfboard
4. Anschließen von Drähten
5. TC4420 (Mosfet-Treiber oder ähnliches)
6. Power Mosfet (N- oder P-Kanal, bitte dann entsprechend verdrahten) (ich habe N-Kanal verwendet)
7. Lautsprecher oder Flyback-Transformator (Ja, Sie haben richtig gelesen!!)
8. Geeignetes Netzteil (0-12V) (Ich habe mein eigenes ATX-Netzteil verwendet)
9. Kühlkörper (ich habe von meinem alten PC gerettet).
10. Ein Verstärker (normaler Musikverstärker) oder eine Verstärkerschaltung.
Schritt 2: Theorie von ADC zu PWM
In diesem Projekt habe ich den eingebauten ADC von Arduino verwendet, um Datenabtastung eines Audiosignals durchzuführen.
ADC (Analog-To-Digital Converter) wie der Name schon sagt, ADC wandelt analoge Signale in digitale Samples um. Und für Arduino mit maximal 10 Bit Tiefe. Aber für dieses Projekt verwenden wir 8-Bit-Sampling.
Bei der Verwendung des ADC von Arduino müssen wir die ADC_reference Voltage berücksichtigen.
Arduino Uno bietet 1,1 V, 5 V (interne Referenz, die im Code definiert werden kann) oder eine externe Referenz (die wir extern auf den AREF-Pin anwenden müssen).
Nach meiner Erfahrung sollten mindestens 2,0 V als Referenzspannung verwendet werden, um ein gutes Ergebnis vom ADC zu erhalten. Da 1,1V zumindest für mich nicht gut gelaufen sind. (Persönliche Erfahrung)
*WICHTIG* *WICHTIG**WICHTIG**WICHTIG**WICHTIG*
Wir müssen ein verstärktes Audiosignal von einem Verstärker oder einer Verstärkerschaltung mit einer Spitzenspannung (Max. Spannung) von 5 V verwenden
Weil ich die interne Spannungsreferenz von 5V für unser Projekt eingestellt habe. Und ich verwende ein verstärktes Signal mit einem normalen Verstärker (Musikverstärker), der meistens in unserem Haushalt vorhanden ist oder Sie selbst bauen können.
Nun also der Hauptteil. Sampling Rate, das ist, wie viele Samples unser ADC pro Sekunde nimmt, mehr ist die Konvertierungsrate, besser wird das Ausgabeergebnis, ähnlicher wird die Ausgabewelle im Vergleich zur Eingabe sein.
Wir werden in diesem Projekt also eine Abtastrate von 33,33 kHz verwenden, indem wir den ADC-Takt auf 500 kHz einstellen. Um zu verstehen, wie das ist, müssen wir die ADC-Timing-Seite im Datenblatt des Atmega (328p)-Chips sehen.
Wir können sehen, dass wir 13,5 ADC-Taktzyklen benötigen, um eine Abtastung mit automatischer Abtastung abzuschließen. Bei einer Frequenz von 500Khz bedeutet dies 1/500Khz=2uS für einen ADC-Zyklus, was bedeutet, dass 13,5*2uS=27uS benötigt wird, um eine Probe zu vervollständigen, wenn Auto-Sampling verwendet wird. Indem Sie dem Mikrocontroller 3uS mehr geben (zur Sicherheit), insgesamt 30uS für eine Probe.
1 Sample bei 30uS bedeutet also 1/30uS=33,33 KSamples/S.
Um die Sampling-Rate einzustellen, die von TIMER0 von Arduino abhängig ist, da der ADC-Auto-Sampling-Trigger in unserem Fall davon abhängig ist, wie Sie auch im Code und Datenblatt sehen können, haben wir den Wert von OCR0A = 60 gemacht (Warum so? ???)
Denn nach der im Datenblatt angegebenen Formel.
Frequenz (oder hier Sample Rate) = Taktfrequenz von Arduino/Prescaler * Wert von OCR0A (in unserem Fall)
Frequenz oder Abtastrate, die wir wollen = 33,33 KHz
Taktfrequenz=16MHz
Prescaler-Wert = 8 (in unserem Fall)
Wert von OCR0A=wir wollen finden??
was einfach OCR0A=60 ergibt, auch in unserem Arduino-Code.
TIMER1 wird für die Trägerwelle eines Audiosignals verwendet, und ich werde nicht auf so viele Details eingehen.
Das war also die kurze Theorie des Konzepts von ADC zu PWM mit Arduino.
Schritt 3: Schaltplan
Verbinden Sie alle Komponenten wie im Schaltplan gezeigt. Sie haben hier also zwei Möglichkeiten:-
1. Schließen Sie einen Lautsprecher an (verbunden mit 5V)
2. Schließen Sie einen Flyback-Transformator an (verbunden mit 12V)
Ich habe beides probiert. Und beides funktioniert ziemlich gut.
*WICHTIG* *WICHTIG**WICHTIG**WICHTIG**WICHTIG*Wir müssen ein verstärktes Audiosignal von einem Verstärker oder einer Verstärkerschaltung mit einer Spitzenspannung (Max. Spannung) von 5V verwenden
Haftungsausschluss:-
*Ich empfehle die Verwendung des Flyback-Transformators mit Vorsicht, da er gefährlich sein kann, da er hohe Spannungen erzeugt. Und ich übernehme keine Haftung für Schäden.*
Schritt 4: Abschlusstest
Laden Sie also den angegebenen Code auf Ihren Arduino hoch und verbinden Sie das verstärkte Signal mit dem A0-Pin.
Und vergessen Sie nicht, alle Massestifte mit einer gemeinsamen Masse zu verbinden.
Und einfach viel Spaß beim Musikhören.
Empfohlen:
Spielen Sie Doom auf Ihrem iPod in 5 einfachen Schritten!: 5 Schritte
Spielen Sie Doom auf Ihrem iPod in 5 einfachen Schritten!: Eine Schritt-für-Schritt-Anleitung zum Dual-Booten von Rockbox auf Ihrem iPod, um Doom und Dutzende anderer Spiele zu spielen. Es ist wirklich einfach zu tun, aber viele Leute sind immer noch erstaunt, wenn sie sehen, wie ich Doom auf meinem iPod spiele, und werden mit der Anleitung verwirrt
So kopieren Sie Spielstände auf einfache Weise auf eine Microsoft- oder Drittanbieter-MU.: 9 Schritte
So kopieren Sie Spielstände einfach auf eine Microsoft- oder Drittanbieter-MU.: Original-Tutorial HIER CD, die es einfach macht, genau das zu tun. Dies ist kein vollständiges Softmod-Tutorial, dies
So tauschen Sie Discs auf PS1 (oder PSX) aus: 8 Schritte
So tauschen Sie Discs auf PS1 (oder PSX) aus: Dies zeigt Ihnen Schritt für Schritt, wie Sie Discs auf PS1 (oder PSX) austauschen. Dies ist ziemlich schwierig. Wenn Sie Probleme haben, besuchen Sie diese Website http://www.angelfire.com/ca/PlaystationHouse/SwapTrick.html
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Hinzugefügte Informationen: 4 Schritte
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für
So nehmen Sie Musik kostenlos oder so gut wie nichts auf – wikiHow
Wie man Musik umsonst oder so gut wie nichts aufnimmt: Ich bin in einer kleinen Band und wir wollten Musik aufnehmen, aber ohne viel Geld auszugeben, also habe ich mir das ausgedacht