Arduino Musical Tune Generator Circuit

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Maaari mong gamitin ang maliit na circuit ng generator ng tune ng musikal na Arduino para sa isang ginustong aplikasyon, tulad ng paggawa ng isang kagiliw-giliw na kampanilya, bilang isang pabalik na sungay ng kotse, o kahon ng musika para sa pagbibigay ng isang tao, o para lamang sa personal na libangan.

Kinakailangan ang Hardware

Ang kinakailangang Hardware para sa proyekto ay ibinibigay tulad ng sumusunod:



  • Arduino o Genuino board
  • piezo buzzer o isang speaker
  • hook-up wires

Ang Arduino ay pinalakas ng isang 9V, 500mA power supply input na maaaring mula sa anumang karaniwang SMPS AC hanggang DC adapter, o maaari mo ring subukan ang iyong charger ng cell phone para sa pareho.

Ang Pin # 8 mula sa Arduino ay maaaring direktang na-configure sa speaker na hindi dapat ma-rate sa itaas ng 8 ohm, at 1 wat.



Kaya't ang isang kawad ng nagsasalita ay kumokonekta sa pin # 8 ng Arduino board at ang iba pang kawad ay papunta sa negatibong linya o sa ground line ng board.

Para sa Amplified Output

Para sa mas malakas o napakalakas na tunog na maaari mong i-configure ang pin # 8 sa isang yugto ng driver ng transistor, na binubuo ng isang TIP31 transistor, na ang base ay maaaring konektado sa pin8 sa pamamagitan ng isang resistor na 1K, emitter sa lupa at ang kolektor sa isa sa mga wire ng speaker, ang iba pang mga wire ng spaker ay kumokonekta ngayon sa positibong supply na ang 9V supply (+).

Dito tiyaking ang speaker ay na-rate sa 8 ohms ngunit sa mas mataas na wattage, maaaring nasa 5 watts para sa isang pinalakas na henerasyon ng tune ng musika.

Ang sketch na ito ay naka-code upang i-play at makabuo ng maraming mga random
mga himig sa pagkakasunud-sunod gamit ang isang sukatang pentatonic
/*
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)
}

Ang diagram ng koneksyon para sa ipinanukalang Arduino musikal na tune generator circuit ay ipinapakita sa ibaba:

Arduino Musical Tune Generator Circuit

Para sa mataas na lakas na pinalakas na pakikinig, ang parehong pag-set up ay maaaring ma-upgrade sa isang power transistor tulad ng ipinahiwatig sa sumusunod na pigura:




Nakaraan: 4 na Simpleng Power Circuits ng Bank ay Ipinaliwanag Susunod: Arduino RGB Flowing Sequential Light Circuit