תוכן עניינים:

RGB LED רצועת אודיו וויזואל: 6 שלבים (עם תמונות)
RGB LED רצועת אודיו וויזואל: 6 שלבים (עם תמונות)

וִידֵאוֹ: RGB LED רצועת אודיו וויזואל: 6 שלבים (עם תמונות)

וִידֵאוֹ: RGB LED רצועת אודיו וויזואל: 6 שלבים (עם תמונות)
וִידֵאוֹ: תאורת אווירה - תאורת לדים דקורטיבית המתאימה לכל חלל בבית או במשרד 2024, דֵצֶמבֶּר
Anonim
Image
Image

יש לי פס LED 12V RGB סביב ארון הטלוויזיה שלי במשך זמן מה והוא נשלט על ידי נהג LED משעמם המאפשר לי לבחור אחד מתוך 16 צבעים מתוכנתים מראש!

אני מקשיב להרבה מוזיקה שמחזיקה אותי במוטיבציה אבל התאורה פשוט לא מכוונת את מצב הרוח. כדי לתקן את זה החליט לקחת את אות השמע שניתן לרמקול שלי דרך AUX (שקע 3.5 מ מ), לעבד אותו ולשלוט על רצועת ה- RGB בהתאם.

נוריות ה- LED מגיבות למוזיקה על סמך גודל התדרים בס (נמוך), טרבל (אמצע) וגבוה.

טווח התדרים - הצבע הוא כדלקמן:

נמוך - אדום

אמצע - ירוק

גבוה - כחול

הפרויקט הזה כולל הרבה דברים של DIY כי כל המעגל נבנה מאפס. זה אמור להיות די קל אם אתה מגדיר אותו על לוח לחם, אך די מאתגר להלחם אותו על לוח PCB.

אספקה

(x1) רצועת LED RGB

(x1) Arduino Uno/Nano (מומלץ מגה)

(x1) TL072 או TL082 (גם TL081/TL071 בסדר)

(x3) טרנזיסטור TIP120 NPN (TIP121, TIP122 או N-Channel MOSFETs כמו IRF540, IRF 530 בסדר גם)

(x1) פוטנציומטר 10kOhm ליניארי

(x3) נגדי 100kOhm 1/4watt

(x1) קבל אלקטרוליטי 10uF

(x1) קבל קרמיקה 47nF

(x2) מחבר שמע 3.5 מ מ - נקבה

(x2) סוללה 9V

(x2) מחבר הצמדת סוללה 9V

שלב 1: הבנת סוגי רצועות LED RGB

הבנת סוגי רצועות LED RGB
הבנת סוגי רצועות LED RGB

ישנם שני סוגים בסיסיים של פסי LED, מהסוג ה"אנלוגי "וה"דיגיטלי".

לרצועות מסוג אנלוגי (איור 1) כל נוריות ה- LED מחוברות במקביל ולכן הוא פועל כמו נורית אחת ענקית בשלושה צבעים; אתה יכול להגדיר את כל הרצועה לכל צבע שתרצה, אך אינך יכול לשלוט בצבעי הלדים הבודדים. הם מאוד קלים לשימוש וזולים למדי.

רצועות מסוג Digital (איור 2) פועלות בצורה אחרת. יש להם שבב לכל LED, כדי להשתמש ברצועה צריך לשלוח נתונים מקודדים דיגיטלית לשבבים. עם זאת, פירוש הדבר שתוכל לשלוט בכל LED בנפרד! בגלל המורכבות הנוספת של השבב, הם יקרים יותר.

אם אתה מתקשה לזהות פיזית את ההבדלים בין הרצועות מהסוג האנלוגי והדיגיטלי,

  1. משתמשים באנולוג ב -4 סיכות, אחת חיובית נפוצה ו -3 שליליות כלומר אחת לכל צבע של RGB.
  2. שימוש דיגיטלי מסוג 3 פינים, חיובי, נתונים וקרקע.

אני אשתמש ברצועות מסוג אנלוגי, כי

  1. יש מעט מאוד עד אין הוראות המלמדות כיצד ליצור מוזיקה ריאקטיבית מסוג אנלוגי. רובם מתמקדים בסוג הדיגיטלי וקל יותר לגרום להם להגיב למוסיקה.
  2. היו לי כמה רצועות מסוג אנלוגי בשכיבה.

שלב 2: הגברת אות השמע

הגברת אות השמע
הגברת אות השמע
הגברת אות השמע
הגברת אות השמע
הגברת אות השמע
הגברת אות השמע

אות השמע שנשלח החוצה דרך שקע השמע הוא

אות אנלוגי המתנדנד בתוך +200mV ו- -200mV. עכשיו זו בעיה שאנחנו רוצים למדוד את אות השמע עם אחת הכניסות האנלוגיות של Arduino מכיוון שהכניסות האנלוגיות של Arduino יכולות למדוד רק מתח בין 0 ל -5V. אם היינו מנסים למדוד את המתחים השליליים באות השמע, הארדואינו היה קורא רק 0V ובסופו של דבר נחתוך את תחתית האות.

כדי לפתור את זה עלינו להעצים ולקזז את אותות השמע כך שהם יכנסו לטווח של 0-5V. באופן אידיאלי, האות צריך להיות בעל משרעת של 2.5V המתנדנד סביב 2.5V כך שהמתח המינימלי שלו הוא 0V והמתח המרבי שלו הוא 5V.

