Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Ovo je jednostavan projekt stvaranja tonova koji koristi Arduino Pro Mini. Dio super hit pjesme "Jimikky Kammal" iz filma "Velipadinte Pusthakam" razvijen je monotono.
Glazbene note pojavljuju se u prirodi kao glatki i valjani sinusoidni valovi. U ovom projektu, umjesto glatkih sinusnih valova, mi ćemo proizvoditi zvuk s kvadratnim valovima. Kvadratni valovi proizvode ton, ali je oštriji i metalniji od normalnog sinusnog vala. Glazbena nota može se stvoriti generiranjem frekvencije. Svaka frekvencija ima jedinstveni ton. Ovdje se Arduino koristi za stvaranje ove frekvencije.
Korak 1: Postavljanje hardvera
Vrlo je jednostavno postaviti hardver. Za razvoj ovog projekta potrebni smo
- Arduino Pro Mini
- Zvučnik
- FTDI USB na serijski adapter (za postavljanje programa na Arduino Pro Mini)
Sučelje FTDI USB na serijski adapter na Arduino Pro Mini za programiranje kako je prikazano na dijagramu kola. Spojite jedan pin zvučnika na digitalni pin 11 (broj pina možete promijeniti u programu) Arduino Pro Mini i drugog na uzemljenje.
U ovom krugu ne dodajemo nikakvo pojačalo, tako da bi glasnoća mogla biti vrlo niska. Možete dodati bilo koje kolo pojačala tako da ćete dobiti mnogo zvuka na izlazu ili možete koristiti zvučnik za računar sa podesivom kontrolom jačine zvuka.
Korak 2: Razvoj softvera
Muzičke note mogu se stvoriti generiranjem oscilacija u Arduinu. Učestalost oscilacija je visina brzine melodije koja se svira. Beats je period svake odsvirane melodije. Dakle, moramo napraviti tačan ton, ritmove, tempo za svaku muzičku notu.
U ovom programu ne stvaramo sve frekvencije za sve zvukove. Dodaje se samo zvuk potreban za muziku “Jimikky Kammal”. Frekvence za sve note date su ispod veze.
impacttechnolabz.com/fd1_jk.html
Moramo pretvoriti ove frekvencije u vremenski period tako da Arduino dobije trajanje za uključivanje i isključivanje digitalnog pina. Izračun tonova vrši se prema matematičkoj operaciji:
timeHigh = 1 / (2 * toneFrequency) = period / 2
npr:
Za generiranje oscilacija od 100 Hz, vremenski period = 1/100 S = 0.01 S = 10000 uS
Zato moramo napraviti pin VIŠI za 5000 uS i LOW za 5000 uS
tj. vrijemeHigh = 1/(2*100)
= 0,005 S
= 5000 uS
Preuzmite cijeli kod
Korak 3: Simulacija
Napravili smo simulaciju uz pomoć Proteus Proffessional softvera instaliranog na Windows računaru, tako da se audio izlaz može provjeriti na računaru putem zvučne kartice. Morate izričito dodati Arduino biblioteku u Proteus.
Korak 4: Kodirajte
Preuzmite cijeli kod