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

מודול מקשים לפסנתר עם LED RGB: 5 שלבים (עם תמונות)
מודול מקשים לפסנתר עם LED RGB: 5 שלבים (עם תמונות)

וִידֵאוֹ: מודול מקשים לפסנתר עם LED RGB: 5 שלבים (עם תמונות)

וִידֵאוֹ: מודול מקשים לפסנתר עם LED RGB: 5 שלבים (עם תמונות)
וִידֵאוֹ: פרויקט ארדואינו שקע בית חכם RTC I2Cבלוטוס תצוגת LCD 2024, יולי
Anonim
Image
Image
חומרים דרושים
חומרים דרושים

הקדמה

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

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

רעיון רעיון

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

מחקר

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

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

חומרים דרושים
חומרים דרושים
חומרים דרושים
חומרים דרושים
חומרים דרושים
חומרים דרושים

רשימת חומרים

  • זמזם פיזו 1x ▶
  • מודול לוח מקשים 4x4 1x ▶
  • Arduino Uno 1x ▶
  • כבל USB 2.0 סוג A/B 1x ▶
  • מודול חיישן קול 1x ▶
  • RGB LED 1x ▶
  • נגד 330 אוהם 3x ▶
  • חוט מגשר זכר לנקבה 8x ▶
  • חוט מגשר זכר לזכר 4x ▶
  • 3 פינים חוט מגשר זכר לנקבה 1x ▶

רשימת החומרים לפי סדר התמונות למעלה.

שלב 2: זמן בנייה

זמן בנייה!
זמן בנייה!
זמן בנייה!
זמן בנייה!
זמן בנייה!
זמן בנייה!
זמן בנייה!
זמן בנייה!

מודול לוח מקשים 4x4 וזמזם פיזו

תֵאוֹרִיָה

מכיוון שמודול לוח המקשים 4x4 וזמזם הפאזו מכילים כל כך הרבה קלט אישי בודד ואני אחליט לחלק את הרכיבים המשמשים לשני זוגות. התמקדות בלוח המקשים, משמשת בדרך כלל כקלט. מודול לוח המקשים מטריקס SunFounder 4*4 הוא לוח מקשים לא מקודד מטריקס המורכב מ -16 מקשים במקביל, המפתחות של כל שורה ועמודה מחוברים דרך הסיכות שבחוץ- סיכה Y1-Y4 כפי שכותרתו ליד השליטה בשורות, כאשר X1- X4, העמודות.

מַטָרָה

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

פין מודול מטריקס - סיכת ארדואינו

  • 4 - 2
  • 3 - 3
  • 2 - 4
  • 1 - 5
  • 5 - 6
  • 6 - 7
  • 7 - 8
  • 8 - 13

זמזם פיזו - פין ארדואינו

שחור - GND

כוח אדום

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

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

כל רישומי Tinkercad של חוטי הרכיב הספציפיים מקודדים בצבע כהלכה, לכן עקוב בזהירות

שלב 3: מודול חיישן קול ונורית RGB

מודול חיישן קול ו- LED RGB
מודול חיישן קול ו- LED RGB
מודול חיישן קול ו- LED RGB
מודול חיישן קול ו- LED RGB
מודול חיישן קול ו- LED RGB
מודול חיישן קול ו- LED RGB

מודול חיישן קול ו- LED RGB

תֵאוֹרִיָה

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

מַטָרָה

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

מודול חיישן קול - פין Arduino (השתמש בחוט מגשר 3 פינים)

  • פלט - פין אנלוגי A0
  • GND - כל חריץ פינים מסוג GND פתוח
  • VCC - 3V

אנודה משותפת של RGB (+) - פין ארדואינו

  • אדום - 9
  • הספק - 5V
  • ירוק - 10
  • כחול - 11

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

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

*הטיפ הוא לעקוב אחר המקום שבו כל חוט מוכנס לשני הכיוונים

כל הסקיצות של Tinkercad של חוטי הרכיב הספציפיים מקודדות בצבע כהלכה, עקוב אחר כך

שלב 4: קוד

קוד

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

קוד חובה בתוך קוד זה היה ספריית לוח המקשים

קישור כאן:

לאחר ההורדה הוסף את הספרייה החדשה לארדואינו, לאחר מכן הכנס את שורת הקוד היחידה הדרושה להפעלה.

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

קוד

#include // ספריית לוח המקשים

int greenPin = 11; // פין ירוק RGB המחובר לסיכה דיגיטלית 9

int redPin = 10; // פין אדום RGB המחובר לסיכה דיגיטלית 9

int bluePin = 9; // פין כחול RGB מחובר לפין דיגיטלי 9 רמקול intPin = 12; // רמקול מחובר לפין דיגיטלי 12 const byte ROWS = 4; // ארבע שורות const byte COLS = 4; // ארבע קולומות const int soundPin = A0; // חיישן קול מצורף ל- A0

מפתחות צ'אר [ROWS] [COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // ויזואליזציה של מודול לוח המקשים

בתים rowPins [ROWS] = {2, 3, 4, 5}; // התחבר לנקודות השורה של לוח המקשים

בת colPins [COLS] = {6, 7, 8, 13}; // התחבר לסיבוכי colum של לוח המקשים

לוח מקשים = לוח מקשים (makeKeymap (מקשים), rowPins, colPins, ROWS, COLS); // יוצר מפתחות

הגדרת בטל () {

pinMode (speakerPin, OUTPUT); // מגדיר את speakerPin להיות פלט

pinMode (redPin, OUTPUT); // מגדיר את הסיכה האדומה להיות pinMode פלט (greenPin, OUTPUT); // מגדיר את הסיכה הירוקה להיות pinMode פלט (bluePin, OUTPUT); // מגדיר את הסיכה הכחולה כפלט

Serial.begin (9600);

} void setColor (int אדום, int ירוק, int כחול) // פונקציה מוגדרת חדשה המאפשרת ל- RGB להציג צבע באמצעות קוד RGB {#ifdef COMMON_ANODE אדום = 255 - אדום; ירוק = 255 - ירוק; כחול = 255 - כחול; #endif analogWrite (redPin, אדום); analogWrite (greenPin, ירוק); analogWrite (bluePin, כחול); }

צפצוף חלל (רמקול צ'אר ללא סימן Pin, int frequencyInHertz, long timeInMilliseconds) {// הפונקציות להפקת הצלילים

int x; long delayAmount = (long) (1000000/frequencyInHertz); long loopTime = (long) ((timeInMilliseconds*1000)/(delayAmount*2)); עבור (x = 0; x

לולאת חלל () {

מפתח char = keypad.getKey (); int value = analogRead (soundPin); // קרא את הערך של A0 Serial.println (ערך); // הדפס את הערך

אם (מפתח! = NO_KEY) {

Serial.println (מפתח); } if (key == 'a') {ביפ (speakerPin, 2093, 100); setColor (218, 112, 214); } if (key == 'b') {ביפ (speakerPin, 2349, 100); setColor (218, 112, 214); } if (key == 'c') {ביפ (speakerPin, 2637, 100); setColor (218, 112, 214); } if (key == 'd') {ביפ (speakerPin, 2793, 100); setColor (218, 112, 214); } if (key == 'e') {ביפ (speakerPin, 3136, 100); setColor (218, 112, 214); } if (key == 'f') {ביפ (speakerPin, 3520, 100); setColor (218, 112, 214); } if (key == 'g') {ביפ (speakerPin, 3951, 100); setColor (218, 112, 214); } if (key == 'h') {ביפ (speakerPin, 4186, 100); setColor (218, 112, 214); } if (key == 'i') {ביפ (speakerPin, 2093, 100); setColor (230, 230, 0); } if (key == 'j') {ביפ (speakerPin, 2349, 100); setColor (180, 255, 130); } if (key == 'k') {ביפ (speakerPin, 2637, 100); setColor (130, 255, 130); } if (key == 'l') {ביפ (speakerPin, 2739, 100); setColor (130, 220, 130); } if (key == 'm') {ביפ (speakerPin, 3136, 100); setColor (0, 255, 255); } if (key == 'n') {ביפ (speakerPin, 3520, 100); setColor (0, 220, 255); } if (key == 'o') {ביפ (speakerPin, 3951, 100); setColor (0, 69, 255); } if (key == 'p') {ביפ (speakerPin, 4186, 100); setColor (255, 0, 255); }}

שלב 5: מחשבות אחרונות

Image
Image

מחשבות אחרונות

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

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

אנא הקפד לשתף אם נהנית מפרויקט הארדואינו הזה.

מוּמלָץ: