Мазмұны:

Bluetooth қосылған аналогтық VU өлшегіш: 6 қадам
Bluetooth қосылған аналогтық VU өлшегіш: 6 қадам

Бейне: Bluetooth қосылған аналогтық VU өлшегіш: 6 қадам

Бейне: Bluetooth қосылған аналогтық VU өлшегіш: 6 қадам
Бейне: Как подключить встроенный Bluetooth ESP32 к смартфону 2024, Қараша
Anonim
Bluetooth қосылған аналогтық VU өлшегіш
Bluetooth қосылған аналогтық VU өлшегіш

Бұл менің SMP деп аталатын университеттік сабақтарымның біріне арналған жоба болды. Біз STM32F103RB әзірлеу тақтасын қолданған кезде, мен өз жобамды қарапайым VU өлшегіштен бастап осыған негіздедім. Содан кейін мен қарапайым dB диаграммасын жасау үшін ADC -тен Android қосымшасына мәндерді тарату үшін Bluetooth қолдау сияқты қосымша мүмкіндіктерді қостым.

1 -қадам: пайдаланылатын компоненттер

  • STM32F103RB әзірлеу тақтасы
  • HC-05 zs040 bluetooth модулі
  • Аналогтық VU есептегіш панелі (сілтеме)
  • Электрлі микрофон
  • LM324N төрт оптикалық күшейткіш
  • 2 TIP120 транзисторы
  • 3 1N4148 диодтары
  • Әр түрлі конденсаторлар мен резисторлар

Сіз бұл тізбекті тақтаның 5В рельсінен шығара алатын болсаңыз да, мен сыртқы 5В қуат көзін қолдандым.

2 -қадам: Конверт ізбасары

Конверт ізбасары
Конверт ізбасары
Конверт ізбасары
Конверт ізбасары

Бұл конструкцияның негізгі бөлігі - конверт ізбасары, ол электрофон микрофонынан сигнал қабылдайды және микрофон сигнал амплитудасына пропорционалды кернеуді шығарады.

Микрофоннан алынған сигнал бірінші рет 150 күшейткішпен күшейткіш арқылы беріледі.

Содан кейін сигнал конверттің нақты ізбасары арқылы беріледі, ол тек оң сигнал бөліктерін шығарады.

Соңғы бөлім конверт ізбасарының шығысынан 1,65В ығысу кернеуін алып тастайды, ол дыбыссыз 0 В, орташа дыбыс үшін 1,65 В және қатты дыбыс үшін 3,3 В сигнал береді, ол кіріктірілгенге сәйкес келуі керек. Басқарманың ADC.

Бұл конверт ізбасары StackExchange тамаша жауаптан іске асады.

3 -қадам: Аналогты өлшегішке арналған PWM

Өлшегіш инені алу үшін мен 500 Гц жиіліктегі микроконтроллер тақтасының TIM4 таймерін конфигурацияладым.

Әр түрлі қызметтік циклдарды дәйекті түрде сынап көру арқылы мен инені 0 -ден 100 -ге дейін жеткізу үшін жеткілікті болатын кейбір құндылықтармен таныстым.

Мен келесі қадамда математиканы қолдану арқылы нақты мәнді көрсету процесін егжей -тегжейлі айтамын.

4 -қадам: микрофонды калибрлеу

Микрофонды калибрлеу
Микрофонды калибрлеу
Микрофонды калибрлеу
Микрофонды калибрлеу

Хатқалтаның ізбасарлары дайын болған соң, мен ADC пайдалану үшін қарапайым код жаздым және оқу мәні бөлме ішіндегі дыбыс деңгейіне сәйкес өзгеретінін тексердім.

Бұл мәнді нақты дБ көрсеткішіне «аудару» үшін мен 550 Гц жиіліктегі онлайн дыбыс генераторын және Android -ді анықтамалық оқуды қамтамасыз ету үшін қолдандым.

Мен бұл мәндерді құрдым және MatLAB -тың Curve Fit құралын ADC оқуларын дБ деңгейлерінің нақты жақындауларымен салыстыратын функцияны алу үшін қолдандым (немесе, кем дегенде, менің телефон көрсеткіштеріне жақын).

Біз бұл микрофонның логарифмдік шкаласына сәйкес келетінін көре аламыз.

Мен PWM мәндеріне иненің орналасуын салыстыру үшін де дәл солай жасадым. Мен бұл мәндерді PWM мәнін біртіндеп 10 -ға көбейту арқылы жинадым.

Осы 2 функцияны біріктіре отырып, мен ADC -ден көрсеткішті көрсеткіштің нақты мәніне дейін көрсетудің қарапайым әдісін алдым.

5 -қадам: Android қосымшасы

Бағдарлама байт ақпаратын алмасу үшін Bluetooth сериялы байланыс арқылы осы керемет кітапхананы пайдаланады.

Бұл жүйенің басты ескертуі - Bluetooth арқылы жіберілетін сөздің максималды ұзындығы 8 бит және ADC мәні 12 бит түрінде ұсынылған. Бұл мәселені шешу үшін мен бір ADC мәнін 2 бөлек 6 биттік мәнге (MSB және LSB) бөлдім, қалған 2 бит хабарлама түрін анықтау үшін пайдаланылады (MSB, LSB, CHK).

Сондықтан, біз таратқымыз келетін бір ADC мәні үшін біз нақты мәнді 2 хабарламаға бөлеміз. Бұл хабарламалардың тұтастығын тексеру үшін мен алғашқы 2 хабарламаның XOR -мен үшінші хабарламаны жібердім.

Мәннің тұтастығы тексерілгеннен кейін, біз dB деңгейін алу және оны тірі диаграммамызға салу үшін сол функцияны қолдана аламыз.

6 -қадам: Қорытынды

Мен бұл жобаның микроконтроллер бөлігі бөлмедегі дыбыс деңгейін жақсы көрсете алатын болсам да, пакеттің жоғалуына байланысты Bluetooth арқылы деректерді жіберу кезінде кейбір мәселелерге тап болдым.

Бұл жобаның бастапқы кодын мына жерден табуға болады:

  • Android серіктес қосымшасы - репо
  • Микроконтроллер коды - репо

Егер сізге бұл пайдалы болса, өз үлесіңізді қосыңыз.

Ұсынылған: