תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
מבוא
לאחר שהתנסיתי בבניית סינתיסייזרים שונים, יצאתי לבנות סמפלר אודיו, שניתן לשכפל בקלות ולא יקר.
כדי לקבל איכות שמע טובה (44.1 קילוהרץ) ויכולת אחסון מספקת, נעשה שימוש במודול DFPlayer, המשתמש בכרטיסי זיכרון מיקרו SD לאחסון מידע של עד 32 ג'יגה -בייט. מודול זה מסוגל להשמיע צליל אחד בכל פעם, לכן נשתמש בשניים.
דרישה נוספת לפרויקט היא שהמעגל יכול להיות מותאם לממשקים שונים, ולכן בחרנו בחיישנים קיבוליים במקום בכפתורים.
ניתן להפעיל חיישנים קיבוליים רק במגע יד עם כל משטח מתכת המחובר לחיישן.
לקריאת החיישנים נשתמש בננו ארדואינו, בשל יכולותיו וגודלו הקטן.
מאפיינים
6 צלילים שונים
מופעל על ידי חיישנים קיבוליים.
פוליפוניה של 2 צלילים בבת אחת.
שלב 1: חומרים וכלים
חומרים
Arduino Nano
2x DFPlayer
2x מיקרו SD
3.5 שקע שמע
2.1 שקע DC
לוח נחושת 10x10
Ferric Chloride
חוט הלחמה
נייר העברת PCB
כלים
ברזל הלחמה
חותך עופרת רכיב
מַחשֵׁב
בַּרזֶל
תוֹכנָה
Arduino Ide
קיקאד
ADTouch Librarie
ספריה מהירה של DFPlayer
שלב 2: איך זה עובד
הדגימה פועלת כדלקמן, באמצעות ספריית ADTouch אנו ממירים 6 מהיציאות האנלוגיות של הארדואינו ננו לחיישנים קיבוליים.
כחיישן אנו יכולים להשתמש בכל פיסת מתכת המחוברת לאחד הפינים הללו באמצעות כבל.
תוכל לקרוא עוד על הספרייה ועל חיישנים קיבוליים בקישור הבא
כאשר נגע באחד החיישנים הללו, הארדואינו מזהה שינוי קיבול ולאחר מכן שולח את הפקודה לבצע את הצליל המתאים לחיישן זה למודולי DFPlayer.
כל מודול DFPlayer יכול להשמיע צליל אחד בלבד בכל פעם, כך שהאפשרות לבצע 2 צלילים בו זמנית המכשיר משתמש בשני מודולים.
שלב 3: סכמטי
בתרשים אנו יכולים לראות כיצד מחוברים הארדואינו ושני המודולים של DFPlayer
R1 ו- R2 (1 k) נועדו לחבר את המודולים ל- DFPplayers.
R 3 4 5 ו- 6 (10k) מיועדים לערבוב הפלט של ערוצים l ו- r של המודולים.
R 7 (330) הוא עמידות ההגנה של LED אשר ישמש כאינדיקטור לכך שהארדואינו מופעל.
שלב 4: בנה את ה- PCB
בשלב הבא נייצר את הצלחת בשיטת העברת החום, המוסברת במדריך זה:
על הלוח הונחו 6 רפידות המאפשרות שימוש בדגימה ללא צורך בחיישנים חיצוניים.
שלב 5: הלחמת הרכיבים
לאחר מכן נלחם את הרכיבים.
ראשית הנגדים.
מומלץ להשתמש בכותרות כדי להרכיב את הארדואינו ואת המודולים מבלי להלחם אותם ישירות.
כדי להלחם את הכותרות התחל בסיכה, בדוק אם היא ממוקמת היטב ולאחר מכן הלחם את שאר הסיכות.
לבסוף נלחם את המחברים
שלב 6: התקן את הספריות
בפרויקט זה נשתמש בשלוש ספריות שעלינו להתקין:
SoftwareSerial.h
DFPlayerMini_Fast.h
ADCTouch.h
בקישור הבא תוכל לראות בפירוט כיצד להתקין ספריות בארדואינו
www.arduino.cc/en/guide/libraries
שלב 7: קוד
כעת נוכל להעלות את הקוד ללוח Arduino.
לשם כך עלינו לבחור את לוח ה- Arduino Nano.
#include #include #include
int ref0, ref1, ref2, ref3, ref4, ref5; int th;
SoftwareSerial mySerial (8, 9); // RX, TX DFPlayerMini_Fast myMP3;
SoftwareSerial mySerial2 (10, 11); // RX, TX DFPlayerMini_Fast myMP32;
הגדרת void () {int th = 550; // Serial.begin (9600); mySerial.begin (9600); mySerial2.begin (9600); myMP3.begin (mySerial); myMP32.begin (mySerial2); myMP3.volume (18); ref0 = ADCTouch.read (A0, 500); ref1 = ADCTouch.read (A1, 500); ref2 = ADCTouch.read (A2, 500); ref3 = ADCTouch.read (A3, 500); ref4 = ADCTouch.read (A4, 500); ref5 = ADCTouch.read (A5, 500);
}
לולאת חלל () {
int total1 = ADCTouch.read (A0, 20); int total2 = ADCTouch.read (A1, 20); int total3 = ADCTouch.read (A2, 20); int total4 = ADCTouch.read (A3, 20); int total5 = ADCTouch.read (A4, 20); int total6 = ADCTouch.read (A5, 20);
סה"כ 1 -= ref0; סה"כ 2 -= ref1; סה"כ 3 -= ref2; סה"כ 4 -= ref3; סה"כ 5 -= ref4; סה"כ 6 -= ref5; // // Serial.print (total1> th); // Serial.print (total2> th); // Serial.print (total3> th); // Serial.print (total4> th); // Serial.print (total5> th); // Serial.println (total6> th);
// Serial.print (סה"כ 1); // Serial.print ("\ t"); // Serial.print (סה"כ 2); // Serial.print ("\ t"); // Serial.print (total3); // Serial.print ("\ t"); // Serial.print (total4); // Serial.print ("\ t"); // Serial.print (סה"כ 5); // Serial.print ("\ t"); // Serial.println (סה"כ 6); if (total1> 100 && total1> th) {myMP32.play (1); // Serial.println ("o1"); }
if (total2> 100 && total2> th) {myMP32.play (2); //Serial.println("o2 "); }
if (total3> 100 && total3> th) {
myMP32.play (3); //Serial.println("o3 ");
}
if (total4> 100 && total4> th) {
myMP3.play (1); //Serial.println("o4 ");
}
if (total5> 100 && total5> th) {
myMP3.play (2); //Serial.println("o5 ");
}
if (total6> 100 && total6> th) {
myMP3.play (3); //Serial.println("o6 ");
} // אל תשהה (1); }
שלב 8: טען את הצלילים בכרטיסי הזיכרון
עכשיו אתה יכול לטעון את הצלילים שלך בכרטיסי המיקרו SD
הפורמט חייב להיות 44.1 קילוהרץ ו- 16 סיביות wav
עליך להעלות 3 צלילים על כל כרטיס SD.
שלב 9: הממשק
בשלב זה אתה כבר יכול להריץ את הדגימה שלך עם רפידות ב- PCB, אך עדיין יש לך את האפשרות להתאים אותו אישית, לבחור מארז וחפצים או משטחי מתכת שונים לשימוש כחיישנים.
במקרה זה השתמשתי ב -3 ראשי פרק כף היד שאליהם הנחתי ברגי מתכת כצליל מגע מתכת.
לשם כך, חבר את הברגים לסיכות הלוח באמצעות כבלים.
אתה יכול להשתמש בכל אובייקט מתכתי, סרט מוליך או להתנסות בדיו מוליך.