תוכן עניינים:
- שלב 1: דרישות 1/3 - חומרה
- שלב 2: דרישות 2/3 - רכיבים למעגל שלך
- שלב 3: דרישות 3/3 - תוכנה
- שלב 4: מעגל קלט
- שלב 5: מעגל פלט
- שלב 6: [אופציונלי] יצירת רכיבי בורד ומעגלים מודפסים
- שלב 7: הגדרת SoC
- שלב 8: תכנות C HPS
- שלב 9: רכישה דיגיטלית של ה- ADC מהכרטיס
- שלב 10: חישוב FFT
- שלב 11: הצגת ה- FFT
- שלב 12: הרכבה
- שלב 13: אפקטים קוליים
- שלב 14: [אופציונלי] הכנת הקסדה
וִידֵאוֹ: קסדת מחליף קול ספרטני: 14 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
שלום! אנו צוות של 4 סטודנטים מבית הספר הפוליטכני של אוניברסיטת סורבון:
- לואי בוכרט
- בילאל מלחי
- באו טינה פיוט
- מרקו לונגפה
פרויקט זה מתממש כחלק מהלימודים שלנו, ומטרתו לקחת ביד מספר כלים, כמו גם להדגים את הישגינו התיאורטיים.
החפץ המפורסם מקבל מראה של קסדה הדומה לגיבור של משחק וידאו מסוים ששמו יאבד. גם מבחינת העיצוב יש לנו מסך המציג את הטרנספורמציה של פורייה של אות השמע שיוצא מהרמקול. מטרת אוזניות זו היא לשנות את קולו של הספק בזמן אמת באמצעות מספר אפקטים לבחירה.
מטרות חינוכיות:
- צלם את הצליל מהמיקרופון
- הגבר, סינון, דיגיטציה של האות
- לממש את ה- FFT של אות
- הצג את ה- FFT הזה על מסך
- סינתזת אותות
- הוציא צליל מהרמקול
- לממש אפקטים על צליל השמע (הדהוד, הד וכו '…)
כעת, לאחר ששמנו את הרקע והצגנו את הפרויקט, הגיע הזמן לשים עליו יד!
שלב 1: דרישות 1/3 - חומרה
על מנת לבנות את הקסדה שלך בהצלחה, נצטרך קצת חומרה להפעלת המכשיר.
- לוח פיתוח DE0-Nano-SoC מאת Terasic + Adafruit TFT LCD LCD (Arduino)
- גישה למדפסת תלת מימד בכדי להפוך את הקסדה (אם אתה סטודנט באוניברסיטה מתקרב לאוניברסיטה שלך, לחלקן יש מעבדות נגישות לסטודנטים)
- מחשב עם חיבור לאינטרנט ומינימום קישוריות (USB, Ethernet). המחשב שלך צריך להיות בעל מעבד חזק מכיוון שעריכת תוכניות ב- Qsys אורכת הרבה זמן.
- (לא חובה) מדפסת שיוצרת לוחות מעגלים מודפסים (PCB) מקבצי גרבר על מנת לצמצם את גודל המעגל + מגהץ להלחמת הרכיבים על הלוח.
- (מומלץ בחום): קפה טוב ליהנות מהעבודה שלך עם המדריך שלנו:)
שלב 2: דרישות 2/3 - רכיבים למעגל שלך
להלן הרכיבים הדרושים למעגל שלך:
- מגבר אודיו מסוג Texas Instrument LM386 AB
- לוח לחם
- סט כבלים זכר-זכר, זכר-נקבה
- ממיר LM358P דיגיטלי לאנלוגי (DAC)
- רַמקוֹל
- מיקרופון קטן המשמש במעגל אנלוגי
- מערך משחק של נגדים מ- 1 kOhm עד 220 kOhm
- קבלים 1.5nF
- קבלים 50nF
- קבלים 100nF
- קבלים 100uF
- קבלים 220uF
- קבלים x4 10uF
שלב 3: דרישות 3/3 - תוכנה
אחרון חביב, תזדקק לתוכנה:
- Quartus 15.1: גרסת לייט
- מהדר C (gcc למשל)
- אלטיום לעיצוב PCB
- הסוויטה המשובצת של SoC של Altera לתקשר עם מפת SoC
- מֶרֶק
שלב 4: מעגל קלט
בואו לבנות את המעגל. השתמש בתמונה למעלה של המעגל על מנת להרכיב אותה על לוח הלחם שלך. תוכלו גם לראות את התמונה של לוח הלחם ואת המעגל שבתוכו כדי לראות כיצד מחברים סיכות. המעגל כולו מופעל באמצעות זרם ישר של 5V (DC). לשם כך, תוכל להשתמש בסוללת 5V עם ממיר USB-B או מחולל פונקציות.
כמה תזכורות:
- ספק כוח 5V והקרקע מחוברים בקווים אופקיים נפרדים של לוח הלחם
- אם אתה רוצה לחבר 2 רכיבים במקביל, שים אותם בקו משותף של לוח הלחם
- אם ברצונך לחבר 2 רכיבים סדרתיים, המרכיבים חייבים רק סיכה אחת בשורה משותפת של לוח הלחם.
אל תהסס לצפות בהדרכה ייעודית כיצד להשתמש בלוח לחם ולהעלות עליו מעגל. אל תשכח לקרוא בעיון את מיקום הסיכה של מגבר השמע LM358P (ראה תמונה למעלה)
שלב 5: מעגל פלט
אותן הוראות בדיוק כמו שלב 4. ארבעת הכניסות: SDI, לא CS, SCK, לא LDAC הן מלוח ה- DE0-Nano-Soc שלך. נראה בהמשך כיצד לייצר אותם.
אל תשכח לקרוא בעיון את מיקומי הסיכה של מגבר השמע LM386 (ראה תמונה למעלה)
שלב 6: [אופציונלי] יצירת רכיבי בורד ומעגלים מודפסים
אם יתמזל מזלך הבעלים של מדפסת מעגלים או שאתה יכול להשתמש במדפסת מעגלית, אנו הולכים ליצור לוח מעגלים מודפסים משלנו (PCB). שים לב כי שלב זה הוא אופציונלי. שלב זה מורכב רק מהעברת המעגל מלוח הלוח למחשב הלוח.
תצטרך את 2 קבצי ה- GERBER האלה.
קבצים אלה נעשו באלטיום. השתמש בהם בתוכנת מדפסת ה- PCB כדי להדפיס את ה- PCB. לאחר קבלת ה- PCB, ודא שה- PCB נקי וכי הרצועות מודפסות כהלכה.
עכשיו הנה העסקה האמיתית: הלחמה. 2 התמונות למעלה הן מפת המעגל על הלוח המודרני. לכל רכיב יש שמות (R6, C4, MK1 וכו '). תמונות בשלב 4 ו -5 מציגות את פרמטרי הרכיבים (התנגדות, מוליכות..). מקם כל רכיב מלוח הלוח אל הלוח הלוח לפי שמותיהם.
לאחר שהלחמת הכל בעזרת הלחם שלך, בדוק כל רכיב בעזרת מד מתח כדי לבדוק אם יש קצר חשמלי.
שלב 7: הגדרת SoC
בנוגע להגדרת SoC, יהיה עליך להריץ כמה פקודות ותסריטים הכלולים בחבילת SoC המובנית בתוך מסוף. לשם כך תצטרך להוסיף קצת $ PATH. PATH משמשים בתוך מסוף כדי לחפש קובץ בספריות הנתונות על ידי הנתיב בעת הפעלת פקודה. לשם כך הקלד את שורת הפקודה הבאה:
ייצוא PATH =/cygdrive/c/altera_lite/15.1/quartus/sopc_builder/bin: $ PATH
לאחר מכן הקלד את שורת הפקודה ליצירת כותרות מקובץ sof. אתה משיג את קובץ ה- sof על ידי חיבור הפרויקט שלך ב- Quartus. לשם כך הקלד:./generate_header.
שלב 8: תכנות C HPS
אנחנו צריכים להבין 2 דברים בחלק זה, קרי לקרוא את הערך של ה- ADC ולכתוב אותו ב- SPI.
1. קרא את הערך של ה- ADC
כתובת הזיכרון שבו ה- ADC נמצא אינה נגישה ישירות, למעשה מערכת הלינוקס הקיימת בכרטיס מגדירה הפשטה של הזיכרון. כדי באמת להיכנס לכתובת ה- ADC נשתמש בפונקציית mmap.
"h2p_lw_spi_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (unsigned long) (HW_REGS_MASK));"
הוראה זו מאפשרת להוסיף קיזוז בתחילת כתובת הבסיס כדי להגיע לכתובת הזיכרון המוקצה ל- ADC, ולבצע על הכתובת המתקבלת היגיון AND לקחת בחשבון את המיסוך.
לאחר מכן, יהיה צורך רק להפנות את המצביע בתוכנית כדי להשיג את ערכו.
2. כתוב את ערך ה- ADC ב- SPI
המניפולציה זהה, הפעם אנו נותנים ל- mmap את הקיזוז לנחות בכתובת שהוקצה על ידי ה- SPI. בעת הכתיבה ב- SPI, התיעוד הטכני מציין שעליך לכתוב לכתובת +1 את ערך המודעה.
"*(h2p_lw_spi_addr+1) = ((0x1 << 12) | *h2p_lw_adc_addr);"
הוראה זו מאפשרת לך לכתוב ל- SPI. אכן ביט 4, כך 1 << 12, הוא הסיביה המאפשרת להפעיל את ה- SPI. עם OR הגיוני, אנו נותנים לכן את ביט ההפעלה ואת הערך של ה- ADC ל- SPI.
שלב 9: רכישה דיגיטלית של ה- ADC מהכרטיס
קודם כל, יהיה עליך להגדיר את כתובת ה- IP של המחשב שלך דרך לוח הבקרה -> רשת -> כרטיסי זיכרון. בחר את ממשק ה- Ethernet של הכרטיס, הנכס, כתובת ipv4 והזן IP קבוע, מסכה וכו '…
לאחר מכן, חבר את הכרטיס מצד שקע החשמל באמצעות כבל המיקרו USB. פתח את מתכנת Quartus והפעל את הייצוא. מניפולציה זו תתבצע מחדש לאחר כל כיבוי של הכרטיס.
שנה את כבל תקע המיקרו USB כדי להתחבר הפעם לצד שקע ה- Ethernet. כעת, עם מרק יהיה צורך להתחבר לכרטיס באמצעות קישור טורי. התצורה גלויה בתמונות, הרעיון הוא להחליף את COM5 על ידי COM ואחריו את המספר שתוכל למצוא במנהל ההתקנים שלך (לחץ לחיצה ימנית על הלוגו של Windows כדי לפתוח אותו).
הקש enter, אתה מחובר.
מידע להפעלה מחדש של הפרויקט: - תקן ip ethernet המתאים לכרטיס - הפעל את הכרטיס, בכל פעם שאתה מפעיל את הכוח, עליך לשים עם "תוכנית" מתחת לרבע את הפרויקט שנאסף בכרטיס. זה נעשה באמצעות יציאת המיקרו USB - כדי להצליח להציג את התוצאה של התוכנית אנו משתמשים יותר במיקרו USB אך ב- UART - עם מרק מוגדר עבור COM5 סידורי (או 6 שעון gestinnaire periph) התחבר לכרטיס. - הגדר סיסמה (passwd) - הגדר כתובת IP ifconfig ethxx IPchoice (IP לא רחוק מזה של eth של המחשב האישי) - צור את הכותרת על פי Qsys כשהמסוף מוטמע (ייצא PATH) - make - scp l exec ב- מפה - לבצע תחת מרק את פרוג
שלב 10: חישוב FFT
על מנת לקבל את טרנספורמציה המהירה של פורייה בתוכנית C שלנו, נשתמש בספרייה שנכתבה על ידי מארק בורגרדינג: Kiss FFT. אתה יכול להוריד את הספרייה כאן: https://kissfft.sourceforge.net/. החלת FFT על אות היא הכרחית על מנת לשנות ולהחיל אפקטים של אות. זה יכול גם לשמש להצגת הספקטרום של אות.
השלב הראשון בתוכנית C שלך כולל הקצאת זיכרון על מנת לאחסן את תוצאת ה- FFT. גודל הזיכרון תלוי במספר הנקודות המשמשות לחישוב ה- FFT. ככל שיש לך יותר נקודות, כך ה- FFT יהיה יותר מדויק. עם זאת, התוכנית תפעל לאט יותר ותשתמש יותר בזיכרון. שים לב שתקבל שני מערכים מהפונקציה kiss_fft: הקלט והפלט של הפונקציה (cx_in ו- cx_out)
לאחר שהמערך שלנו יתמלא בערכי FFT חדשים, כלומר כאשר r = Win - 1, אנו מעבדים את ה- FFT. בנוגע לתצוגה, אנו מציגים רק את החלק החיובי של הספקטרום, שכן קיימת סימטריה בין החלק השלילי לחלק החיובי.
בנוגע לציר האופקי, אנו מפחיתים את ערכי השיא ב -100*גובה/(גובה ²) על מנת להבחין בין שיאי התדרים העיקריים.
אנו משתמשים בשיחת מערכת usleep על מנת להגדיר תדר קריאה לערכי ה- ADC. תדר זה מוגדר כרגע ל -1, 5 הרץ.
שלב 11: הצגת ה- FFT
על סמך דוגמה תן על מסך ה- TFT LCD של Adafruit הזמין כאן: https://www.terasic.com/downloads/cd-rom/de0-nano-s… תיכננו את ה- NIOS של הלוח שלנו כך שהוא יוכל לקרוא ערך ה- ADC.
אז רשם ה- ADC משותף בין ה- NIOS ל- HPS מכיוון שערכי ה- ADC ישמשו להצגת ה- FFT במסך ה- NIOS, ואותם ערכים ייכתבו ב- SPI על מנת שיוצא מהלוח ולבסוף יומר על ידי DAC כדי לקבל אות אנלוגי.
שלב 12: הרכבה
כמעט סיימנו! יהיה עליך להרכיב כל חלק של הפרוג'ט (מעגל כניסה, מעגל פלט ולוח). הקפד לחבר את החלקים לפינים הנכונים בהתאם לפרויקט Quartus.
- מעגל הקלט ישלח את אות השמע שנתפס על ידי המיקרופון, מוגבר, מסונן וקוזז.
- התוכנית C המופיעה בכרטיס תקרא את ערכי ה- ADC כפי שראינו בעבר, ותכתוב אותה ב- SPI כך שנוכל לשחזר את הערך ב- GPIO של הכרטיס.
- לאחר מכן פלט ה- GPIO של ה- SPI ישדר את המידע שיפענח על ידי ה- DAC שלנו ויוגבר על ידי ריצה כדי להגיע לרמקול.
שלב 13: אפקטים קוליים
הצעד היחיד שנותר הוא אפקטים קוליים.
השפעות זמינות הן:
- מסנן תדרים גבוהים
- מסנן תדרים נמוכים
- …
אתה יכול לעבור בין אפקטים בזכות כפתור. כפתור זה ישנה משתנה בתוכנית C שלנו, כך שהוא יכול ליישם את האפקט הנכון.
שלב 14: [אופציונלי] הכנת הקסדה
כאן אנו נמצאים בשלב הידני ביותר של הפרויקט:
- ראשית הדבקנו את החלקים השונים המודפסים של הקסדה.
- כדי למלא את הפערים בין החלקים המודבקים הוספנו גימור בעזרת עט תלת מימד.
- ליטשנו את המרווחים המלאים בעט ובקסדה באופן כללי יותר כך שהציור יחזיק טוב לאחר מכן.
- ציירנו את הקסדה בשתי שכבות: הראשונה בשחור אנתרציט, מקרוב, ושנייה של ירוק ראשוני מלמעלה מעניקה גוונים של ירוק כהה יותר.
- לבסוף הדפסנו את הלוגו של בית הספר שלנו בצד הקסדה
מוּמלָץ:
דרואיד בהשראת קול D2 בהשראת קול באמצעות Blynk ו- Ifttt: 6 שלבים
מערכת שליטה ב- R2D2 בהשראת קול באמצעות Dlynk באמצעות Blynk ו- Ifttt: על ידי צפייה במלחמת הכוכבים רבים מאיתנו קיבלו השראה מדמויות רובוטים במיוחד הדגם R2D2. אני לא יודע לגבי אחרים אבל אני פשוט אוהב את הרובוט הזה. מכיוון שאני חובב רובוטים החלטתי לבנות דרואיד R2D2 משלי בנעילה זו באמצעות blynk Io
בקר ארדואינו (מחליף אוויר ביתי) עם חיסכון אוויר: 7 שלבים (עם תמונות)
HRV (מחליף אוויר ביתי) בקר Arduino עם Economizer Air: בקר HRV Arduino עם Air Economizer אז ההיסטוריה שלי עם הפרויקט הזה היא שאני גר במינסוטה ולוח המעגלים שלי מטוגן ב- LifeBreath 155Max HRV שלי. לא רציתי לשלם את $ 200 עבור אחד חדש. תמיד רציתי משהו עם חטא כלכלן אוויר
מחליף סאונד: 5 שלבים (עם תמונות)
מחליף סאונד: שלום! תמיד רצית ליצור מערכת צליל רכישה/השבה המסוגלת לשנות את הצליל שלך באפקט כמו סינון או אפנון! מחליף הקול מיועד עבורך! הפרויקט הזה דורש כ -10 שעות ותקציב של $ 173.78.1 DE0 ננו אז
TECHNO VIKING! קרני לד על קסדת ויקינג בחלל: מחוון עוצמת קול + קסדת ויקינג שקופה: 6 שלבים
TECHNO VIKING! קרני לד על קסדת ויקינג בחלל: מחוון עוצמת קול + קסדת ויקינג שקופה: כן! זו קסדה לחללי ויקינגים. *** עדכון, יש לשנות את שם קסדת הטכנו ויקינג *** אבל באוקטובר 2010 ולמדתי רק על הטכנו ויקינג היום. הרבה מאחורי עקומת המם. מהו, הנה הוא עם תפוקה גבוהה יותר
מחליף קול: 9 שלבים
מחליף סאונד: האם אי פעם העברת המוזיקה שלך בעבודה ולא הבנת שמישהו מנסה לדבר איתך. גרוע מכך, האם אי פעם רצית לישון בעבודה, אבל לא הייתה לך דרך טובה להתעורר אם מישהו (כמו הבוס שלך) עומד להיכנס אליך