Arduino Musical Tune Generator Circuit

Preizkusite Naš Instrument Za Odpravo Težav





To majhno vezje generatorja glasbenih melodij Arduino lahko uporabite za najprimernejšo aplikacijo, na primer za izdelavo zanimivega zvona na vratih, kot zvok avtomobila nazaj, glasbeno skrinjico za obdarovanje nekoga ali preprosto za osebno zabavo.

Potrebna strojna oprema

Strojna oprema, potrebna za projekt, je dana:



  • Arduino ali Genuino plošča
  • piezo zvočni signal ali zvočnik
  • priključne žice

Arduino napaja 9V, 500mA napajalni vhod, ki ga lahko priklopi kateri koli standardni SMPS AC na enosmerni adapter, lahko pa tudi preizkusite polnilnik za svoj mobilni telefon.

Pin št. 8 iz Arduina je mogoče neposredno konfigurirati z zvočnikom, ki ne sme biti ocenjen nad 8 ohmov in 1 vata.



Tako se ena žica zvočnika poveže z zatičem št. 8 plošče Arduino, druga žica pa gre v negativno ali ozemljitveno črto plošče.

Za ojačan izhod

Za glasnejši ali močno ojačan zvok lahko pin # 8 konfigurirate s stopnjo gonilnika tranzistorja, sestavljeno iz tranzistorja TIP31, katerega osnova je lahko povezana z pin8 preko 1K upora, oddajnika na maso in kolektorja na eno od žic zvočnik, druga žica spakerja se zdaj poveže s pozitivnim napajanjem, ki je napajanje 9V (+).

Tu se prepričajte, da je zvočnik ocenjen na 8 ohmov, pri veliko večji moči pa je lahko približno 5 vatov za ojačano glasbeno melodijo.

Ta skica je kodirana za igranje in ustvarja precej naključnih
melodije v zaporedju z uporabo pentatonične lestvice
/*
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)
}

Diagram povezave za predlagano vezje generatorja glasbenih melodij Arduino je prikazan spodaj:

Arduino Musical Tune Generator Circuit

Za močno ojačano poslušanje lahko isto nastavitev nadgradite z močnostnim tranzistorjem, kot je prikazano na naslednji sliki:




Prejšnja: 4 preprosta pojasnjena vezja napajalnika Naprej: Arduino RGB pretočno sekvenčno svetlobno vezje