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

ארדואינו הופך לדבר טום: 6 שלבים
ארדואינו הופך לדבר טום: 6 שלבים

וִידֵאוֹ: ארדואינו הופך לדבר טום: 6 שלבים

וִידֵאוֹ: ארדואינו הופך לדבר טום: 6 שלבים
וִידֵאוֹ: מדריך ESP32 שעון חכם 2024, נוֹבֶמבֶּר
Anonim
ארדואינו הופך לדבר טום
ארדואינו הופך לדבר טום
ארדואינו הופך טום מדבר
ארדואינו הופך טום מדבר

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

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

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

מדריך זה נכתב בשיתוף פעולה עם Hatchnhack Makerspace בדלהי

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

אז הבה נתחיל!

שלב 1: חומרים בשימוש

חומרים בשימוש
חומרים בשימוש
חומרים בשימוש
חומרים בשימוש
חומרים בשימוש
חומרים בשימוש

חוּמרָה:

  • אונו ארדואינו
  • מודול מיקרופון MAX4466 עם רווח מתכוונן
  • מודול קורא כרטיסי SD מבוסס SPI
  • כרטיס זיכרון
  • מגבר אודיו כמו רמקול מחשב, מודול מגבר PAM8403 וכו '.
  • רמקולים לחיבור למגבר
  • שקע שמע נקבה
  • 1 x 1k אוהם נגד
  • נגד 2x10k אוהם
  • קבל 1 x 10uF
  • 2 x לחצן לחיצה
  • חוטי מגשר

תוֹכנָה:

  • Arduino IDE
  • תעוזה (אופציונלי)
  • ספריית TMRpcm ו- SD עבור Arduino

שלב 2: סקירה בסיסית של הפרויקט

הפרויקט כולל בעיקר 2 תכונות:

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

ממשק המשתמש של הפרויקט מורכב בעיקר משני כפתורי לחיצה שכל אחד מהם תואם לאחת מהתכונות לעיל.

העבודה הקשה העיקרית של הקלטה והפעלה של קבצי השמע מכרטיס ה- SD מטופלת על ידי ספריית TMRpcm

הקלטת השמע משתמשת במודול המיקרופון MAX4466, ה- ADC הפנימי של arduino ובספריית TMRpcm כדי לדגום את השמע ולאחר מכן לאחסן אותו זמנית בכרטיס ה- SD כקובץ '.wav' להפעלה. קבצי שמע '.wav' משתמשים ב- PCM (Pulse Code Modulation) כדי לאחסן את נתוני השמע בפורמט הדיגיטלי, כך שניתן יהיה לשחק אותם שוב בקלות. באופן כללי, עדיף להשתמש ב- ADC חיצוני לפרויקטים מבוססי שמע מכיוון שהרזולוציה של ה- ADC של Arduino אינה כה גבוהה אך היא פועלת לפרויקט זה.

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

התקשורת בין מודול כרטיס ה- SD לבין הארדואינו מתבצעת באמצעות SPI (ממשק היקפי סידורי). הקוד משתמש בספריית SD & SPI כדי לגשת בקלות לתוכן כרטיס ה- SD.

שלב 3: הכינו את כרטיס ה- SD וחברו את מודול כרטיס ה- SD

הכינו את כרטיס ה- SD וחברו את מודול כרטיס ה- SD
הכינו את כרטיס ה- SD וחברו את מודול כרטיס ה- SD
הכינו את כרטיס ה- SD וחברו את מודול כרטיס ה- SD
הכינו את כרטיס ה- SD וחברו את מודול כרטיס ה- SD
הכינו את כרטיס ה- SD וחברו את מודול כרטיס ה- SD
הכינו את כרטיס ה- SD וחברו את מודול כרטיס ה- SD
הכינו את כרטיס ה- SD וחברו את מודול כרטיס ה- SD
הכינו את כרטיס ה- SD וחברו את מודול כרטיס ה- SD
  • ראשית עליך לאתחל ככרטיס SD עם מערכת קבצים FAT16 או FAT32 (אתה יכול להשתמש בסמארטפון שלך כדי לעצב את כרטיס ה- SD).
  • כעת התקן מראש כמה קבצי שמע של wav בכרטיס ה- SD. אתה יכול ליצור קבצי.wav עם Audacity (עיין בהוראות להלן). זכור בשם הקבצים בשם audio_1.wav, audio_2.wav, audio_3.wav וכן הלאה.

