Obsah:
- Krok 1: Použité komponenty
- Krok 2: Nasledovník obálky
- Krok 3: PWM pre analógový merač
- Krok 4: Kalibrácia mikrofónu
- Krok 5: Aplikácia pre Android
- Krok 6: Zhrnutie
Video: Analógový merač VU s povolenou technológiou Bluetooth: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Bol to môj projekt pre jednu z mojich univerzitných tried s názvom SMP. Keď sme použili vývojovú dosku STM32F103RB, na základe toho som postavil svoj projekt, pričom som vychádzal z jednoduchého merača VU. Potom som pridal niekoľko ďalších funkcií, ako je podpora Bluetooth, na vysielanie hodnôt z ADC do aplikácie pre Android, aby som vytvoril jednoduchý dB diagram.
Krok 1: Použité komponenty
- Vývojová doska STM32F103RB
- Modul bluetooth HC-05 zs040
- Panel analógového merača VU (odkaz)
- Elektretový mikrofón
- Štvornásobný zosilňovač LM324N
- 2 tranzistory TIP120
- 3 diódy 1N4148
- Rôzne kondenzátory a odpory
Aj keď môžete tento obvod vyhnať z 5V lišty dosky, použil som aj externý 5V zdroj.
Krok 2: Nasledovník obálky
Hlavnou súčasťou tohto návrhu je sledovač obálok, ktorý odoberá signál z elektretového mikrofónu a vydáva napätie úmerné amplitúde signálu mikrofónu.
Surový signál z mikrofónu je najskôr vedený cez zosilňovač so ziskom 150.
Signál je potom vedený cez skutočný sledovač obálky, ktorý by mal vydávať iba časti pozitívneho signálu.
Posledná časť je odpočítaním ofsetového napätia 1,65 V od výstupu sledovača obálky na poskytnutie signálu 0 V pre žiadny zvuk, 1,65 V pre stredný zvuk a 3,3 V pre hlasný zvuk, ktorý by mal byť kompatibilný so vstavaným ADC dosky.
Tento sledovateľ obálok je implementovaný z tejto skvelej odpovede StackExchange.
Krok 3: PWM pre analógový merač
Aby som rozbehol ručičku meradla, nakonfiguroval som časovač TIM4 dosky mikrokontroléra s frekvenciou okolo 500 Hz.
Postupným skúšaním rôznych pracovných cyklov som sa vyrovnal s niektorými hodnotami, ktoré stačili na to, aby sa ručička pohybovala od 0 do 100.
V nasledujúcom kroku podrobne popíšem postup zobrazenia presnej hodnoty pomocou matematiky.
Krok 4: Kalibrácia mikrofónu
Po dokončení sledovača obálok som potom napísal jednoduchý kód na použitie ADC a overil som, že hodnota čítania sa skutočne mení podľa hlasitosti v miestnosti.
Aby som "preložil" túto hodnotu na skutočnú hodnotu dB, použil som online generátor tónov s frekvenciou 550 Hz a svoj Android na poskytnutie referenčného čítania.
Tieto hodnoty som vykreslil a použil nástroj MatLAB Curve Fit Tool na získanie funkcie, ktorá mapuje namerané hodnoty ADC na skutočné aproximácie úrovní dB (alebo aspoň dostatočne blízko hodnotám môjho telefónu).
Vidíme, že to nasleduje po logaritmickej stupnici mikrofónu.
To isté som urobil aj pre mapovanie polohy ihly na hodnoty PWM. Tieto hodnoty som zhromaždil postupným zvyšovaním hodnoty PWM o 10, kým sa nedosiahlo potrebné čítanie na jeho stupnici.
Kombináciou týchto dvoch funkcií som získal ľahký spôsob, ako zobraziť hodnoty z ADC na skutočnú hodnotu na indikátore meradla.
Krok 5: Aplikácia pre Android
Aplikácia používa túto skvelú knižnicu na komunikáciu prostredníctvom sériového rozhrania Bluetooth na výmenu informácií o bajtoch.
Hlavnou výhradou tohto systému je, že maximálna dĺžka slova odoslaného cez Bluetooth je 8 bitov a hodnota ADC je vyjadrená ako 12 bitov. Aby som tento problém vyriešil, rozdelil som jednu hodnotu ADC na 2 samostatné 6 bitové hodnoty (MSB a LSB) so zvyšnými 2 bitmi použitými na identifikáciu typu správy (MSB, LSB, CHK).
Preto pre jednu hodnotu ADC, ktorú chceme vysielať, rozdelíme skutočnú hodnotu do 2 správ. Aby som skontroloval integritu týchto správ, poslal som tretie správy s XOR prvých 2 správ.
Potom, čo je skontrolovaná integrita hodnôt, môžeme použiť rovnakú funkciu na získanie úrovne dB a vykresliť ju do nášho živého grafu.
Krok 6: Zhrnutie
Aj keď časť mikrokontroléra tohto projektu funguje celkom dobre na zobrazenie hlasitosti v miestnosti, pri odosielaní údajov cez Bluetooth som narazil na problémy kvôli strate paketov.
Zdrojový kód tohto projektu nájdete tu:
- Sprievodná aplikácia pre Android - repo
- Kód mikrokontroléra - repo
Ak vám to bude nejakým spôsobom užitočné, môžete prispieť.
Odporúča:
Obrovský analógový merač CO2: 6 krokov (s obrázkami)
Obrovský analógový merač CO2: Súčasná atmosféra nad horou na Havaji obsahuje asi 400 ppm oxidu uhličitého. Toto číslo je mimoriadne dôležité pre všetkých, ktorí žijú na povrchu planét. Teraz sme obklopení buď popierateľmi tejto starosti, alebo tými, ktorí si žmýkajú
Planetárium/orrery s povolenou technológiou Bluetooth: 13 krokov (s obrázkami)
Planetárium/orrery s povolenou technológiou Bluetooth: Tento návod bol vytvorený ako splnenie projektovej požiadavky Makecourse na University of South Florida (www.makecourse.com). Toto je moje 3-planetárne planetárium/orrery. Začalo sa to len ako semestrálny projekt pre Makecour
Analógový merač teploty: 4 kroky
Analógový merač teploty: Túto analógovú teplotu som zostavil tak, aby som si vážil tie časy, keď sme v časoch, keď žili naši dedkovia, videli iba analógové zariadenia. Digitálne vidíme iba dnes …. preto som vytvoril túto analógovú teplotu, ktorá je veľmi dobrá pre začiatočníkov a
Ovládanie počítača pomocou telefónu s povolenou technológiou Bluetooth: 6 krokov
Ovládanie počítača pomocou telefónu Sony Ericsson: Už nejaký čas čítam pokyny a vždy som chcel urobiť niektoré z vecí, o ktorých ľudia písali, ale zistil som, že sa pozerám na veci, ktoré je ťažké ich vykonať, pretože je skutočne ťažké ich vykonať, alebo
Zostavte analógový merač spotreby elektrickej energie: 8 krokov (s obrázkami)
Vybudujte si analógový merač spotreby elektrickej energie: Použil som Kill A Watt (http://www.p3international.com/products/special/P4400/P4400-CE.html) chvíľu elektromer a ja som sa rozhodol postaviť analógový. Tento projekt prešiel od jednoduchosti, s jediným panelovým ampérmetrom