Sisällysluettelo:
- Vaihe 1: Käytetyt komponentit
- Vaihe 2: Kirjekuoren seuraaja
- Vaihe 3: PWM analogiselle mittarille
- Vaihe 4: Mikrofonin kalibrointi
- Vaihe 5: Android -sovellus
- Vaihe 6: Yhteenveto
Video: Bluetooth -yhteensopiva analoginen VU -mittari: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tämä oli projektini yhdelle yliopisto -luokalleni nimeltä SMP. Kun käytimme STM32F103RB -kehityskorttia, perustin projektini tähän ja aloitin yksinkertaisesta VU -mittarista. Lisäsin sitten joitakin lisäominaisuuksia, kuten Bluetooth -tuen, arvojen lähettämiseksi ADC: stä Android -sovellukseen yksinkertaisen dB -kaavion luomiseksi.
Vaihe 1: Käytetyt komponentit
- STM32F103RB -kehityskortti
- HC-05 zs040 bluetooth-moduuli
- Analoginen ajoneuvoyksikön mittari (linkki)
- Elektreettimikrofoni
- LM324N quad op-vahvistin
- 2 TIP120 -transistoria
- 3 1N4148 diodia
- Erilaisia kondensaattoreita ja vastuksia
Vaikka voit ajaa tämän piirin pois levyn 5V -kiskosta, käytin myös ulkoista 5V -virtalähdettä.
Vaihe 2: Kirjekuoren seuraaja
Tämän suunnittelun pääosa on kirjekuoren seuraaja, joka ottaa signaalin elektreettimikrofonista ja antaa jännitteen, joka on verrannollinen mikrofonin signaalin amplitudiin.
Raaka signaali mikrofonista välitetään ensin vahvistimen kautta, jonka vahvistus on 150.
Signaali välitetään sitten varsinaisen kirjekuoren seuraajan läpi, jonka pitäisi lähettää vain positiiviset signaaliosat.
Viimeinen osa on 1,65 V: n offset-jännitteen vähentäminen kirjekuoren seuraajan ulostulosta, jotta saadaan 0 V: n signaali ilman ääntä, 1,65 V keskikokoiselle äänelle ja 3,3 V kovalle äänelle, jonka pitäisi olla yhteensopiva sisäänrakennetun Hallituksen ADC.
Tämä kirjekuoren seuraaja on toteutettu tästä upeasta StackExchange -vastauksesta.
Vaihe 3: PWM analogiselle mittarille
Saadaksesi mittarin neulan käyntiin, olen määrittänyt mikrokortin TIM4 -ajastimen, jonka taajuus on noin 500 Hz.
Kokeilemalla peräkkäin erilaisia käyttöjaksoja olen ratkaissut joitakin arvoja, jotka riittivät saamaan neulan siirtymään nollasta sataan.
Tarkennan tarkan arvon näyttämisprosessia seuraavassa vaiheessa soveltamalla jonkin verran matematiikkaa.
Vaihe 4: Mikrofonin kalibrointi
Kun kirjekuoren seuraaja oli tehty, kirjoitin sitten yksinkertaisen koodin ADC: n käyttämiseksi ja varmistin, että lukuarvo todellakin muuttuu huoneen äänenvoimakkuuden mukaan.
Jotta voisin "kääntää" tämän arvon todelliseksi dB -lukemaksi, olen käyttänyt online -äänigeneraattoria, jonka taajuus on 550 Hz, ja Android -laitteeni vertailulukeman tarjoamiseksi.
Olen piirtänyt nämä arvot ja käyttänyt MatLABin Curve Fit -työkalua saadakseen toiminnon, joka yhdistää ADC -lukemat todellisiin likimääräisiin dB -tasoihin (tai ainakin riittävän lähellä puhelimen lukemia).
Voimme nähdä, että tämä seuraa mikrofonin logaritmista asteikkoa.
Tein myös saman asian kartoittaaksesi neulan asennon PWM -arvoihin. Keräsin nämä arvot lisäämällä PWM -arvoa 10 peräkkäin, kunnes tarve osui lukemaan asteikollaan.
Yhdistämällä nämä kaksi toimintoa sain helpon tavan näyttää lukema ADC: stä todelliseen arvoon mittarin ilmaisimessa.
Vaihe 5: Android -sovellus
Sovellus käyttää tätä viileää kirjastoa kommunikoidakseen Bluetooth -sarjan kautta tavutietojen vaihtamiseen.
Tämän järjestelmän tärkein varoitus on, että Bluetoothin kautta lähetettävän sanan enimmäispituus on 8 bittiä ja ADC -arvo 12 bittiä. Tämän ongelman ratkaisemiseksi jaoin yhden ADC -arvon kahteen erilliseen 6 -bittiseen arvoon (MSB ja LSB) ja loput 2 bittiä käytetään viestityypin tunnistamiseen (MSB, LSB, CHK).
Siksi yhdelle ADC -arvolle, jonka haluamme lähettää, jaamme todellisen arvon kahteen viestiin. Näiden viestien eheyden tarkistamiseksi lähetin kolmannen viestin, jossa oli kahden ensimmäisen viestin XOR.
Kun arvon eheys on tarkistettu, voimme käyttää samaa funktiota saadaksemme dB -tason ja piirtämään sen reaaliaikaiseen kaavioon.
Vaihe 6: Yhteenveto
Vaikka tämän projektin mikro-ohjainosa toimii melko hyvin näyttäen äänenvoimakkuuden huoneen sisällä, kohtasin joitain ongelmia lähettäessäsi tietoja Bluetoothin kautta pakettien katoamisen vuoksi.
Projektin lähdekoodi löytyy täältä:
- Android -kumppanisovellus - repo
- Mikro -ohjaimen koodi - repo
Voit vapaasti osallistua, jos pidät tätä hyödyllisenä millään tavalla.
Suositeltava:
LEDura - analoginen LED -kello: 12 vaihetta (kuvilla)
LEDura - Analoginen LED -kello: Pitkän aikaa vain erilaisten projektien tekemisen jälkeen päätin tehdä ohjattavan itse. Ensimmäiseksi opastan sinua prosessissa, jolla voit tehdä oman analogisen kellosi, joka on valmistettu mahtavalla osoitettavalla LED -renkaalla. Sisärengas näyttää tunnit, ou
Kuinka tehdä analoginen kello ja digitaalikello led -nauhalla Arduinon avulla: 3 vaihetta
Kuinka tehdä analoginen kello ja digitaalikello led -nauhalla Arduinon avulla: Tänään teemme analogisen kellon & Digitaalinen kello, jossa on Led Strip ja MAX7219 Dot -moduuli Arduinolla.Se korjaa ajan paikallisen aikavyöhykkeen mukaan. Analoginen kello voi käyttää pidempää LED -nauhaa, joten se voidaan ripustaa seinälle taideteokseksi
Analoginen etupää oskilloskoopille: 6 vaihetta (kuvilla)
Analoginen käyttöliittymä oskilloskoopille: Kotona minulla on halpoja USB -äänikortteja, joita voi ostaa Banggoodista, Aliexpressistä, Ebaysta tai muusta maailmanlaajuisesta verkkokaupasta. Mietin, mihin mielenkiintoiseen voisin käyttää niitä, ja päätin yrittää tehdä matalataajuisen PC -laajuuden
Mahtava analoginen syntetisaattori/urut, jotka käyttävät vain erillisiä komponentteja: 10 vaihetta (kuvilla)
Mahtava analoginen syntetisaattori/urut, jotka käyttävät vain erillisiä komponentteja: Analogiset syntetisaattorit ovat erittäin siistejä, mutta myös melko vaikeita valmistaa. tarvitsevat muutaman peruspiirin: Yksinkertainen oskillaattori, jossa on resis
DIY -analoginen soitin USB -näppäimistöön: 4 vaihetta
DIY Analog Dialer to USB Keyboard: Tein tämän projektin huvin vuoksi, mutta tämä asia toimii normaalina näppäimistönä kaiken kanssa