Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
To je preprost projekt ustvarjanja tonov z uporabo Arduino Pro Mini. Del super uspešnice "Jimikky Kammal" iz filma "Velipadinte Pusthakam" je razvit monotono.
Glasbene note se v naravi pojavljajo kot gladki in valjani sinusoidni valovi. V tem projektu bomo namesto gladkih sinusnih valov proizvajali zvok s kvadratnimi valovi. Kvadratni valovi proizvajajo ton, vendar je bolj svež in kovinski kot običajen sinusni val. Glasbeno noto lahko ustvarite z ustvarjanjem frekvence. Vsaka frekvenca ima edinstven ton. Tu se za ustvarjanje te frekvence uporablja Arduino.
1. korak: Namestitev strojne opreme
Strojno opremo je zelo enostavno nastaviti. Za razvoj tega projekta potrebujemo
- Arduino Pro Mini
- Zvočnik
- FTDI USB v serijski adapter (za nalaganje programa v Arduino Pro Mini)
Vmesnik FTDI USB v serijski adapter za Arduino Pro Mini za programiranje, kot je prikazano na shemi vezja. Priključite en zatič zvočnika na digitalni zatič 11 (številko zatiča lahko spremenite v programu) Arduino Pro Mini in drugega na ozemljitev.
V tem vezju ne dodajamo nobenega ojačevalnega vezja, tako da je glasnost lahko zelo nizka. Tako lahko dodate katero koli vezje zvočnega ojačevalnika, na izhodu boste dobili veliko zvoka ali pa uporabite zvočnik za računalnik z nastavljivo nastavitvijo glasnosti.
2. korak: Razvoj programske opreme
Glasbene note lahko ustvarite z ustvarjanjem nihanja v Arduinu. Frekvenca nihanja je višina hitrosti uglašenih glasbenih not Beats je obdobje vsake predvajane melodije. Zato moramo za vsako glasbeno noto narediti natančno višino, udarce, tempo.
V tem programu ne ustvarjamo vseh frekvenc za vse zvoke. Dodan je samo zvok, potreben za glasbo "Jimikky Kammal". Pogostnosti za vse note so navedene spodaj.
impacttechnolabz.com/fd1_jk.html
Te frekvence moramo pretvoriti v časovno obdobje, tako da bo Arduino dobil čas za vklop in izklop digitalnega zatiča. Izračun tonov se izvede po matematični operaciji:
timeHigh = 1 / (2 * toneFrequency) = obdobje / 2
npr:
Za ustvarjanje nihanj 100 Hz, časovno obdobje = 1/100 S = 0,01 S = 10000 uS
Zato moramo narediti zatič VISOKO za 5000 uS in NIZKO za 5000 uS
to je časHigh = 1/(2*100)
= 0,005 S
= 5000 uS
Prenesite celotno kodo
3. korak: Simulacija
Ustvarili smo simulacijo s pomočjo programske opreme Proteus Proffessional, nameščene v računalniku z operacijskim sistemom Windows, zato lahko zvočni izhod v računalniku preverimo prek zvočne kartice. Knjižnico Arduino morate izrecno dodati v Proteus.
4. korak: Koda
Prenesite celotno kodo