Mundarija:

Bluetooth yoqilgan analog VU o'lchagich: 6 qadam
Bluetooth yoqilgan analog VU o'lchagich: 6 qadam

Video: Bluetooth yoqilgan analog VU o'lchagich: 6 qadam

Video: Bluetooth yoqilgan analog VU o'lchagich: 6 qadam
Video: ТАКУЮ ТЫ ЕЩЕ НЕ ВИДЕЛ!!! PTZ Wifi камера со СЛЕЖЕНИЕМ ЗА ЧЕЛОВЕКОМ 2024, Sentyabr
Anonim
Bluetooth yoqilgan analog VU o'lchagich
Bluetooth yoqilgan analog VU o'lchagich

Bu mening SMP deb nomlangan universitet darslarimdan birining loyihasi edi. Biz STM32F103RB ishlab chiqish kartasidan foydalanganimizda, men o'z loyihamni bunga asosladim, oddiy VU o'lchagichdan boshlab. Keyin men oddiy dB jadvalini yaratish uchun ADC -dan Android ilovasiga qiymatlarni uzatish uchun Bluetooth -ni qo'llab -quvvatlash kabi qo'shimcha funktsiyalarni qo'shdim.

1 -qadam: ishlatilgan komponentlar

  • STM32F103RB ishlab chiqish paneli
  • HC-05 zs040 bluetooth moduli
  • Analog VU o'lchagich paneli (havola)
  • Elektret mikrofon
  • LM324N to'rtta op-amp
  • 2 TIP120 tranzistorlari
  • 3 1N4148 diodlari
  • Har xil kondansatörler va rezistorlar

Garchi siz ushbu kontaktlarning zanglashiga olib boruvchi 5V temir yo'lini o'chirishingiz mumkin bo'lsa -da, men tashqi 5V quvvat manbaidan ham foydalanardim.

2 -qadam: konvert izdoshi

Zarf izdoshi
Zarf izdoshi
Zarf izdoshi
Zarf izdoshi

Ushbu dizaynning asosiy qismi - konvert kuzatuvchisi, u elektret mikrofonidan signal oladi va mikrofon signal amplitudasiga mutanosib kuchlanishni chiqaradi.

Mikrofondan kelgan signal birinchi marta 150 ga teng kuchaytirgich orqali uzatiladi.

Keyin signal konvertning haqiqiy izdoshi orqali uzatiladi, u faqat ijobiy signal qismlarini chiqaradi.

Oxirgi qism konvert izdoshining chiqishidan 1,65V ofset kuchlanishini chiqarib, ovozsiz 0 V, o'rta ovoz uchun 1,65 V va baland ovoz uchun 3,3 V signalni beradi, bu ichki o'rnatilgan bilan mos bo'lishi kerak. Kengash ADC.

Bu konvert izdoshi bu ajoyib StackExchange javobidan amalga oshiriladi.

3 -qadam: Analog o'lchagich uchun PWM

O'lchagichning ignasini ishga tushirish uchun men 500 Gts chastotali mikrokontroller platasining TIM4 taymerini sozladim.

Har xil vazifa tsikllarini ketma -ket sinab ko'rish orqali men ignaning 0 dan 100 gacha o'tishi uchun etarli bo'lgan ba'zi qiymatlarga ega bo'ldim.

Men matematikani qo'llash orqali keyingi bosqichda aniq qiymatni ko'rsatish jarayonini batafsil bayon qilaman.

4 -qadam: Mikrofonni kalibrlash

Mikrofonni kalibrlash
Mikrofonni kalibrlash
Mikrofonni kalibrlash
Mikrofonni kalibrlash

Konvert izdoshi bajarib bo'lgach, men ADC -dan foydalanish uchun oddiy kod yozdim va o'qish qiymati xona ichidagi balandlikka qarab o'zgarishini tasdiqladim.

Bu qiymatni haqiqiy dB o'qishga "tarjima qilish" uchun, men 550 Gts chastotali onlayn ohang generatorini va ma'lumotni o'qish uchun Android -dan foydalandim.

Men bu qiymatlarni tuzdim va MatLAB -ning Curve Fit asbobidan ADC o'qishlarini dB darajasining haqiqiy yaqinlashuviga (yoki hech bo'lmaganda telefonim o'qishiga etarlicha yaqin) mos keladigan funktsiyani olish uchun ishlatdim.

Ko'ramizki, bu mikrofonning logarifmik shkalasiga mos keladi.

Men igna o'rnini PWM qiymatlariga moslashtirish uchun ham xuddi shunday qildim. Men bu qiymatlarni PWM qiymatini ketma -ket 10 ga oshirish orqali to'pladim.

Ushbu 2 funktsiyani birlashtirib, men ADC dan o'qishni o'lchash indikatoridagi haqiqiy qiymatga ko'rsatishning oson usulini oldim.

5 -qadam: Android ilovasi

Ilova ushbu ajoyib kutubxonadan foydalanib, bayt ma'lumotlarini almashish uchun Bluetooth seriyali orqali muloqot qiladi.

Ushbu tizimning asosiy ogohlantiruvchi tomoni shundaki, Bluetooth orqali yuboriladigan maksimal so'z uzunligi 8 bit va ADC qiymati 12 bit sifatida ko'rsatilgan. Ushbu muammoni hal qilish uchun men ADC qiymatini 2 alohida 6 bitli qiymatga (MSB va LSB) ajratdim, qolgan 2 bit esa xabar turini aniqlash uchun ishlatilgan (MSB, LSB, CHK).

Shuning uchun, biz uzatmoqchi bo'lgan bitta ADC qiymati uchun biz haqiqiy qiymatni 2 ta xabarga ajratamiz. Bu xabarlarning yaxlitligini tekshirish uchun men birinchi 2 ta xabarning XOR bilan uchinchi xabarni yubordim.

Qiymatning yaxlitligi tekshirilgandan so'ng, biz JB darajasini olish uchun xuddi shu funktsiyani qo'llashimiz va uni jonli jadvalimizga joylashtirishimiz mumkin.

6 -qadam: Xulosa

Men ushbu loyihaning mikro-nazoratchi qismi xonada ovoz balandligini yaxshi ko'rsatadigan darajada yaxshi ishlayotgan bo'lsam-da, paket yo'qolishi tufayli Bluetooth orqali ma'lumotlarni yuborishda ba'zi muammolarga duch keldim.

Loyihaning manba kodini bu erda topish mumkin:

  • Android sherigi ilovasi - repo
  • Mikrokontroller kodi - repo

Agar siz buni biron bir tarzda foydali deb bilsangiz, o'z hissangizni qo'shishingiz mumkin.

Tavsiya: