Menu
CoddyTech

גובה הצליל באמצעות כפתור

חלק מהיחידה פלטים במסלול ה-Arduino של Coddy. שיעור 12 מתוך 24.

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

הפעם טווח היעד הוא תדר. 200 Hz הוא זמזום נמוך ו־2000 Hz הוא שריקה גבוהה, לכן:

int reading = analogRead(A0);
int pitch = map(reading, 0, 1023, 200, 2000);
tone(8, pitch);

map() לא דורשת שהטווח החדש יתחיל ב־0: הערך 0 הופך ל־200, הערך 1023 הופך ל־2000, ובאמצע טווח הסיבוב מתקבל ערך קרוב ל־1100.

קריאה חוזרת ל־tone() עם תדר חדש משנה מיד את הצליל, כך שהגובה שלו משתנה בהתאם לסיבוב הכפתור. delay(10) קצר מונע מהסקץ׳ להפעיל מחדש את הצליל אלפי פעמים בשנייה.

challenge icon

אתגר

קל

הכפתור מחובר ל-A0 והזמזם לפין 8. גרמו לכפתור לקבוע את גובה הצליל:

  • קראו את הכפתור
  • המירו את הקריאה לתדר שבין 200 ל-2000 Hz באמצעות map()
  • השמיעו אותו באמצעות tone(), ואז המתינו 10 ms

לחצו על Run וסובבו את הכפתור, ואז לחצו על Check.

נסו בעצמכם

const int knobPin = A0;
const int buzzerPin = 8;

void setup() {
}

void loop() {
  // קרא את ערך הכפתור הסיבובי, מפה אותו לטווח 200..2000 Hz והשמע אותו
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה פלטים

תרגלו בעצמכם: Arduino אונליין