Satura rādītājs:
- 1. darbība. Izmantotie komponenti
- 2. darbība: aploksnes sekotājs
- 3. darbība: PWM analogam mērītājam
- 4. solis: Mikrofona kalibrēšana
- 5. darbība: Android lietotne
- 6. darbība. Kopsavilkums
Video: Bluetooth iespējots analogais VU mērītājs: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Šis bija mans projekts vienai no manām universitātes klasēm ar nosaukumu SMP. Tā kā mēs izmantojām STM32F103RB izstrādes paneli, es savu projektu balstīju uz to, sākot ar vienkāršu VU skaitītāju. Pēc tam es pievienoju dažas papildu funkcijas, piemēram, Bluetooth atbalstu, lai pārraidītu vērtības no ADC uz Android lietotni, lai izveidotu vienkāršu dB diagrammu.
1. darbība. Izmantotie komponenti
- STM32F103RB izstrādes dēlis
- HC-05 zs040 Bluetooth modulis
- Analogs VU skaitītāja panelis (saite)
- Elektreta mikrofons
- LM324N četrkāršs op-amp
- 2 TIP120 tranzistori
- 3 1N4148 diodes
- Dažādi kondensatori un rezistori
Lai gan jūs varat vadīt šo ķēdi no tāfeles 5V sliedes, es izmantoju arī ārēju 5V barošanas avotu.
2. darbība: aploksnes sekotājs
Šī dizaina galvenais elements ir aploksnes sekotājs, kas uztver signālu no elektreta mikrofona un izvada spriegumu, kas ir proporcionāls mikrofona signāla amplitūdai.
Neapstrādāts signāls no mikrofona vispirms tiek nodots caur pastiprinātāju ar pastiprinājumu 150.
Pēc tam signāls tiek nodots caur faktisko aploksnes sekotāju, kuram vajadzētu izvadīt tikai pozitīvā signāla daļas.
Pēdējā daļa atņem 1.65V nobīdes spriegumu no aploksnes sekotāja izejas, lai nodrošinātu 0 V signālu bez skaņas, 1.65 V vidējai skaņai un 3.3 V skaļai skaņai, kam vajadzētu būt saderīgam ar iebūvēto Valdes ADC.
Šis aploksnes sekotājs ir ieviests no šīs lieliskās StackExchange atbildes.
3. darbība: PWM analogam mērītājam
Lai mērinstrumenta adata darbotos, esmu konfigurējis mikrokontrolleru plates taimeri TIM4 ar frekvenci aptuveni 500 Hz.
Pēc kārtas izmēģinot dažādus darba ciklus, esmu samierinājies ar dažām vērtībām, kas bija pietiekamas, lai adata būtu no 0 līdz 100.
Nākamajā solī es sīki aprakstīšu precīzas vērtības parādīšanas procesu, pielietojot kādu matemātiku.
4. solis: Mikrofona kalibrēšana
Pēc aploksnes sekotāja pabeigšanas es uzrakstīju vienkāršu kodu, lai izmantotu ADC, un pārliecinājos, ka lasīšanas vērtība patiešām mainās atbilstoši skaļumam telpā.
Lai šo vērtību "pārvērstu" faktiskajā dB rādījumā, esmu izmantojis tiešsaistes signālu ģeneratoru ar frekvenci 550 Hz un savu Android, lai nodrošinātu atsauces nolasījumu.
Esmu uzzīmējis šīs vērtības un izmantojis MatLAB līknes pielāgošanas rīku, lai iegūtu funkciju, kas kartē ADC rādījumus ar faktiskajiem dB līmeņu tuvinājumiem (vai vismaz pietiekami tuvu tālruņa rādījumiem).
Mēs redzam, ka tas seko mikrofona logaritmiskajai skalai.
Es arī darīju to pašu, lai kartētu adatas stāvokli ar PWM vērtībām. Es apkopoju šīs vērtības, palielinot PWM vērtību par 10 pēc kārtas, līdz vajadzība skāra tās mērogu.
Apvienojot šīs 2 funkcijas, es saņēmu vienkāršu veidu, kā parādīt rādījumu no ADC līdz faktiskajai vērtībai indikatora indikatorā.
5. darbība: Android lietotne
Lietotne izmanto šo foršo bibliotēku, lai sazinātos, izmantojot Bluetooth seriālu, lai apmainītos ar baitu informāciju.
Šīs sistēmas galvenais brīdinājums ir tas, ka maksimālais vārdu garums, kas tiek nosūtīts, izmantojot Bluetooth, ir 8 biti, un ADC vērtība tiek attēlota kā 12 biti. Lai atrisinātu šo problēmu, es sadalīju vienu ADC vērtību 2 atsevišķās 6 bitu vērtībās (MSB un LSB), bet atlikušos 2 bitus izmantoju, lai identificētu ziņojuma veidu (MSB, LSB, CHK).
Tāpēc vienai ADC vērtībai, kuru vēlamies pārraidīt, faktisko vērtību sadalām 2 ziņojumos. Lai pārbaudītu šo ziņojumu integritāti, es nosūtīju trešo ziņojumu ar XOR no pirmajiem 2 ziņojumiem.
Pēc vērtību integritātes pārbaudes mēs varam izmantot to pašu funkciju, lai iegūtu dB līmeni un uzzīmētu to mūsu tiešajā diagrammā.
6. darbība. Kopsavilkums
Kamēr es šī projekta mikrokontrollera daļa darbojas diezgan labi, parādot skaļumu telpā, man radās dažas problēmas, nosūtot datus, izmantojot Bluetooth, pakešu zuduma dēļ.
Šī projekta avota kodu var atrast šeit:
- Android pavadošā lietotne - repo
- Mikrokontrollera kods - repo
Jūtieties brīvi sniegt savu ieguldījumu, ja jums tas jebkādā veidā šķiet noderīgi.
Ieteicams:
Netīrumu lēts netīrumu mērītājs-9 USD uz Arduino balstīts skaņas augstuma mērītājs: 4 soļi (ar attēliem)
Netīrumi Lēts netīrumu mērītājs-9 ASV dolāri uz Arduino balstīts skaņas augstuma mērītājs: Dytters (A.K.A dzirdamie augstuma mērītāji) tik daudzus gadus izglāba izpletņlēcēju dzīvības. Tagad arī Audible Abby ietaupīs viņiem naudu. Basic Dytters ir četri trauksmes signāli, viens ceļā uz augšu un trīs lejup. Lidmašīnā paceļoties, izpletņlēcējiem jāzina, kad
Wifi iespējots OLED ESP32 automašīnu mērītājs: 3 soļi (ar attēliem)
Wifi iespējots OLED ESP32 automašīnu mērinstrumenti: vispirms ievads… Es būvēju automašīnu mērinstrumentus kā sava veida ieslēgšanas un izslēgšanas hobiju. Divus jaunākus piemērus skatiet vietnēs https: //www.instructables.com/id/Remote-Car-Monit … un https: //www.instructables.com/id/Remote-Car-Monit … Man īpaši patīk
Bluetooth iespējots Nerf Blaster: 7 soļi
Bluetooth iespējots Nerf Blaster: Es jutos iedvesmots no Kolina Furzes projekta un nolēmu izveidot savu pārsūtīšanu Remix Challenge. Manis izmantotais dizains ir līdzīgs, bet vairāk amatierisks, un tajā ir Bluetooth modulis, kas ļauj kontrolēt torni no mana tālruņa. Tas ir
Analogais temperatūras mērītājs: 4 soļi
Analogais temperatūras mērītājs: Es izveidoju šo analogo temperatūru, lai lolotu tās dienas, kad mēs redzējām analogos sīkrīkus tikai tajos laikos, kad dzīvoja mūsu vectēvi. Mēs šodien redzam tikai ciparu …. tāpēc es izveidoju šo analogo temperatūru, kas ir ļoti laba iesācējiem un
Bluetooth iespējots kursorsviru kontrolieris: 9 soļi (ar attēliem)
Bluetooth iespējots kursorsviru kontrolieris: izbrīniet savus draugus un pārsteidziet ģimeni, kad viņi izskata interaktīvu A/V tīmekļa lietotni "HypnoEllipse". Izveidojiet Bluetooth iespējotu kursorsviras korpusu, pievienojiet to tīmekļa pārlūkprogrammai un pēc kārtas veiciet pašhipnozi. Šī ir