Sadržaj:
- Korak 1: Korištene komponente
- Korak 2: Sljedbenik omotnice
- Korak 3: PWM za analogni mjerač
- Korak 4: Kalibracija mikrofona
- Korak 5: Android aplikacija
- Korak 6: Sažetak
Video: Analogni VU mjerač s omogućenim Bluetoothom: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Ovo je bio moj projekt za jedan od mojih sveučilišnih razreda pod nazivom SMP. Dok smo koristili razvojnu ploču STM32F103RB, svoj sam projekt zasnovao na ovome, počevši od jednostavnog VU mjerača. Zatim sam dodao neke dodatne značajke poput Bluetooth podrške za emitiranje vrijednosti iz ADC -a u Android aplikaciju za stvaranje jednostavnog dB grafikona.
Korak 1: Korištene komponente
- Razvojna ploča STM32F103RB
- Bluetooth-modul HC-05 zs040
- Analogna ploča VU mjerača (veza)
- Električni mikrofon
- LM324N četvero op-pojačalo
- 2 tranzistora TIP120
- 3 diode 1N4148
- Razni kondenzatori i otpornici
Iako ovaj krug možete isključiti s 5V šine ploče, također sam koristio vanjsko napajanje od 5V.
Korak 2: Sljedbenik omotnice
Glavni dio ovog dizajna je sljedbenik ovojnice koji uzima signal iz elektronskog mikrofona i emitira napon proporcionalan amplitudi signala mikrofona.
Sirovi signal iz mikrofona najprije se prolazi kroz pojačalo s pojačanjem od 150.
Signal se zatim propušta kroz stvarni sljedbenik ovojnice koji bi trebao emitirati samo pozitivne dijelove signala.
Posljednji dio je oduzimanje pomaka napona od 1,65 V s izlaza sljedbenika omotnice kako bi se dobio signal od 0 V za bez zvuka, 1,65 V za srednji zvuk i 3,3 V za glasan zvuk koji bi trebao biti kompatibilan s ugrađenim ADC ploče.
Ovaj sljedbenik omotnice implementiran je iz ovog sjajnog odgovora StackExchange.
Korak 3: PWM za analogni mjerač
Kako bih pokrenuo iglu mjerača, konfigurirao sam TIM4 mjerač vremena na ploči mikrokontrolera s frekvencijom od oko 500 Hz.
Uzastopnim isprobavanjem različitih ciklusa rada zadovoljio sam neke vrijednosti koje su bile dovoljne da igla prijeđe od 0 do 100.
Detaljno ću opisati proces prikazivanja točne vrijednosti u sljedećem koraku primjenom neke matematike.
Korak 4: Kalibracija mikrofona
Nakon što je sljedbenik omotnice učinio, napisao sam jednostavan kod za korištenje ADC -a i provjerio da li se vrijednost čitanja doista mijenja u skladu s glasnoćom u prostoriji.
Kako bih "preveo" ovu vrijednost u stvarno očitanje dB, upotrijebio sam internetski generator tonova s frekvencijom od 550 Hz i svoj Android za pružanje referentnog očitanja.
Iscrtao sam te vrijednosti i upotrijebio MatLAB -ov alat Curve Fit Tool da dobijem funkciju koja preslikava očitanja ADC -a na stvarne aproksimacije razina dB (ili barem dovoljno blizu očitanja moga telefona).
Vidimo da ovo slijedi logaritamsku ljestvicu mikrofona.
Isto sam učinio i za mapiranje položaja igle na vrijednosti PWM -a. Prikupio sam te vrijednosti povećanjem vrijednosti PWM -a za 10 uzastopno sve dok potreba nije naišla na čitanje na ljestvici.
Kombinirajući te dvije funkcije, dobio sam jednostavan način za prikaz očitanja iz ADC -a do stvarne vrijednosti na pokazivaču mjerača.
Korak 5: Android aplikacija
Aplikacija koristi ovu super biblioteku za komunikaciju putem Bluetooth serije za razmjenu podataka o bajtovima.
Glavno upozorenje ovog sustava je da je maksimalna dužina riječi poslana preko Bluetootha 8 bita, a ADC vrijednost predstavljena kao 12 bita. Kako bih prevladao ovaj problem, podijelio sam jednu vrijednost ADC -a u 2 zasebne 6 -bitne vrijednosti (MSB i LSB), a preostala 2 bita koristi se za identifikaciju vrste poruke (MSB, LSB, CHK).
Stoga smo za jednu vrijednost ADC -a koju želimo emitirati podijelili stvarnu vrijednost u 2 poruke. Kako bih provjerio integritet tih poruka, poslao sam treću poruku s XOR prve dvije poruke.
Nakon provjere integriteta vrijednosti, možemo primijeniti istu funkciju kako bismo dobili razinu dB i iscrtali je na našem grafikonu uživo.
Korak 6: Sažetak
Iako dio ovog projekta s mikrokontrolerom radi prilično dobro i prikazuje glasnoću unutar prostorije, naišao sam na neke probleme prilikom slanja podataka putem Bluetootha zbog gubitka paketa.
Izvorni kod za ovaj projekt možete pronaći ovdje:
- Prateća aplikacija za Android - repo
- Kod mikrokontrolera - repo
Slobodno pridonesite ako vam se to na bilo koji način učini korisnim.
Preporučeni:
Veliki analogni mjerač CO2: 6 koraka (sa slikama)
Gigantski analogni mjerač CO2: Trenutna atmosfera iznad planine na Havajima sadrži oko 400 ppm ugljičnog dioksida. Taj je broj iznimno važan za sve koji žive na površini planeta. Sada smo okruženi ili poricateljima ove brige ili onima koji im krše
Nerf Blaster s omogućenim Bluetoothom: 7 koraka
Nerf Blaster s omogućenim Bluetooth -om: Osjetio sam se inspiriranim projektom Colina Furzea i odlučio sam napraviti vlastitu izvedbu za Remix Challenge. Dizajn koji sam koristio je sličan, ali amaterskiji i ima Bluetooth modul koji omogućuje kontrolu nad kupolom s mog telefona. Ovo je
Planetarij/orrery s omogućenim Bluetoothom: 13 koraka (sa slikama)
Planetarij/Orrery s omogućenim Bluetooth-om: Ova instrukcija nastala je u skladu sa zahtjevima projekta Makecoursea na Sveučilištu Južne Floride (www.makecourse.com). Ovo je moj planetarij/narudžba s 3 planete. Počelo je kao samo semestralni projekt za Makecour
Analogni mjerač temperature: 4 koraka
Analogni mjerač temperature: Ovu analognu temperaturu sam izgradio kako bih njegovao one dane kada smo analogne gadgete vidjeli samo u danima kada su živjeli naši djedovi. Danas vidimo samo digitalno … zato sam stvorio analognu temperaturu koja je jako dobra za početnike i
Kontroler joystick s omogućenim Bluetoothom: 9 koraka (sa slikama)
Kontrolnik joystick s omogućenim Bluetooth -om: Zadivite svoje prijatelje i zadivite svoju obitelj kada pogledaju "HypnoEllipse", interaktivnu A/V web aplikaciju. Napravite kućište joystick -a s omogućenim Bluetoothom, povežite ga s web -preglednikom i naizmjence izvodite samohipnozu. Ovo je