Arduino Musical Tune Generator Circuit

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





Puteți utiliza acest mic circuit de generatoare de melodii Arduino pentru o aplicație preferată, cum ar fi pentru a face un clopoțel de ușă interesant, ca un claxon pentru mașină, sau o cutie de muzică pentru cadouri cuiva sau pur și simplu pentru amuzament personal.

Hardware necesar

Hardware-ul necesar pentru proiect este prezentat după cum urmează:



  • Placa Arduino sau Genuino
  • sonor piezo sau un difuzor
  • fire de conectare

Arduino este alimentat cu o sursă de alimentare de 9V, 500mA, care ar putea fi de la orice adaptor SMPS de curent alternativ la curent continuu sau puteți încerca, de asemenea, încărcătorul de telefon mobil.

Pinul # 8 de la Arduino poate fi configurat direct cu difuzorul care nu trebuie să fie evaluat peste 8 ohmi și 1 watt.



Deci, un fir al difuzorului se conectează cu pinul # 8 al plăcii Arduino, iar celălalt fir merge la linia negativă sau la linia de masă a plăcii.

Pentru ieșire amplificată

Pentru un sunet mai puternic sau puternic amplificat, puteți configura pinul # 8 cu o etapă de driver de tranzistor, constând dintr-un tranzistor TIP31, a cărui bază poate fi conectată cu pinul 8 printr-un rezistor 1K, emițător la masă și colectorul la unul dintre firele difuzor, celălalt fir al spakerului se conectează acum la sursa pozitivă care este sursa de 9V (+).

Aici asigurați-vă că difuzorul este evaluat la 8 ohmi, dar la o putere mult mai mare, poate fi de aproximativ 5 wați pentru o generație de melodie de muzică amplificată.

Această schiță este codificată pentru a reda și a genera destul de multe întâmplări
melodii în ordine folosind o scară 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)
}

Schema de conexiune pentru circuitul generator de melodii Arduino propus este prezentată mai jos:

Arduino Musical Tune Generator Circuit

Pentru ascultarea amplificată de mare putere, aceeași configurare poate fi actualizată cu un tranzistor de putere, așa cum este indicat în figura următoare:




Precedent: S-au explicat 4 circuite simple de bancă de putere Următorul: Arduino RGB care curge circuit de lumină secvențială