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

ארדואינו - פסנתר שלושה כפתורים לפיאצו: 4 שלבים
ארדואינו - פסנתר שלושה כפתורים לפיאצו: 4 שלבים

וִידֵאוֹ: ארדואינו - פסנתר שלושה כפתורים לפיאצו: 4 שלבים

וִידֵאוֹ: ארדואינו - פסנתר שלושה כפתורים לפיאצו: 4 שלבים
וִידֵאוֹ: Control 10 output pins or relay using 10 push button switch with 1 Arduino input pin ANPB-V2 2024, יוני
Anonim
Image
Image

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

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

החומרים הדרושים כוללים:

  • 1 ארדואינו
  • לוח אחד
  • 1 כבל USB
  • חוטי מגשר (בצבעים שונים)
  • 1 330 קילוגרם אוהם נגד
  • באזר פיאזו
  • 3 לחצני לחיצה
  • פוטנציומטר 1

שלב 1: זמזם פיצו

זמזום פיזו
זמזום פיזו

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

שלב 2: לחצני לחיצה

ללחוץ על כפתורים
ללחוץ על כפתורים
ללחוץ על כפתורים
ללחוץ על כפתורים

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

שלב 3: פוטנציומטר

פוטנציומטר
פוטנציומטר
פוטנציומטר
פוטנציומטר

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

רגל ימין: מוט שלילי (קרקע)

רגל אמצעית: סיכה אנלוגית 0

רגל שמאל: מוט חיובי

שלב 4: קוד

בעת כתיבת קוד לפרויקט זה, הפניתי למידע על כמה סוגי פונקציות ספציפיות:

טוֹן()

noTone () (בסופו של דבר לא השתמשתי בזה. הגדרתי את התדר "0" במקום זאת).

מַפָּה()

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

ניתן לחלק את פונקציית הטון () לשלושה חלקים:

  1. סיכה (הסיכה שאליה מחובר זמזם הפיזו)
  2. תדר (תדירות הצליל בהרץ)
  3. משך (משך הצליל שניתן באלפיות השנייה)

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

תוכל גם להבחין כי הקוד כולל שני פיסות קוד אחרות. יש כמה הצהרות אם/אחרת שהוגדרו לספר לארדואינו מה לעשות אם לוחצים על לחצנים שונים כמו גם להגדיר אותו עם "תדירות = 0" במצבים שבהם לא לוחצים על אף אחד מהלחצנים. בתוך הצהרות if/else, פונקציות מפה () משמשות למיפוי קנה המידה של הפוטנטיומטר על קבוצת תדרים. אלה ניתן לשנות! שחק עם ערכי תדרים שונים כדי לראות אילו צלילים שונים אתה יכול לקבל מהפיזו.

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

int piezoPin = 8; // סיכת הגדרה המחוברת ל- Piezo.

int sensorPin = 0; // הגדר סיכה המחוברת לחיישן (הפוטנציומטר). int sensorValue = 0;

int button1 = 5; // הגדר את סיכות הכניסה המחוברות לכפתורים.

int button2 = 4; int button3 = 3;

תדר int = 0;

const int delayTime = 500; // הגדר קבוע למשתנה של זמן עיכוב בפונקציית הטון ().

הגדרת בטל () {

pinMode (כפתור 1, INPUT_PULLUP); pinMode (כפתור 2, INPUT_PULLUP); pinMode (כפתור 3, INPUT_PULLUP); }

לולאת חלל () {

sensorValue = analogRead (sensorPin); // קרא את החיישן. // מפה את הערכים השונים של הפוטנציומטר לקבוצת תדרים עבור כל אחד משלושת הכפתורים. if (digitalRead (כפתור 1) == LOW) {frequency = map (sensorValue, 0, 1023, 400, 499); } אחרת אם (digitalRead (button2) == LOW) {frequency = map (sensorValue, 0, 1023, 500, 599); } אחרת אם (digitalRead (button3) == LOW) {frequency = map (sensorValue, 0, 1023, 600, 699); } אחר {תדירות = 0; } צליל (piezoPin, תדירות, delayTime); // הגדר את פונקציות הטון () עם משתנים. }

מוּמלָץ: