2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
See on lihtne toonigeneraatori projekt, mis kasutab Arduino Pro Mini. Osa filmi "Velipadinte Pusthakam" superhitist "Jimikky Kammal" on välja töötatud monotoonsena.
Muusikalised noodid esinevad looduses sujuvate ja rulluvate siinuslainetena. Selles projektis toodame siledate siinuslainete asemel heli ruudukujuliste lainetega. Ruutlained tekitavad tooni, kuid on kargemad ja metallilisemad kui tavaline siinuslaine. Muusika noodi saab luua sageduse genereerimisega. Igal sagedusel on ainulaadne toon. Siin kasutatakse selle sageduse loomiseks Arduinot.
Samm: riistvara seadistamine
Riistvara seadistamine on väga lihtne. Selle projekti arendamiseks vajame
- Arduino Pro Mini
- Kõlar
- FTDI USB jadaadapter (programmi üleslaadimiseks Arduino Pro Mini -sse)
Liides FTDI USB ja jadaadapter Arduino Pro Mini jaoks programmeerimiseks, nagu on näidatud skeemil. Ühendage üks kõlari tihvt Arduino Pro Mini ja teise digitaalse kontaktiga 11 (saate pin -numbrit programmis muuta) ja teine maandusega.
Selles vooluringis ei lisa me võimendusahelat, nii et helitugevus võib olla väga madal. Saate lisada mis tahes helivõimendi vooluahela, saate väljundisse palju heli või saate kasutada reguleeritava helitugevuse reguleerimisega arvuti kõlarit.
2. samm: tarkvaraarendus
Muusika noote saab luua Arduino võnkumise genereerimisega. Võnkumissagedus on mängitavate nootide helitugevuse samm. Beats on iga mängitud loo periood. Seega peame igale noodile tegema täpse helikõrguse, löögi, tempo.
Selles programmis ei genereeri me kõikide helide jaoks kõiki sagedusi. Lisatud on ainult muusikale “Jimikky Kammal” vajalik heli. Kõigi nootide sagedused on toodud alloleval lingil.
impacttechnolabz.com/fd1_jk.html
Peame need sagedused ajavahemikuks teisendama, et Arduino saaks digitaalse tihvti sisse- ja väljalülitamise kestuse. Toonide arvutamine toimub järgmiselt:
timeHigh = 1 / (2 * toneFrequency) = periood / 2
nt:
100 Hz võnkumiste tekitamiseks
st ajaperiood = 1/100 S = 0,01 S = 10000 uS
Seega peame 5000 uS jaoks tegema tihvti HIGH ja 5000 uS jaoks madala
st timeHigh = 1/(2*100)
= 0,005 S.
= 5000 uS
Laadige alla täielik kood
3. samm: simulatsioon
Oleme loonud simulatsiooni Windowsi arvutisse installitud tarkvara Proteus Proffessional abil, seega saab heliväljundit helikaardi abil arvutis kontrollida. Peate Proteusesse selgesõnaliselt lisama Arduino raamatukogu.
4. samm: kood
Laadige alla täielik kood