Taula de continguts:
- Pas 1: components utilitzats
- Pas 2: seguidor del sobre
- Pas 3: PWM per al comptador analògic
- Pas 4: calibració del micròfon
- Pas 5: aplicació per a Android
- Pas 6: resum
Vídeo: Mesurador de VU analògic habilitat per Bluetooth: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Aquest va ser el meu projecte per a una de les meves classes universitàries anomenada SMP. Mentre utilitzàvem la placa de desenvolupament STM32F103RB, vaig basar el meu projecte en això, partint d’un simple mesurador de VU. A continuació, he afegit algunes funcions addicionals, com ara suport Bluetooth, per transmetre valors des de l’ADC a una aplicació per a Android per crear un gràfic simple de dB.
Pas 1: components utilitzats
- Taula de desenvolupament STM32F103RB
- Mòdul bluetooth HC-05 zs040
- Tauler analògic de mesurador de VU (enllaç)
- Micròfon electret
- Amplificador operatiu quad LM324N
- 2 transistors TIP120
- 3 díodes 1N4148
- Diversos condensadors i resistències
Tot i que podeu allunyar aquest circuit del carril de 5V de la placa, també he utilitzat una font d'alimentació externa de 5V.
Pas 2: seguidor del sobre
La peça principal d’aquest disseny és el seguidor de l’embolcall que pren el senyal del micròfon electret i genera una tensió proporcional a l’amplitud del senyal del micròfon.
El senyal cru del micròfon es passa primer per un amplificador amb un guany de 150.
El senyal es passa a través del seguidor de l'embolcall real, que només ha de generar les parts del senyal positives.
La darrera part és restar la tensió de desplaçament d’1,65 V de la sortida del seguidor de l’embolcall per proporcionar un senyal de 0 V si no hi ha so, 1,65 V per a so mitjà i 3,3 V per a so alt que hauria de ser compatible amb la funció incorporada ADC de la junta.
Aquest seguidor del sobre s’implementa a partir d’aquesta gran resposta de StackExchange.
Pas 3: PWM per al comptador analògic
Per fer funcionar l’agulla de l’indicador, he configurat el temporitzador TIM4 de la placa de microcontroladors amb una freqüència d’uns 500 Hz.
En provar successivament diferents cicles de treball, m’he conformat amb alguns valors que eren suficients per aconseguir que l’agulla passés de 0 a 100.
Detallaré el procés de mostrar un valor exacte al següent pas aplicant algunes matemàtiques.
Pas 4: calibració del micròfon
Després de fer el seguidor del sobre, vaig escriure un codi senzill per utilitzar l'ADC i vaig comprovar que el valor de lectura canvia en funció de la intensitat de l'habitació.
Per tal de "traduir" aquest valor a una lectura de dB real, he utilitzat un generador de tons en línia amb una freqüència de 550 Hz i el meu Android per proporcionar una lectura de referència.
He representat aquests valors i he utilitzat l'eina Curve Fit de MatLAB per obtenir una funció que assigna les lectures ADC a aproximacions reals dels nivells de dB (o almenys prou a prop de les lectures del meu telèfon).
Podem veure que això segueix l’escala logarítmica del micròfon.
També vaig fer el mateix per assignar la posició de l’agulla als valors PWM. Vaig reunir aquests valors incrementant el valor PWM en 10 successivament fins que la necessitat va tocar la lectura a la seva escala.
Combinant aquestes dues funcions, he obtingut una manera senzilla de mostrar la lectura de l'ADC a un valor real a l'indicador de manòmetre.
Pas 5: aplicació per a Android
L’aplicació utilitza aquesta fantàstica biblioteca per comunicar-se mitjançant sèrie Bluetooth per intercanviar informació de bytes.
La principal advertència d’aquest sistema és que la longitud màxima de les paraules enviades per Bluetooth és de 8 bits i el valor ADC es representa com a 12 bits. Per superar aquest problema, he dividit un valor ADC en 2 valors separats de 6 bits (MSB i LSB) amb els 2 bits restants utilitzats per identificar el tipus de missatge (MSB, LSB, CHK).
Per tant, per a un únic valor ADC que vulguem emetre, dividim el valor real en 2 missatges. Per comprovar la integritat d'aquests missatges, he enviat un tercer missatge amb el XOR dels dos primers missatges.
Després de comprovar la integritat del valor, podem aplicar la mateixa funció per obtenir el nivell de dB i representar-lo al nostre gràfic en viu.
Pas 6: resum
Tot i que la part del microcontrolador d’aquest projecte funciona bastant bé amb la visualització de la intensitat dins d’una habitació, he trobat alguns problemes en enviar dades per Bluetooth a causa de la pèrdua de paquets.
El codi font d’aquest projecte es pot trobar aquí:
- Aplicació complementària d'Android: repositori
- Codi del microcontrolador - repo
No dubteu a contribuir si us sembla útil d’alguna manera.
Recomanat:
Mesurador de CO2 analògic gegant: 6 passos (amb imatges)
Mesurador de CO2 analògic gegant: l’atmosfera actual sobre una muntanya a Hawaii conté unes 400 ppm de diòxid de carboni. Aquest nombre és extremadament important per a tots els que viuen a la superfície dels planetes. Ara estem envoltats de negadors d’aquesta preocupació o de qui es retira el seu
Mesurador de capacitat / mesurador de capacitats Autorange simple amb Arduino i a mà: 4 passos
Mesurador de capacitat / mesurador de capacitància Autorange simple amb Arduino i a mà: Hola! Per a aquesta unitat de física necessiteu: * una font d'alimentació amb 0-12V * un o més condensadors * un o més resistents de càrrega * un cronòmetre * un multímetre per a la tensió mesurament * un arduino nano * una pantalla de 16x2 I²C * resistències 1 / 4W amb 220, 10k, 4,7M i
Circuits GPIO de Raspberry Pi: utilitzar un sensor analògic LDR sense ADC (convertidor analògic a digital): 4 passos
Circuits GPIO de Raspberry Pi: utilitzant un sensor analògic LDR sense ADC (convertidor analògic a digital): a les instruccions anteriors us hem mostrat com podeu enllaçar els pins GPIO de Raspberry Pi amb LEDs i commutadors i com els pins GPIO poden ser alts. o Baixa. Però, i si voleu utilitzar el vostre Raspberry Pi amb un sensor analògic? Si volem utilitzar un
Mesurador de temperatura analògic: 4 passos
Mesurador de temperatura analògic: vaig construir aquesta temperatura analògica per estimar aquells dies en què només vèiem aparells analògics en els dies que vivien els nostres avis. Avui només veiem digital … per això he creat aquesta temperatura analògica que és molt bona per a principiants i
Ús del telèfon Sony Ericsson habilitat per Bluetooth per controlar l'ordinador: 6 passos
Ús del telèfon Sony Ericsson habilitat per Bluetooth per controlar l’ordinador: fa temps que llegeixo en instruccions i sempre he volgut fer algunes de les coses que la gent ha escrit, però m’he trobat mirant coses que són difícils de fer perquè són realment difícils de fer, o el th