Cuprins:
- Pasul 1: Componente utilizate
- Pasul 2: Urmăritor plic
- Pasul 3: PWM pentru contorul analogic
- Pasul 4: Calibrarea microfonului
- Pasul 5: aplicația Android
- Pasul 6: Rezumat
Video: Contor VU analogic activat Bluetooth: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Acesta a fost proiectul meu pentru una dintre clasele mele universitare numită SMP. Pe măsură ce foloseam placa de dezvoltare STM32F103RB, mi-am bazat proiectul pe acest lucru, pornind de la un simplu contor VU. Am adăugat apoi câteva funcții suplimentare, cum ar fi suportul Bluetooth, pentru a difuza valori de la ADC într-o aplicație Android pentru a crea o diagramă simplă dB.
Pasul 1: Componente utilizate
- Placă de dezvoltare STM32F103RB
- Modul bluetooth HC-05 zs040
- Panou analogic VU meter (link)
- Microfon electret
- LM324N quad op-amp
- 2 tranzistori TIP120
- 3 diode 1N4148
- Diverse condensatoare și rezistențe
Deși puteți conduce acest circuit de pe șina de 5V a plăcii, am folosit și o sursă de alimentare externă de 5V.
Pasul 2: Urmăritor plic
Piesa principală a acestui design este următorul plic care preia semnalul de la microfonul electret și emite o tensiune proporțională cu amplitudinea semnalului microfonului.
Semnalul brut de la microfon este trecut mai întâi printr-un amplificator cu un câștig de 150.
Semnalul este apoi trecut prin următorul efectiv al plicului, care ar trebui să emită doar părțile pozitive ale semnalului.
Ultima parte este scăderea tensiunii de offset de 1.65V din ieșirea urmăritorului plicului pentru a furniza un semnal de 0 V fără sunet, 1.65 V pentru sunet mediu și 3.3 V pentru sunet puternic care ar trebui să fie compatibil cu ADC al consiliului.
Acest adept plic este implementat din acest mare răspuns StackExchange.
Pasul 3: PWM pentru contorul analogic
Pentru a porni acul indicatorului, am configurat temporizatorul TIM4 al plăcii microcontrolerului cu o frecvență de aproximativ 500 Hz.
Încercând succesiv diferite cicluri de funcționare, m-am stabilit cu câteva valori care au fost suficiente pentru ca acul să treacă de la 0 la 100.
Voi detalia procesul de afișare a unei valori exacte în pasul următor prin aplicarea unor matematici.
Pasul 4: Calibrarea microfonului
După ce am urmărit plicul, am scris apoi un cod simplu pentru a utiliza ADC și am verificat că valoarea citită se schimbă într-adevăr în funcție de volumul sonor din interiorul camerei.
Pentru a „traduce” această valoare într-o citire dB reală, am folosit un generator de tonuri online cu o frecvență de 550 Hz și Android-ul meu pentru a oferi o citire de referință.
Am trasat aceste valori și am folosit Instrumentul Curbe Fit al MatLAB pentru a obține o funcție care mapează citirile ADC la aproximări reale ale nivelurilor de dB (sau cel puțin suficient de aproape de citirile telefonului meu).
Putem vedea că acest lucru urmează scara logaritmică a microfonului.
De asemenea, am făcut același lucru pentru a mapa poziția acului cu valorile PWM. Am adunat aceste valori prin creșterea valorii PWM cu 10 succesiv, până când necesitatea a lovit citirea pe scara sa.
Combinând cele 2 funcții am obținut o modalitate ușoară de a afișa citirea de la ADC la o valoare reală pe indicatorul indicatorului.
Pasul 5: aplicația Android
Aplicația folosește această bibliotecă interesantă pentru a comunica prin serial Bluetooth pentru a schimba informații despre octeți.
Avertismentul principal al acestui sistem este că lungimea maximă a cuvintelor trimise prin Bluetooth este de 8 biți, iar valoarea ADC este reprezentată ca 12 biți. Pentru a depăși această problemă, am împărțit o valoare ADC în 2 valori separate de 6 biți (MSB și LSB), cu restul de 2 biți folosiți pentru a identifica tipul de mesaj (MSB, LSB, CHK).
Prin urmare, pentru o singură valoare ADC pe care dorim să o difuzăm, împărțim valoarea reală în 2 mesaje. Pentru a verifica integritatea acestor mesaje, am trimis un al treilea mesaj cu XOR-ul primelor 2 mesaje.
După verificarea integrității valorii, putem aplica aceeași funcție pentru a obține nivelul dB și a-l grafica pe graficul nostru live.
Pasul 6: Rezumat
În timp ce eu, partea de microcontroler a acestui proiect, funcționează destul de bine, afișând volumul în interiorul unei camere, am întâmpinat câteva probleme la trimiterea de date prin Bluetooth din cauza pierderii de pachete.
Codul sursă pentru acest proiect poate fi găsit aici:
- Aplicație însoțitoare Android - repo
- Cod microcontroler - repo
Simțiți-vă liber să contribuiți dacă vi se pare util acest lucru în vreun fel.
Recomandat:
Bluetooth activat Nerf Blaster: 7 pași
Bluetooth activat Nerf Blaster: M-am simțit inspirat de proiectul lui Colin Furze și am decis să fac propria versiune pentru Remix Challenge. Designul pe care l-am folosit este similar, dar mai amator, și are un modul Bluetooth care permite controlul turelei de pe telefonul meu. Acesta este
Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic digital): 4 pași
Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic la digital): în manualele noastre anterioare, v-am arătat cum puteți conecta pinii GPIO ai Raspberry Pi la LED-uri și comutatoare și modul în care pinii GPIO pot fi mari sau Scăzut. Dar dacă doriți să utilizați Raspberry Pi cu un senzor analogic? Dacă vrem să folosim un
Planetariu / Orrery activat prin Bluetooth: 13 pași (cu imagini)
Planetariu / Orrery Bluetooth-Enabled: Acest instructable a fost creat pentru a îndeplini cerințele proiectului Makecourse de la Universitatea din Florida de Sud (www.makecourse.com). Acesta este planetariul / orrery-ul meu pe 3 planete. A început ca un proiect semestral pentru Makecour
Contor de temperatură analogic: 4 pași
Analizor de temperatură analog: această temperatură analogică a fost construită de mine pentru a prețui acele zile în care vedeam gadgeturi analogice doar în zilele în care trăiau bunicii noștri. Vedem digital doar astăzi …. de aceea am creat această temperatură analogică, care este foarte bună pentru începători și
Construiți un contor analogic de utilizare a energiei electrice: 8 pași (cu imagini)
Construiți un contor analogic de utilizare a energiei electrice: am folosit un Kill A Watt (http://www.p3international.com/products/special/P4400/P4400-CE.html) contor electric pentru o vreme și am decis să construiesc una analogică. Acest proiect a trecut de la a fi simplu, cu un singur ampermetru de panou și