Sadržaj:
- Korak 1: Korištene komponente
- Korak 2: Sljedbenik koverti
- 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 Bluetooth -om: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Ovo je bio moj projekt za jedan od mojih univerzitetskih razreda pod nazivom SMP. Dok smo koristili razvojnu ploču STM32F103RB, zasnovao sam svoj projekt na ovome, počevši od jednostavnog VU mjerača. Zatim sam dodao neke dodatne funkcije poput Bluetooth podrške za emitiranje vrijednosti iz ADC -a u Android aplikaciju za stvaranje jednostavnog dB grafikona.
Korak 1: Korištene komponente
- STM32F103RB razvojna ploča
- HC-05 zs040 bluetooth modul
- Analogna ploča VU mjerača (veza)
- Električni mikrofon
- LM324N quad op-amp
- 2 tranzistora TIP120
- 3 1N4148 diode
- Razni kondenzatori i otpornici
Iako ovaj krug možete isključiti sa 5V šine ploče, koristio sam i vanjsko napajanje od 5V.
Korak 2: Sljedbenik koverti
Glavni dio ovog dizajna je sljedbenik ovojnice koji uzima signal iz elektronskog mikrofona i emitira napon proporcionalan amplitudi signala mikrofona.
Sirovi signal iz mikrofona prvo se propušta kroz pojačalo s pojačanjem od 150.
Signal se zatim propušta kroz stvarni pratilac omotnice koji bi trebao emitirati samo pozitivne dijelove signala.
Posljednji dio je oduzimanje ofsetnog napona od 1,65 V s izlaza slijednika 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 koverti implementiran je iz ovog sjajnog odgovora StackExchange.
Korak 3: PWM za analogni mjerač
Da 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 pređe s 0 na 100.
Detaljno ću prikazati proces prikaza tačne vrijednosti u sljedećem koraku primjenom neke matematike.
Korak 4: Kalibracija mikrofona
Nakon što je sljedbenik omotnice završio, napisao sam tada jednostavan kod za korištenje ADC -a i provjerio da li se vrijednost čitanja zaista mijenja u skladu s glasnoćom u prostoriji.
Da bih "preveo" ovu vrijednost u stvarno očitanje dB, koristio 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 dB nivoa (ili barem dovoljno blizu očitavanja mog telefona).
Vidimo da ovo slijedi logaritamsku skalu mikrofona.
Isto sam učinio i za mapiranje položaja igle na PWM vrijednosti. Prikupio sam te vrijednosti povećanjem vrijednosti PWM -a za 10 uzastopno sve dok potreba nije udarila u čitanje na njenoj skali.
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 sistema je da je maksimalna dužina riječi poslana preko Bluetootha 8 bita, a ADC vrijednost predstavljena kao 12 bita. Da bih prevladao ovaj problem, podijelio sam jednu vrijednost ADC -a u 2 odvojene vrijednosti od 6 bita (MSB i LSB) s preostala 2 bita koja se koriste za identifikaciju vrste poruke (MSB, LSB, CHK).
Stoga, za jednu vrijednost ADC -a koju želimo emitirati, podijelili smo stvarnu vrijednost u 2 poruke. Da provjerim integritet tih poruka, poslao sam treću poruku sa XOR prve dvije poruke.
Nakon provjere integriteta vrijednosti, možemo primijeniti istu funkciju kako bismo dobili nivo dB i iscrtali ga na grafikonu uživo.
Korak 6: Sažetak
Iako dio ovog projekta s mikrokontrolerom radi prilično dobro prikazujući jačinu zvuka u prostoriji, 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 smatrate da je ovo na bilo koji način korisno.
Preporučuje se:
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. Ovaj broj je izuzetno važan za sve koji žive na površini planeta. Sada smo okruženi ili poricateljima ove brige ili onima koji krše svoju
Nerf Blaster sa omogućenim Bluetooth -om: 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ćava kontrolu nad kupolom sa mog telefona. Ovo je
Planetarijum/Orrery sa omogućenim Bluetooth-om: 13 koraka (sa slikama)
Planetarijum/Orrery sa omogućenim Bluetooth-om: Ova instrukcija nastala je u skladu sa zahtjevima projekta Makecourse na Univerzitetu Južne Floride (www.makecourse.com). Ovo je moj planetarijum/narudžba sa 3 planete. Počelo je kao samo semestralni projekat za Makecour
Analogni mjerač temperature: 4 koraka
Analogni mjerač temperature: Ovu analognu temperaturu sam izgradio kako bih njegovao one dane kada smo analogne uređaje 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
Napravite analogni mjerač potrošnje električne energije: 8 koraka (sa slikama)
Napravite analogni mjerač potrošnje električne energije: Koristio sam Kill A Watt (http://www.p3international.com/products/special/P4400/P4400-CE.html) električno brojilo neko vrijeme i ja sam odlučio izgraditi analogni. Ovaj projekt je postao jednostavan, sa ampermetrom s jednom pločom i