Tartalomjegyzék:
- 1. lépés: Használt összetevők
- 2. lépés: Borítékkövető
- 3. lépés: PWM az analóg mérőhöz
- 4. lépés: A mikrofon kalibrálása
- 5. lépés: Android -alkalmazás
- 6. lépés: Összefoglalás
Videó: Bluetooth engedélyezett analóg VU mérő: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Ez volt a projektem az egyik egyetemi osztályomhoz, az SMP -hez. Mivel az STM32F103RB fejlesztőlapot használtuk, erre építettem a projektemet, egy egyszerű VU mérőből kiindulva. Ezután hozzáadtam néhány extra funkciót, például a Bluetooth támogatást, hogy az értékeket az ADC -ből egy Android -alkalmazásba sugározza, hogy egyszerű dB -diagramot hozzon létre.
1. lépés: Használt összetevők
- STM32F103RB fejlesztőlap
- HC-05 zs040 bluetooth modul
- Analóg JE mérőpanel (link)
- Elektret mikrofon
- LM324N négy opciós erősítő
- 2 db TIP120 tranzisztor
- 3 1N4148 dióda
- Különféle kondenzátorok és ellenállások
Bár ezt az áramkört le lehet vezetni a tábla 5 V -os sínjéről, külső 5 V -os tápegységet is használtam.
2. lépés: Borítékkövető
Ennek a kialakításnak a fő eleme a borítékkövető, amely veszi az elektret mikrofonból érkező jelet, és a mikrofon jel amplitúdójával arányos feszültséget ad ki.
A mikrofonból származó nyers jelet először 150 erősítésű erősítőn keresztül továbbítják.
A jel ezután áthalad a tényleges borítékkövetőn, amely csak a pozitív jelrészeket adja ki.
Az utolsó rész az 1.65V eltolási feszültség levonása a borítékkövető kimenetéből, hogy 0 V-os jelet biztosítson, ha nincs hang, 1,65 V-ot közepes hangon és 3,3 V-ot a hangos hangon, amely kompatibilis a beépített A testület ADC.
Ez a borítékkövető ebből a nagyszerű StackExchange válaszból valósult meg.
3. lépés: PWM az analóg mérőhöz
Annak érdekében, hogy a mérőeszköz tűje működőképes legyen, konfiguráltam a mikrokontroller TIM4 időzítőjét 500 Hz körüli frekvenciával.
A különböző munkaciklusok egymás utáni kipróbálásával néhány olyan értékkel számoltam, amelyek elegendőek voltak ahhoz, hogy a tű 0 -ról 100 -ra álljon.
A következő lépésben részletes matematikai módszerekkel részletezem a pontos érték megjelenítésének folyamatát.
4. lépés: A mikrofon kalibrálása
Miután elvégeztem a borítékkövetőt, írtam néhány egyszerű kódot az ADC használatához, és ellenőriztem, hogy az olvasási érték valóban változik -e a helyiség hangosságának megfelelően.
Annak érdekében, hogy ezt az értéket tényleges dB leolvasássá lehessen fordítani, egy online hanggenerátort használtam, amelynek frekvenciája 550 Hz, és az Androidomat, hogy referenciaértéket biztosítsak.
Ábrázoltam ezeket az értékeket, és a MatLAB Curve Fit Tool eszközt használva egy olyan funkciót kaptam, amely leképezi az ADC -leolvasásokat a dB -szintek tényleges közelítéseihez (vagy legalábbis elég közel a telefonom leolvasásához).
Láthatjuk, hogy ez a mikrofon logaritmikus skáláját követi.
Ugyanezt tettem a tű pozíciójának PWM értékekhez való hozzárendelésével is. Ezeket az értékeket úgy gyűjtöttem össze, hogy a PWM értékét egymás után 10 -gyel növeltem, amíg a szükséglet el nem érte a skáláját.
A két funkció kombinálásával egyszerű módot kaptam arra, hogy megjelenítsem az ADC -ről a tényleges értéket a mérő kijelzőjén.
5. lépés: Android -alkalmazás
Az alkalmazás ezt a hűvös könyvtárat használja a Bluetooth soros kommunikációhoz, hogy bájtadatokat cseréljen.
Ennek a rendszernek a fő figyelmeztetése az, hogy a Bluetooth -on keresztül küldött szó maximális hossza 8 bit, az ADC értéke pedig 12 bit. A probléma kiküszöbölése érdekében egy ADC értéket 2 külön 6 bites értékre (MSB és LSB) osztottam fel, a fennmaradó 2 bittel pedig az üzenet típusát (MSB, LSB, CHK) használtam.
Ezért egyetlen sugározni kívánt ADC -érték esetén a tényleges értéket 2 üzenetre osztjuk. Ezen üzenetek integritásának ellenőrzésére küldtem egy harmadik üzenetet az első 2 üzenet XOR -jával.
Az érték integritásának ellenőrzése után ugyanezt a funkciót alkalmazva megkaphatjuk a dB szintet, és lerajzolhatjuk az élő diagramunkra.
6. lépés: Összefoglalás
Míg én a projekt mikrovezérlő részével nagyon jól működök, és megjelenítem a hangosságot a helyiségben, néhány problémával találkoztam, amikor csomagvesztés miatt adatokat küldtem Bluetooth-on keresztül.
A projekt forráskódja itt található:
- Android társalkalmazás - repo
- Mikrokontroller kód - repo
Nyugodtan járuljon hozzá, ha ezt bármilyen módon hasznosnak találja.
Ajánlott:
WiFi engedélyezett mátrix lámpa: 6 lépés (képekkel)
WiFi engedélyezett mátrixlámpa: Ki ne szeretne lenyűgöző lámpát, amely képes animációkat megjeleníteni és szinkronizálni a ház többi lámpájával? Igaz, senki. Ezért készítettem egyedi RGB lámpát. A lámpa 256 egyedileg címezhető LED -ből áll, és az összes LED -et lehet szabályozni
TextPlayBulb: REST engedélyezett PlayBulb Raspberry Pi 3, BLE és távirat használatával: 3 lépés
TextPlayBulb: REST engedélyezett PlayBulb Raspberry Pi 3, BLE és távirat használatával: Ez az útmutató bemutatja, hogyan lehet Python, Raspberry Pi 3 és Bluetooth könyvtár használatával csatlakozni a PlayBulb Color Bluetooth LED -lámpához, és kiterjeszteni a vezérlést egy REST API segítségével IoT forgatókönyv esetén , és ugrásszerűen a projekt azt is bemutatja, hogyan lehet kiterjeszteni a
Óriás analóg CO2 -mérő: 6 lépés (képekkel)
Óriás analóg CO2 -mérő: A jelenlegi légkör egy hegy felett Hawaii -on körülbelül 400 ppm szén -dioxidot tartalmaz. Ez a szám rendkívül fontos mindazoknak, akik a bolygók felszínén élnek. Most vagy az aggodalom tagadói vagy azok veszik körül, akik
Készítsen bármilyen fülhallgatót Bluetooth -ba - engedélyezett fülhallgató: 4 lépés
Készítsen bármilyen fülhallgatót Bluetooth -ba - engedélyezett fülhallgató: Tehát nemrég a mobilom audio csatlakozója nem működött, és ezért nem tudtam zenét hallgatni vagy youtube -ot nézni, ami elég nagy dolog egy olyan tinédzser számára, mint én. Ez a projekt szükségből született, és nem csak egy szórakoztató projekt, amin dolgozni kell. Ez nem
Analóg hőmérséklet -mérő: 4 lépés
Analóg hőmérséklet -mérő: Ezt az analóg hőmérsékletet én építettem, hogy ápoljam azokat a napokat, amikor csak akkor láttuk az analóg eszközöket, amikor a nagyapáink éltek. Ma csak digitálisat látunk …. ezért hoztam létre ezt az analóg hőmérsékletet, ami nagyon jó kezdőknek és