Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Dette er et enkelt tonegeneratorprosjekt som bruker Arduino Pro Mini. En del av superhiten "Jimikky Kammal" fra filmen "Velipadinte Pusthakam" er utviklet i monoton.
Musikknoter forekommer i naturen som glatte og rullende sinusformede bølger. I dette prosjektet, i stedet for glatte sinusbølger, produserer vi lyd med firkantede bølger. Firkantbølger gir en tone, men den er mer skarp og metallisk enn en vanlig sinusbølge. Et musikalsk notat kan opprettes ved å generere frekvens. Hver frekvens har en unik tone. Her brukes Arduino for å lage denne frekvensen.
Trinn 1: Maskinvareoppsett
Det er veldig enkelt å sette opp maskinvare. For å utvikle dette prosjektet krever vi
- Arduino Pro Mini
- Høyttaler
- FTDI USB til seriell adapter (for opplasting av program til Arduino Pro Mini)
Grensesnitt FTDI USB til seriell adapter til Arduino Pro Mini for programmering som vist i kretsdiagrammet. Koble en pinne på høyttaleren til den digitale pinnen 11 (du kan endre PIN -nummer i Program) på Arduino Pro Mini og den andre til jord.
I denne kretsen legger vi ikke til noen forsterkerkrets, slik at volumet kan være veldig lavt. Du kan legge til hvilken som helst lydforsterkerkrets, slik at du får mye lyd til utgangen, eller du kan bruke PC -høyttaler med justerbar volumkontroll.
Trinn 2: Programvareutvikling
Musikknoter kan opprettes ved å generere svingninger i Arduino. Svingningsfrekvens er tonehøyden for melodihastigheten til musikalske notater som spilles Beats er perioden for hver melodi som spilles. Så vi må lage nøyaktig tonehøyde, beats, tempo for hver musikalske tone.
I dette programmet genererer vi ikke alle frekvenser for alle lyder. Bare lyden som kreves for musikken "Jimikky Kammal" blir lagt til. Frekvenser for alle notater er gitt under lenken.
impacttechnolabz.com/fd1_jk.html
Vi må konvertere disse frekvensene til tidsperioden slik at Arduino får varighet for å slå den digitale pinnen PÅ og AV. Beregningen av tonene gjøres etter den matematiske operasjonen:
timeHigh = 1 / (2 * toneFrequency) = periode / 2
f.eks:
For å generere 100 Hz svingninger, dvs. tidsperiode = 1/100 S = 0,01 S = 10000 uS
Så vi må lage pin HIGH for 5000 uS og LOW for 5000 uS
dvs. timeHigh = 1/(2*100)
= 0,005 S
= 5000 uS
Last ned hele koden
Trinn 3: Simulering
Vi har laget en simulering ved hjelp av Proteus Proffessional -programvare installert i Windows PC, og dermed kan lydutgangen verifiseres i PC via lydkort. Du må eksplisitt legge til Arduino Library i Proteus.
Trinn 4: Kode
Last ned hele koden