תוכן עניינים:
- שלב 1: רכיבים בשימוש
- שלב 2: עוקב מעטפה
- שלב 3: PWM למד האנלוגי
- שלב 4: כיול מיקרופון
- שלב 5: אפליקציית אנדרואיד
- שלב 6: סיכום
וִידֵאוֹ: מד Bluetooth VU אנלוגי מופעל: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
זה היה הפרויקט שלי לאחד משיעורי האוניברסיטה שלי בשם SMP. כשהשתמשנו בלוח הפיתוח STM32F103RB, ביססתי את הפרויקט שלי על זה, החל ממד VU פשוט. לאחר מכן הוספתי כמה תכונות נוספות כמו תמיכת Bluetooth לשידור ערכים מה- ADC לאפליקציית Android ליצירת תרשים dB פשוט.
שלב 1: רכיבים בשימוש
- לוח פיתוח STM32F103RB
- מודול בלוטוס HC-05 zs040
- לוח VU אנלוגי (קישור)
- מיקרופון אלקטרט
- מגבר מרובע LM324N
- 2 טרנזיסטורים מסוג TIP120
- 3 דיודות 1N4148
- קבלים ונגדים שונים
למרות שאתה יכול להעביר את המעגל הזה ממסילת 5V הלוח, השתמשתי גם באספק כוח חיצוני של 5V.
שלב 2: עוקב מעטפה
החלק העיקרי בעיצוב זה הוא עוקב המעטפה שלוקח את האות ממיקרופון האלקטרט ויוצא מתח ביחס למשרעת האות של המיקרופון.
האות הגולמי מהמיקרופון מועבר לראשונה באמצעות מגבר בעל רווח של 150.
האות מועבר לאחר מכן דרך עוקב המעטפה בפועל שאמור להוציא רק את חלקי האות החיובי.
החלק האחרון הוא הפחתת מתח הקיזוז של 1.65V מהפלט של עוקב המעטפה כדי לספק אות של 0 V ללא צליל, 1.65 V עבור צליל בינוני ו -3.3 V עבור צליל חזק שצריך להיות תואם למובנה ADC של הלוח.
עוקב מעטפה זה מיושם מתשובת StackExchange הנהדרת הזו.
שלב 3: PWM למד האנלוגי
כדי להפעיל את מחט המד, הגדרתי את טיימר TIM4 של לוח המיקרו בתדר של סביב 500 הרץ.
על ידי ניסיון רציף של מחזורי עבודה שונים, הסתדרתי עם כמה ערכים שהספיקו כדי שהמחט תלך מ -0 ל -100.
אפרט את תהליך הצגת ערך מדויק בשלב הבא על ידי יישום קצת מתמטיקה.
שלב 4: כיול מיקרופון
לאחר שעשיתי את עוקב המעטפות, כתבתי קוד פשוט לשימוש ב- ADC ואימתתי שערך הקריאה אכן משתנה בהתאם לקול החדר בתוך החדר.
על מנת "לתרגם" ערך זה לקריאת dB בפועל, השתמשתי בגנרטור צלילים מקוון בתדירות של 550 הרץ וב- Android שלי בכדי לספק קריאת התייחסות.
תכננתי את הערכים האלה והשתמשתי בכלי Curve Fit של MatLAB כדי לקבל פונקציה שממפה קריאות ADC לקירובים בפועל של רמות ה- dB (או לפחות מספיק קרוב לקריאות הטלפון שלי).
אנו יכולים לראות כי הדבר עוקב אחר הסולם הלוגריתמי של המיקרופון.
עשיתי את אותו הדבר גם כדי למפות את מיקום המחט לערכי PWM. אספתי ערכים אלה על ידי הגדלת ערך PWM ברציפות 10 ברציפות עד שהצורך פגע בקריאה בסולם שלו.
בשילוב שתי הפונקציות הללו קיבלתי דרך קלה להציג את הקריאה מ- ADC לערך ממשי על מחוון המד.
שלב 5: אפליקציית אנדרואיד
האפליקציה משתמשת בספרייה המגניבה הזו כדי לתקשר באמצעות Bluetooth סדרתי כדי להחליף מידע בתים.
האזהרה העיקרית של מערכת זו היא שאורך המילה המרבי שנשלח באמצעות Bluetooth הוא 8 סיביות וערך ה- ADC מיוצג כ -12 סיביות. כדי להתגבר על בעיה זו, חילקתי ערך ADC אחד לשני ערכי 6 סיביות נפרדים (MSB ו- LSB) כאשר 2 הסיביות הנותרות משמשות לזיהוי סוג ההודעה (MSB, LSB, CHK).
לכן, עבור ערך ADC יחיד שאנו רוצים לשדר, חילקנו את הערך בפועל ל -2 הודעות. כדי לבדוק את תקינות ההודעות האלה, שלחתי הודעות שלישיות עם ה- XOR של 2 ההודעות הראשונות.
לאחר בדיקת תקינות הערך, נוכל ליישם את אותה הפונקציה כדי להשיג את רמת ה- dB ולשרטט אותה על התרשים החי שלנו.
שלב 6: סיכום
למרות שאני חלק הבקר המיקרו בפרויקט זה עובד די טוב בהצגת החזקה בתוך החדר, נתקלתי בכמה בעיות בעת שליחת נתונים דרך Bluetooth עקב אובדן מנות.
קוד המקור לפרויקט זה ניתן למצוא כאן:
- אפליקציה נלווית לאנדרואיד - ריפו
- קוד מיקרו -בקר - ריפו
אל תהסס לתרום אם אתה מוצא את זה שימושי בכל דרך שהיא.
מוּמלָץ:
מחמם מים Bluetooth עשה זאת בעצמך מופעל על ידי ארדואינו: 4 שלבים
מחמם מים עשה זאת בעצמך באמצעות Bluetooth Bluetooth מופעל על ידי Arduino: הערה: זה נועד רק לבדיקה (ממשק משתמש באמצעות remotexy.com) לשליטה על דוד דוד 12V DC (במקור לשימוש במכונית - שקע חשמל מצית 12v). אני מודה שחלק מסוים משמש ב- הפרויקט הזה " לא הבחירה הטובה ביותר " למטרה שלו, אבל שוב
HX1 -DM - מכונת התופים DIY מופעל Arduino DUE מופעל DIY (עשוי עם מכונה מתה MK2): 4 שלבים
HX1 -DM - מכונת התופים DIY המופעלת על ידי Arduino DUE מופעל (עשוי עם מכונה מתה MK2): המפרט. בקר / מכונת תופים היברידית מידי: Arduino DUE מופעל! 16 רפידות חישה מהירות עם זמן אחסון נמוך מאוד 1 &ms; ידיות 8 ידיות שניתן להקצות לכל פקודה Midi #CC 16ch sequencer מובנה (אין צורך במחשב !!) MIDI in/out/thru functio
שעון POV Led אנלוגי בסגנון אנלוגי עם Arduino Nano: 4 שלבים
שעון POV LED בסגנון אנלוגי עם Arduino Nano: זה נראה נחמד בעיצוב אנלוגי בסגנון שעון POV
תותח פנאומטי אוטומטי. מופעל Arduino מופעל: 13 שלבים
תותח פנאומטי אוטומטי. נייד ו Arduino מופעל: היי לכולם! זו ההנחיה להרכיב תותח פנאומטי נייד. הרעיון היה ליצור תותח שיכול לירות דברים שונים. הצבתי כמה מטרות עיקריות. אז מה התותח שלי צריך להיות: אוטומטי. כדי לא לדחוס אוויר באופן ידני עם
Raspberry Pi GPIO מעגלים: שימוש בחיישן אנלוגי LDR ללא ADC (ממיר אנלוגי לדיגיטלי): 4 שלבים
Raspberry Pi GPIO מעגלים: שימוש בחיישן אנלוגי LDR ללא ADC (ממיר אנלוגי לדיגיטלי): במדריך הקודם שלנו, הראנו לך כיצד תוכל לקשר את סיכות ה- GPIO של ה- Raspberry Pi שלך ללדים ולמתגים וכיצד סיכות GPIO יכולות להיות גבוהות או נמוך. אבל מה אם אתה רוצה להשתמש ב- Raspberry Pi שלך עם חיישן אנלוגי? אם נרצה להשתמש ב