2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu Arduino Pro Mini istifadə edərək sadə bir ton generator layihəsidir. "Velipadinte Pusthakam" filminin super hit mahnısı "Jimikky Kammal" ın bir hissəsi monotonik olaraq hazırlanmışdır.
Musiqi notaları təbiətdə hamar və yuvarlanan sinusoidal dalğalar şəklində meydana gəlir. Bu layihədə hamar sinus dalğaları yerinə, kvadrat dalğalarla səs çıxaracağıq. Kvadrat dalğalar bir ton yaradır, lakin normal sinus dalğasından daha xırtıldayan və metaldır. Bir musiqi notu tezlik yaratmaqla yaradıla bilər. Hər tezliyin özünəməxsus tonu var. Burada Arduino bu tezliyi yaratmaq üçün istifadə olunur.
Addım 1: Hardware Setup
Avadanlıq qurmaq çox asandır. Bu layihəni inkişaf etdirmək üçün tələb edirik
- Arduino Pro Mini
- Dinamik
- FTDI USB -dən Serial Adaptora (Proqramı Arduino Pro Mini -yə yükləmək üçün)
Dövrə diaqramında göstərildiyi kimi FTDI USB -dən Arduino Pro Mini -yə proqramlaşdırma üçün Serial adapter. Dinamikin bir pinini Arduino Pro Mini və digərinin rəqəmsal pin 11 -ə (Proqramda pin nömrəsini dəyişə bilərsiniz) qoşun.
Bu dövrədə, səs səviyyəsinin çox aşağı olması üçün heç bir gücləndirici dövrə əlavə etmirik. İstənilən səs gücləndirici dövrə əlavə edə bilərsiniz, nəticədə çox səs alacaqsınız və ya tənzimlənən səs idarəetmə sisteminə malik PC dinamikindən istifadə edə bilərsiniz.
Addım 2: Proqram İnkişafı
Musiqi notaları Arduinoda salınım yaradaraq yaradıla bilər. Yellənmə tezliyi, çalınan musiqi notlarının tune sürətinin ölçüsüdür Beats, çalan hər bir melodiyanın dövrüdür. Beləliklə, hər bir musiqi notu üçün dəqiq meydança, ritm, temp hazırlamalıyıq.
Bu proqramda bütün səslər üçün bütün tezlikləri yaratmırıq. Yalnız "Jimikky Kammal" musiqisi üçün lazım olan səslər əlavə olunur. Bütün qeydlər üçün tezliklər aşağıda verilmişdir.
impacttechnolabz.com/fd1_jk.html
Arduino rəqəmsal pimi açmaq və söndürmək üçün vaxt əldə etməsi üçün bu tezlikləri vaxta çevirməliyik. Tonların hesablanması riyazi əməliyyatdan sonra aparılır:
timeHigh = 1 / (2 * tonFrequency) = period / 2
məsələn:
100 Hz salınımlar yaratmaq üçün, yəni Zaman Dövrü = 1/100 S = 0.01 S = 10000 uS
Beləliklə, 5000 uS üçün yüksək pin və 5000 uS üçün LOW etməliyik
yəni timeHigh = 1/(2*100)
= 0.005 S.
= 5000 ABŞ dolları
Tam Kodu Yükləyin
Addım 3: Simulyasiya
Windows PC -də quraşdırılmış Proteus Proffessional proqramının köməyi ilə bir simulyasiya yaratdıq, beləliklə səs çıxışı səs kartı vasitəsilə PC -də yoxlanıla bilər. Arduino Kitabxanasını açıq şəkildə Proteusa əlavə etməlisiniz.
Addım 4: Kod
Tam Kodu Yükləyin