מעגל מחולל מנגינה מוזיקלית של ארדואינו

נסה את הכלי שלנו לביטול בעיות





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

נדרשת חומרה

החומרה הנדרשת לפרויקט ניתנת כדלקמן:



  • לוח ארדואינו או ג'נווינו
  • זמזם פייזו או רמקול
  • חוטי חיבור

ה- Arduino מופעל באמצעות כניסת ספק כוח 9V, 500mA שיכולה להיות מכל מתאם SMPS AC לסטנדרטי סטנדרטי, או שאתה יכול גם לנסות את המטען הסלולרי שלך עבור אותו.

ניתן להגדיר ישירות את הסיכה 8 מהארדואינו עם הרמקול שאסור לדרג אותו מעל 8 אוהם ו- 1 וואט.



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

לפלט מוגבר

לקבלת צליל חזק יותר או מוגבר מאוד, אתה יכול להגדיר את הסיכה מס '8 עם שלב נהג טרנזיסטור, המורכב מטרנזיסטור TIP31, שבסיסו עשוי להיות מחובר עם סיכה 8 באמצעות נגד 1K, פולט לקרקע והקולט לאחד מחוטי החוט הרמקול, החוט השני של ה- spaker מתחבר כעת לאספקה ​​החיובית שהיא האספקה ​​9V (+).

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

מערכון זה מקודד לשחק ולהפיק די הרבה אקראיים
מנגינות ברצף תוך שימוש בסולם פנטטוני
/*
Musician
Plays a (fairly) random tune until the program is stopped.
8-ohm speaker on digital pin 8.
//Copyright (c) 2012 Jeremy Fonte
//This code is released under the MIT license
//https://opensource.org/licenses/MIT
*/
int randomNote = 131
int randomDuration = 2
int noteStep = 1
int notes[15]
void setup() {
pinMode(8, OUTPUT)
notes[1] = 131
notes[2] = 147
notes[3] = 165
notes[4] = 196
notes[5] = 220
notes[6] = 262
notes[7] = 294
notes[8] = 330
notes[9] = 392
notes[10] = 440
notes[11] = 523
notes[12] = 587
notes[13] = 659
notes[14] = 784
notes[15] = 880
randomNote = random(1, 15)
}
void loop() {
noteStep = random(-3, 3)
randomNote = randomNote + noteStep
if(randomNote <1) {
randomNote = random(1, 15)
}
else if(randomNote > 15) {
randomNote = random(1, 15)
}
randomDuration = random(1, 8)
// to calculate the note duration, take one second
// divided by the note type.
//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
int noteDuration = 1000/randomDuration
tone(8, notes[randomNote],noteDuration)
// to distinguish the notes, set a minimum time between them.
// the note's duration + 30% seems to work well:
int pauseBetweenNotes = noteDuration * 1.30
delay(pauseBetweenNotes)
// stop the tone playing:
noTone(8)
}

תרשים החיבור למעגל מחולל המנגנים המוזיקליים של Arduino מוצג להלן:

מעגל מחולל מנגינה מוזיקלית של ארדואינו

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




קודם: הסבירו 4 מעגלים פשוטים של בנק כוח הבא: Arduino RGB זורם מעגל אור רציף