מודול כרטיס ה- SD משתמש ב- SPI כדי לתקשר את הנתונים עם הארדואינו. לכן, הוא מתחבר רק לאותם סיכות שבהן SPI מופעל. חיבורים אלה הם כדלקמן:

  • Vcc - 5v
  • GND - GND
  • MOSI (Master Out Slave In) - סיכה 11
  • MISO (Master In Slave Out) - סיכה 12
  • CLK (שעון) - סיכה 13
  • SS/CS (בחירת עבדים/בחירת שבבים) - סיכה 10

יצירת קובץ '.wav' עם תוכנת Audacity:

  • פתח את קובץ השמע שברצונך להמיר ל-.wav ב- Audacity.
  • לחץ על שם הקובץ ולאחר מכן בחר 'פיצול סטריאו למונו'. אפשרות זו מחלקת את אודיו הסטריאו לשני ערוצי מונו. כעת תוכל לסגור את אחד הערוצים.
  • שנה את ערך 'קצב הפרויקט' בתחתית ל- 16000 הרץ. ערך זה מתאים לתדר הדגימה המרבי של ה- ADC הפנימי של arduino.
  • עכשיו הגעתי לקובץ-> ייצוא/ייצוא כ- WAV.
  • בחר את המיקום ואת שם הקובץ המתאימים. מתפריט הקידוד בחר 'PCM 8 סיביות לא חתום' מכיוון שאנו משתמשים בפורמט PCM לאחסון השמע בפורמט דיגיטלי.

שלב 4: חבר את פלט השמע והמיקרופון

חבר את פלט השמע והמיקרופון
חבר את פלט השמע והמיקרופון
חבר את פלט השמע והמיקרופון
חבר את פלט השמע והמיקרופון
חבר את פלט השמע והמיקרופון
חבר את פלט השמע והמיקרופון
חבר את פלט השמע והמיקרופון
חבר את פלט השמע והמיקרופון

חיבור המיקרופון:

  • Vcc - 3.3v
  • GND - GND
  • OUT - סיכת A0

הערה:

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

חיבור פלט השמע:

  • מקם את קבל 10 uF ואת הנגד של 1k ohm בסדרה על לוח הלחם כשהחיובי של הקבל מחובר לנגד. אלה יוצרים יחד מסנן RC אשר ממיר את פלט ה- PWM לאות אנלוגי שניתן להזין אותו למגבר.
  • חבר את הסיכה 9 של Arduino לקצה השני של הנגד.
  • הטרמינל השלילי של הקבל מתחבר לערוץ השמאלי והימני של שקע השמע הנשי.
  • ה- GND של שקע השמע מתחבר ל- GND.
  • שקע שמע מחובר למגבר באמצעות כבל Aux. במקרה שלי השתמשתי במערכת הרמקולים של המחשב האישי שלי.

הערה:

ייתכן ששימוש ב- PWM כפלט השמע אינו האפשרות הטובה ביותר מכיוון ש- DAC חיצוני יספק רזולוציה ואיכות הרבה יותר טובים. בנוסף, הקבל והנגד במסנן RC עשויים לעורר רעש לא רצוי. אבל עדיין התפוקה הייתה הגונה למדי לפרויקט הזה

שלב 5: חיבור הכפתורים

לחבר את הכפתורים
לחבר את הכפתורים
לחבר את הכפתורים
לחבר את הכפתורים
לחבר את הכפתורים
לחבר את הכפתורים

הפרויקט משתמש בלחיצת כפתורים כממשק המשתמש. שניהם מבצעים פונקציות שונות ומשתמשים בהם באופן שונה אך בעלי אותו חיווט. הקשר ביניהם הוא כדלקמן:

  • מניחים את הכפתורים על לוח הלחם.
  • צרף מסוף אחד של הכפתור לסיכה 2 של הארדואינו עם נגד למטה 10k אוהם. המסוף השני של הכפתור מתחבר ל- 5v. לכן, כאשר לוחצים על הכפתור הסיכה 2 הופכת לגבוהה ואנו יכולים לזהות זאת בקוד.
  • הכפתור השני מתחבר זהה עם סיכה 3 של arduino במקום 2.

הכפתור המחובר לסיכה 2 מנגן קובץ שמע אקראי מתוך קבוצת קבצי האודיו המותקנים מראש בכרטיס ה- SD כאשר לוחצים עליו פעם אחת.

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

שלב 6: העלה את הקוד

העלה את הקוד
העלה את הקוד
העלה את הקוד
העלה את הקוד
העלה את הקוד
העלה את הקוד

לפני העלאת הקוד, ודא שהתקנת את כל הספריות הנדרשות כמו TMRpcm, SD וכו '.

תוכל גם לפתוח את הצג הטריאלי לאחר העלאת הקוד כדי לקבל משוב על מה שהארדואינו עושה.

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

ואתה גמור !!

מוּמלָץ: