Inhaltsverzeichnis:
- Schritt 1: Verwendete Komponenten
- Schritt 2: Umschlag-Follower
- Schritt 3: PWM für das Analogmeter
- Schritt 4: Mikrofonkalibrierung
- Schritt 5: Android-App
- Schritt 6: Zusammenfassung
Video: Bluetooth-fähiges analoges VU-Meter - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Dies war mein Projekt für eine meiner Universitätsklassen namens SMP. Da wir das Entwicklungsboard STM32F103RB verwendet haben, habe ich mein Projekt darauf aufgebaut, ausgehend von einem einfachen VU-Meter. Dann habe ich einige zusätzliche Funktionen wie Bluetooth-Unterstützung hinzugefügt, um Werte vom ADC an eine Android-App zu übertragen, um ein einfaches dB-Diagramm zu erstellen.
Schritt 1: Verwendete Komponenten
- STM32F103RB Entwicklungsboard
- HC-05 zs040 Bluetooth-Modul
- Analoges VU-Meter-Panel (Link)
- Elektret-Mikrofon
- LM324N Quad-Operationsverstärker
- 2 TIP120-Transistoren
- 3 1N4148 Dioden
- Verschiedene Kondensatoren und Widerstände
Obwohl Sie diese Schaltung von der 5V-Schiene der Platine aus betreiben können, habe ich auch ein externes 5V-Netzteil verwendet.
Schritt 2: Umschlag-Follower
Das Kernstück dieses Designs ist der Envelope Follower, der das Signal vom Elektretmikrofon aufnimmt und eine Spannung proportional zur Signalamplitude des Mikrofons ausgibt.
Das Rohsignal des Mikrofons wird zunächst durch einen Verstärker mit einer Verstärkung von 150 geleitet.
Das Signal wird dann durch den eigentlichen Envelope Follower geleitet, der nur die positiven Signalanteile ausgeben soll.
Der letzte Teil subtrahiert die Offsetspannung von 1,65 V vom Ausgang des Envelope Followers, um ein Signal von 0 V für keinen Ton, 1,65 V für mittleren Ton und 3,3 V für lauten Ton bereitzustellen, der mit dem eingebauten kompatibel sein sollte ADC des Boards.
Dieser Envelope Follower wird aus dieser großartigen StackExchange-Antwort implementiert.
Schritt 3: PWM für das Analogmeter
Um die Nadel des Messgeräts zum Laufen zu bringen, habe ich den TIM4-Timer der Mikrocontroller-Platine mit einer Frequenz von etwa 500 Hz konfiguriert.
Durch sukzessives Ausprobieren verschiedener Tastverhältnisse habe ich mich mit einigen Werten begnügt, die ausreichten, um die Nadel von 0 auf 100 zu bringen.
Ich werde den Prozess der Anzeige eines genauen Werts im nächsten Schritt detailliert beschreiben, indem ich etwas Mathematik anwende.
Schritt 4: Mikrofonkalibrierung
Nachdem ich den Envelope Follower erstellt hatte, schrieb ich dann einen einfachen Code zur Verwendung des ADC und überprüfte, ob sich der gelesene Wert tatsächlich entsprechend der Lautstärke im Raum ändert.
Um diesen Wert in einen tatsächlichen dB-Wert zu "übersetzen", habe ich einen Online-Tongenerator mit einer Frequenz von 550 Hz und mein Android verwendet, um einen Referenzwert bereitzustellen.
Ich habe diese Werte aufgetragen und das Curve Fit Tool von MatLAB verwendet, um eine Funktion zu erhalten, die ADC-Messwerte auf tatsächliche Annäherungen der dB-Pegel abbildet (oder zumindest nahe genug an die Messwerte meines Telefons).
Wir können sehen, dass dies der logarithmischen Skala des Mikrofons folgt.
Das gleiche habe ich auch gemacht, um die Nadelposition auf PWM-Werte abzubilden. Ich habe diese Werte gesammelt, indem ich den PWM-Wert sukzessive um 10 erhöht habe, bis die Anzeige auf der Skala angezeigt wurde.
Durch die Kombination dieser beiden Funktionen habe ich eine einfache Möglichkeit, den Messwert vom ADC zu einem tatsächlichen Wert auf der Messgerätanzeige anzuzeigen.
Schritt 5: Android-App
Die App verwendet diese coole Bibliothek, um über Bluetooth zu kommunizieren, um Byte-Informationen auszutauschen.
Die Haupteinschränkung dieses Systems besteht darin, dass die maximale Wortlänge, die über Bluetooth gesendet wird, 8 Bit beträgt und der ADC-Wert als 12 Bit dargestellt wird. Um dieses Problem zu lösen, habe ich einen ADC-Wert in 2 separate 6-Bit-Werte (MSB und LSB) aufgeteilt, wobei die restlichen 2 Bits verwendet werden, um den Nachrichtentyp (MSB, LSB, CHK) zu identifizieren.
Daher teilen wir für einen einzelnen ADC-Wert, den wir übertragen möchten, den tatsächlichen Wert in 2 Nachrichten auf. Um die Integrität dieser Nachrichten zu überprüfen, habe ich eine dritte Nachricht mit dem XOR der ersten beiden Nachrichten gesendet.
Nachdem die Wertintegrität überprüft wurde, können wir die gleiche Funktion anwenden, um den dB-Pegel zu erhalten und ihn in unser Live-Diagramm einzuzeichnen.
Schritt 6: Zusammenfassung
Während der Mikrocontroller-Teil dieses Projekts ziemlich gut funktioniert, um die Lautstärke in einem Raum anzuzeigen, sind beim Senden von Daten über Bluetooth aufgrund von Paketverlusten einige Probleme aufgetreten.
Den Quellcode für dieses Projekt finden Sie hier:
- Android-Begleit-App - Repo
- Mikrocontroller-Code - Repo
Fühlen Sie sich frei, einen Beitrag zu leisten, wenn Sie dies in irgendeiner Weise nützlich finden.
Empfohlen:
DIY Bluetooth Boombox Lautsprecher - HOW TO: 13 Schritte (mit Bildern)
DIY Bluetooth Boombox Lautsprecher | WIE MAN: Hallo! Vielen Dank, dass Sie sich dieses Projekt angesehen haben, dieses ist auf meiner Favoritenliste! Ich freue mich sehr, dieses tolle Projekt realisiert zu haben. Während des gesamten Projekts wurden viele neue Techniken verwendet, um die Gesamtqualität und das Finish der Spea
Ein Bluetooth-gesteuertes RC-Auto zu Hause bauen – wikiHow
So bauen Sie ein Bluetooth-gesteuertes RC-Auto zu Hause: Erfahren Sie, wie Sie ein einfaches SmartPhone-gesteuertes Roboterauto mit Arduino und sehr einfachen elektronischen Komponenten bauen
LED Demon Eye mit Smartphone Bluetooth App einrichten: 5 Schritte
So richten Sie LED Demon Eye mit Bluetooth-App für Smartphones ein: In dieser Installationsanleitung erfahren Sie, wie Sie die App einrichten, die über Bluetooth eine Verbindung herstellt. Diese App ist sowohl im Apple Store als auch bei Google Play erhältlich und heißt "Happy Lighting"
DIY Multi-Room-WLAN + Bluetooth-Audiosystem - Hi-Fi: 7 Schritte
DIY Multi-Room-WLAN + Bluetooth-Audiosystem | Hi-Fi: Ich liebe Musik und ich weiß, dass du das auch tust. Aus diesem Grund bringe ich dir dieses Tutorial, das dich dazu führt, dein eigenes Wi-Fi + Bluetooth Hi-Fi-Audiosystem zu erstellen, damit du in der Lage bist, Genießen Sie Ihre Musik von Ihrem Telefon, PC, Tablet, persönlichen Assistenten
So richten Sie einen Bluetooth-Dongle auf einem Macbook Pro ein: 6 Schritte
So richten Sie einen Bluetooth-Dongle auf einem Macbook Pro ein: Hintergrund: Nach langem Suchen und Durchstöbern veralteter Foren und Support-Threads (normalerweise gespickt mit abfälligen und wenig hilfreichen Kommentaren) habe ich es geschafft, einen Bluetooth-Dongle erfolgreich auf meinem Macbook einzurichten. Es scheint viele Leute zu geben