جدول المحتويات:

مقياس VU التناظري بتقنية البلوتوث: 6 خطوات
مقياس VU التناظري بتقنية البلوتوث: 6 خطوات

فيديو: مقياس VU التناظري بتقنية البلوتوث: 6 خطوات

فيديو: مقياس VU التناظري بتقنية البلوتوث: 6 خطوات
فيديو: YoungDo Smart Bluetooth Scale Step Your Health And Fitness Game Up 2024, شهر نوفمبر
Anonim
بلوتوث التناظرية VU متر
بلوتوث التناظرية VU متر

كان هذا مشروعي لواحد من فصولي الجامعية يسمى SMP. نظرًا لأننا استخدمنا لوحة تطوير STM32F103RB ، فقد أسست مشروعي على هذا ، بدءًا من عداد VU بسيط. ثم أضفت بعض الميزات الإضافية مثل دعم Bluetooth لقيم البث من ADC إلى تطبيق Android لإنشاء مخطط ديسيبل بسيط.

الخطوة 1: المكونات المستخدمة

  • مجلس التنمية STM32F103RB
  • وحدة بلوتوث HC-05 zs040
  • لوحة متر VU التناظرية (رابط)
  • ميكروفون اليكتريت
  • LM324N رباعي أمبير
  • 2 الترانزستورات TIP120
  • 3 1N4148 الثنائيات
  • المكثفات والمقاومات المختلفة

على الرغم من أنه يمكنك إخراج هذه الدائرة من سكة اللوحة 5 فولت ، فقد استخدمت أيضًا مصدر طاقة خارجي 5 فولت.

الخطوة 2: تابع الظرف

تابع المغلف
تابع المغلف
تابع المغلف
تابع المغلف

الجزء الرئيسي من هذا التصميم هو متابع المغلف الذي يأخذ الإشارة من الميكروفون الكهربائي ويخرج جهدًا يتناسب مع سعة إشارة الميكروفون.

يتم تمرير الإشارة الأولية من الميكروفون أولاً من خلال مكبر للصوت مع كسب 150.

ثم يتم تمرير الإشارة من خلال متابع الظرف الفعلي الذي يجب أن يخرج فقط أجزاء الإشارة الإيجابية.

الجزء الأخير هو طرح جهد الإزاحة 1.65 فولت من خرج تابع الظرف لتوفير إشارة 0 فولت لعدم وجود صوت ، و 1.65 فولت للصوت المتوسط و 3.3 فولت للصوت العالي الذي يجب أن يكون متوافقًا مع المدمج في ADC من المجلس.

تم تنفيذ متابع المغلف هذا من إجابة StackExchange الرائعة.

الخطوة 3: PWM للعداد التناظري

للحصول على إبرة المقياس ، قمت بتكوين مؤقت TIM4 للوحة متحكم دقيق بتردد حوالي 500 هرتز.

من خلال تجربة دورات عمل مختلفة على التوالي ، استقرت على بعض القيم التي كانت كافية لجعل الإبرة تنتقل من 0 إلى 100.

سأفصل عملية عرض قيمة دقيقة في الخطوة التالية من خلال تطبيق بعض الرياضيات.

الخطوة 4: معايرة الميكروفون

معايرة الميكروفون
معايرة الميكروفون
معايرة الميكروفون
معايرة الميكروفون

بعد الانتهاء من متابعة الظرف ، قمت بعد ذلك بكتابة بعض الكود البسيط لاستخدام ADC وتحققت من أن قيمة القراءة تتغير بالفعل وفقًا لارتفاع الصوت داخل الغرفة.

من أجل "ترجمة" هذه القيمة إلى قراءة فعلية للديسيبل ، استخدمت مولد نغمات عبر الإنترنت بتردد 550 هرتز وجهاز Android لتقديم قراءة مرجعية.

لقد قمت برسم هذه القيم واستخدمت أداة MatLAB's Curve Fit Tool للحصول على وظيفة تحدد قراءات ADC للتقديرات الفعلية لمستويات dB (أو على الأقل قريبة بدرجة كافية من قراءات هاتفي).

يمكننا أن نرى أن هذا يتبع المقياس اللوغاريتمي للميكروفون.

لقد فعلت نفس الشيء لتعيين موضع الإبرة لقيم PWM. لقد جمعت هذه القيم من خلال زيادة قيمة PWM بمقدار 10 على التوالي حتى تصل الحاجة إلى القراءة على مقياسها.

بدمج هاتين الوظيفتين ، حصلت على طريقة سهلة لعرض القراءة من ADC إلى القيمة الفعلية على مؤشر المقياس.

الخطوة 5: تطبيق Android

يستخدم التطبيق هذه المكتبة الرائعة للتواصل عبر تسلسل Bluetooth لتبادل معلومات البايت.

التحذير الرئيسي لهذا النظام هو أن الحد الأقصى لطول الكلمة المرسلة عبر Bluetooth هو 8 بت ويتم تمثيل قيمة ADC بـ 12 بت. للتغلب على هذه المشكلة ، قمت بتقسيم قيمة ADC واحدة إلى قيمتين منفصلتين من 6 بتات (MSB و LSB) مع 2 بت المتبقية المستخدمة لتحديد نوع الرسالة (MSB ، LSB ، CHK).

لذلك ، بالنسبة لقيمة ADC واحدة نريد بثها ، نقسم القيمة الفعلية إلى رسالتين. للتحقق من سلامة هذه الرسائل ، أرسلت رسالة ثالثة باستخدام XOR لأول رسالتين.

بعد التحقق من سلامة القيمة ، يمكننا تطبيق نفس الوظيفة للحصول على مستوى ديسيبل ورسمها على مخططنا المباشر.

الخطوة 6: الملخص

بينما يعمل جزء وحدة التحكم الصغيرة في هذا المشروع بشكل جيد لعرض ارتفاع الصوت داخل الغرفة ، واجهت بعض المشكلات عند إرسال البيانات عبر Bluetooth بسبب فقد الحزمة.

يمكن العثور على الكود المصدري لهذا المشروع هنا:

  • التطبيق المصاحب لنظام Android - repo
  • كود متحكم - الريبو

لا تتردد في المساهمة إذا وجدت هذا مفيدًا بأي شكل من الأشكال.

موصى به: