Мазмуну:

Bluetooth иштетилген аналогдук VU метр: 6 кадам
Bluetooth иштетилген аналогдук VU метр: 6 кадам

Video: Bluetooth иштетилген аналогдук VU метр: 6 кадам

Video: Bluetooth иштетилген аналогдук VU метр: 6 кадам
Video: Стоит БРАТЬ ВСЕМ?? И чем хорош радиоприемник ATS25X1 подробный обзор 2024, Ноябрь
Anonim
Bluetooth иштетилген аналогдук VU эсептегич
Bluetooth иштетилген аналогдук VU эсептегич

Бул менин SMP деп аталган университеттеги класстарымдын бири үчүн менин долбоорум болчу. Биз STM32F103RB өнүктүрүү тактасын колдонгонубузда, мен долбоорумду буга негиздедим, жөнөкөй VU метрден башталат. Мен жөнөкөй дБ диаграммасын түзүү үчүн 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 менен үчүнчү билдирүүлөрдү жөнөттүм.

Баалуулуктун бүтүндүгү текшерилгенден кийин, биз дБ деңгээлин алуу үчүн ошол эле функцияны колдонуп, аны биздин түз диаграммабызга түшүрө алабыз.

6 -кадам: Жыйынтык

Мен бул долбоордун микроконтроллер бөлүгү бөлмө ичиндеги үндү көрсөтүү менен абдан жакшы иштеп жатканымда, пакеттин жоголушунан улам Bluetooth аркылуу маалыматтарды жөнөтүүдө кээ бир көйгөйлөргө туш болдум.

Бул долбоордун булак кодун бул жерден тапса болот:

  • Android шериги колдонмосу - репо
  • Микроконтроллер коду - репо

Эгер кандайдыр бир жол менен бул пайдалуу болсо, салым кошууга тартынбаңыз.

Сунушталууда: