Arduino Musical Tune Generator -piiri

Arduino Musical Tune Generator -piiri

Voit käyttää tätä pientä Arduino-musiikin viritysgeneraattoripiiriä haluamaasi sovellukseen, kuten mielenkiintoisen ovikellon tekemiseen, auton kääntösarvena tai soittolaatikkona lahjaksi jollekulle tai yksinkertaisesti henkilökohtaiseen viihteeseen.

Laitteisto vaaditaan

Projektille tarvittavat laitteistot ovat seuraavat:



  • Arduino- tai Genuino-lauta
  • pietsosummeri tai kaiutin
  • koukkujohdot

Arduino saa virtansa 9 V: n, 500 mA: n virtalähteestä, joka voi olla mistä tahansa tavallisesta SMPS-verkkovirta-DC-sovittimesta, tai voit myös kokeilla samaa matkapuhelimen laturilla.



Arduinon nasta # 8 voidaan määrittää suoraan kaiuttimella, jonka nimellisarvo ei saa olla yli 8 ohmia ja 1 wattia.

Joten kaiuttimen yksi johdin liittyy Arduino-kortin nastaan ​​# 8 ja toinen johto menee levyn negatiiviseen tai maadoitusviivaan.



Vahvistettu lähtö

Vahvemman tai voimakkaammin vahvistetun äänen saamiseksi voit konfiguroida nastan 8 transistorin ohjainvaiheella, joka koostuu TIP31-transistorista, jonka kanta voidaan liittää pin8: een 1K-vastuksen kautta, emitteri maahan ja kollektori yhteen johtimen johtimista. kaiuttimen, spakerin toinen johto on nyt yhteydessä positiiviseen virtalähteeseen, joka on 9 V: n syöttö (+).

Varmista tällöin, että kaiuttimen äänenvoimakkuus on 8 ohmia, mutta paljon suuremmalla teholla, se voi olla noin 5 wattia vahvistettua musiikkisävelmää varten.

Tämä luonnos on koodattu toistamaan ja tuottamaan melko paljon satunnaisia
melodiat peräkkäin käyttäen pentatonista asteikkoa
/*
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)
}



Ehdotetun Arduino-musiikin viritysgeneraattoripiirin kytkentäkaavio on esitetty alla:

Arduino Musical Tune Generator -piiri

Suuritehoista vahvistettua kuuntelua varten sama kokoonpano voidaan päivittää tehotransistorilla, kuten seuraavassa kuvassa on esitetty:




Edellinen: 4 yksinkertaista Power Bank -piiriä selitetty Seuraava: Arduino RGB -virtaava peräkkäinen valopiiri