הַגבָּרָה

המגבר הוא השלב הראשון במעגל, הוא מגדיל את משרעת האות מסביבות + או - 200mV ל + או - 2.5V (באופן אידיאלי). הפונקציה הנוספת של המגבר היא להגן על מקור השמע (הדבר שמייצר את אות השמע מלכתחילה) משאר המעגל. האות המוגבר היוצא יביא את כל הזרם שלו מהמגבר, כך שכל עומס שיופעל עליו בהמשך המעגל לא "יורגש" על ידי מקור השמע (הטלפון/אייפוד/מחשב נייד במקרה שלי). בצע זאת על-ידי הגדרת אחד מגברי ה- op באריזת TL072 או TL082 (איור 2) בתצורת מגבר לא הפוך.

גליון הנתונים של TL072 או TL082 אומר שהוא צריך להיות מופעל עם +15 ו -15V, אך מכיוון שהאות לעולם לא יוגבר מעל + או -2.5V זה בסדר להפעיל את המגבר עם משהו נמוך יותר. השתמשתי בשתי סוללות של תשעה וולט המחוברות בסדרות ליצירת ספק כוח + או - 9V.

העבר את +V (סיכה 8) ו- –V (סיכה 4) למגבר ה- OP. העבירו את האות משקע המונו לכניסה הבלתי הפיכה (סיכה 3) וחברו את סיכת הקרקע של השקע להתייחסות 0V באספקת המתח שלכם (בשבילי זה היה הצומת בין שתי סוללות 9V בסדרה). חברו נגד 100kOhm בין הפלט (סיכה 1) לכניסה הפוכה (סיכה 2) של מגבר ה- op. במעגל זה השתמשתי בפוטנציומטר 10 קאוהם המחובר כנגד משתנה כדי להתאים את הרווח (הכמות שהמגבר מגביר) של המגבר הבלתי הפיך שלי. חברו את סיר ההתחדדות הלינארי הזה 10K בין הכניסה ההפוכה לבין הפניה 0V.

קיזוז DC

למעגל הקיזוז DC יש שני מרכיבים עיקריים: מחלק מתח וקבל. מחלק המתח עשוי משני נגדים 100k המחוברים בסדרה מהספק 5V של הארדואינו לקרקע. מכיוון שלנגדים יש אותה התנגדות, המתח בצומת ביניהם שווה ל- 2.5V. צומת 2.5V זה קשור לפלט של המגבר באמצעות קבל 10uF. כאשר המתח בצד המגבר של הקבל עולה ויורד, הוא גורם להטענה לרגע שהצטבר ונדחה מהצד של הקבל המחובר לצומת 2.5V. זה גורם למתח בצומת 2.5V להתנודד למעלה ולמטה, במרכז סביב 2.5V.

כפי שמוצג בסכימה, חבר את ההובלה השלילית של קבל 10uF לפלט מהמגבר. חבר את הצד השני של המכסה למפגש בין שני נגדים 100k המחוברים בסדרה בין 5V לקרקע. כמו כן, הוסף קבל 47nF מ- 2.5V לקרקע.

שלב 3: פירוק האות לסכום של סינוסידים נייחים - תיאוריה

פירוק האות לסכום של סינוסידים נייחים - תיאוריה
פירוק האות לסכום של סינוסידים נייחים - תיאוריה

אות השמע שנשלח דרך כל שקע 3.5 מ מ נמצא ב

טווח של 20 הרץ עד 20 קילוהרץ. הוא נדגם ב -44.1 קילוהרץ וכל דגימה מקודדת על 16 סיביות.

כדי לפרק את תדרי האלמנט הבסיסיים המרכיבים את אות השמע, אנו מיישמים את פוריין טרנספורמציה על האות, אשר מפרק את האות לסכום של סינוסידים נייחים. במילים אחרות, ניתוח פורייה ממיר אות מהתחום המקורי שלו (לעתים קרובות זמן או מרחב) לייצוג בתחום התדרים ולהיפך. אבל חישוב זה ישירות מההגדרה לרוב איטי מכדי שיהיה מעשי.

הנתונים מראים כיצד האות נראה בתחום הזמן והתדירות.

כאן האלגוריתם המהיר Fourier Transform (FFT) הוא די שימושי!

לפי הגדרה, FFT מחשב במהירות טרנספורמציות כאלה על ידי פירוק מטריצת DFT לתוצר של גורמים דלילים (לרוב אפס). כתוצאה מכך, הוא מצליח לצמצם את מורכבות חישוב ה- DFT מ- O (N2), המתעוררת אם פשוט מיישמים את ההגדרה של DFT, ל- O (N log N), כאשר N הוא גודל הנתונים. ההבדל במהירות יכול להיות עצום, במיוחד עבור מערכי נתונים ארוכים שבהם N עשוי להיות באלפים או מיליונים. בנוכחות שגיאת עיגול, אלגוריתמים רבים של FFT מדויקים הרבה יותר מאשר הערכת הגדרת DFT במישרין או בעקיפין.

במילים פשוטות, זה רק אומר שאלגוריתם ה- FFT הוא דרך מהירה יותר לחשב את טרנספורמציה פורייה של כל אות. זה משמש בדרך כלל במכשירים עם כוח מחשוב נמוך.

מוּמלָץ: