Arduino glazbeni sklop generatora melodije

Arduino glazbeni sklop generatora melodije

Možete koristiti ovaj mali sklop generatora glazbenih melodija Arduino za željenu aplikaciju, poput izrade zanimljivog zvona na vratima, kao zvuk za automobil unazad ili glazbene kutije za darivanje nekoga ili jednostavno za osobnu zabavu.



Potreban hardver

Hardver potreban za projekt dan je kako slijedi:

  • Arduino ili Genuino ploča
  • piezo zujalica ili zvučnik
  • priključne žice

Arduino se napaja napajanjem od 9 V, 500 mA koje može biti iz bilo kojeg standardnog adaptera za izmjenični i istosmjerni SMPS, ili za isti možete isprobati i punjač za mobitel.





Pin broj 8 s Arduina može se izravno konfigurirati sa zvučnikom koji ne smije biti iznad 8 ohma i 1 vata.

Dakle, jedna žica zvučnika povezuje se s pinom br. 8 ploče Arduino, a druga žica ide na negativnu liniju ili liniju uzemljenja ploče.



Za pojačani izlaz

Za glasniji ili jako pojačani zvuk možete konfigurirati pin # 8 s stupnjem pogonskog sklopa tranzistora, koji se sastoji od TIP31 tranzistora, čija se baza može povezati s pin8 preko 1K otpornika, emitora na masu i kolektora na jednu od žica zvučnika, druga žica spakera sada se povezuje s pozitivnim napajanjem koje je napajanje od 9 V (+).

Ovdje provjerite je li zvučnik ocijenjen na 8 ohma, ali pri puno većoj snazi ​​može biti oko 5 vata za pojačanu glazbenu melodiju.

Ova je skica kodirana za reprodukciju i generira prilično mnogo slučajnih rezultata
melodije u nizu pomoću pentatonske ljestvice
/*
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)
}

Dijagram povezivanja za predloženi sklop generatora glazbene melodije Arduino prikazan je u nastavku:

Arduino glazbeni sklop generatora melodije

Za pojačano slušanje s pojačanom snagom, istu postavku moguće je nadograditi tranzistorom snage kako je naznačeno na sljedećoj slici:




Prethodno: Objašnjena 4 jednostavna kruga napajanja Dalje: Arduino RGB protočni sekvencijalni svjetlosni krug