Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tämä on yksinkertainen äänigeneraattori, joka käyttää Arduino Pro Miniä. Osa elokuvan "Velipadinte Pusthakam" superhittikappaleesta "Jimikky Kammal" on kehitetty yksitoikkoiseksi.
Nuotit esiintyvät luonnossa sileinä ja pyörivinä sinimuotoisina aaltoina. Tässä projektissa tuotamme sileiden siniaaltojen sijaan ääntä neliöaalloilla. Neliöaallot tuottavat sävyn, mutta se on terävämpi ja metallisempi kuin normaali siniaalto. Musiikki voidaan luoda luomalla taajuus. Jokaisella taajuudella on ainutlaatuinen ääni. Täällä Arduinoa käytetään tämän taajuuden luomiseen.
Vaihe 1: Laitteiston asennus
Laitteiston asennus on erittäin helppoa. Tämän projektin kehittämiseksi tarvitsemme
- Arduino Pro Mini
- Kaiutin
- FTDI USB -sarjasovitin (ohjelman lataamiseen Arduino Pro Miniin)
Liitäntä FTDI USB -sarjasovitin Arduino Pro Mini -ohjelmointia varten piirikaavion mukaisesti. Kytke yksi kaiuttimen nasta Arduino Pro Mini -laitteen digitaaliseen nastaan 11 (voit muuttaa pin -numeroa ohjelmassa) ja toinen maadoitukseen.
Tässä piirissä emme lisää vahvistinpiiriä, joten äänenvoimakkuus voi olla hyvin alhainen. Voit lisätä minkä tahansa äänivahvistinpiirin, jolloin saat paljon ääntä ulostuloon tai voit käyttää PC -kaiutinta, jossa on säädettävä äänenvoimakkuus.
Vaihe 2: Ohjelmistokehitys
Nuotit voidaan luoda luomalla värähtelyä Arduinossa. Värähtelytaajuus on soitettujen nuottien viritysnopeuden sävelkorkeus. Beats on jokaisen soitetun virityksen jakso. Joten meidän on tehtävä tarkka sävelkorkeus, lyönti, tempo jokaiselle nuotille.
Tässä ohjelmassa emme luo kaikkia taajuuksia kaikille äänille. Vain Jimikky Kammal -musiikkiin vaadittava ääni lisätään. Kaikkien nuottien taajuudet on annettu alla olevan linkin kautta.
impacttechnolabz.com/fd1_jk.html
Meidän on muutettava nämä taajuudet ajanjaksoiksi, jotta Arduino saa keston digitaalisen nastan kytkemiseksi päälle ja pois. Äänien laskenta suoritetaan matemaattisen operaation mukaisesti:
timeHigh = 1 / (2 * toneFrequency) = jakso / 2
esim:
100 Hz: n värähtelyjen luomiseksi
eli aikajakso = 1/100 S = 0,01 S = 10000 uS
Joten meidän on tehtävä nasta HIGH 5000 uS: lle ja LOW 5000 uS: lle
eli aikaHigh = 1/(2*100)
= 0,005 S
= 5000 uS
Lataa koko koodi
Vaihe 3: Simulaatio
Olemme luoneet simulaation Windows -tietokoneeseen asennetun Proteus Proffessional -ohjelmiston avulla, joten äänilähtö voidaan tarkistaa tietokoneessa äänikortin avulla. Sinun on nimenomaisesti lisättävä Arduino -kirjasto Proteukseen.
Vaihe 4: Koodi
Lataa koko koodi