Mundarija:

Avtomatlashtirilgan pianino: 5 qadam
Avtomatlashtirilgan pianino: 5 qadam

Video: Avtomatlashtirilgan pianino: 5 qadam

Video: Avtomatlashtirilgan pianino: 5 qadam
Video: Shahzoda - Tilayman | Шахзода - Тилайман (Majruh filmiga soundtrack) 2024, Iyul
Anonim
Avtomatlashtirilgan pianino
Avtomatlashtirilgan pianino

Men o'z musiqamni bir zumda tinglab avtomatik tarzda o'ynaydigan pianino yasashni xohlardim, shuning uchun men o'zimni yotgan arduino uno bilan sinab ko'rdim. Oddiy chastota o'lchagich kutubxonasi yordamida arduino nol bilan ancha yaxshi bo'lishi mumkin edi. hozir va men uno bilan davom etdim.

1 -qadam: nazariya

Pianino qo'shiqchining chastotasini pianinoga moslashtirish orqali ijro etiladi, shuning uchun biz qo'shiqchining chastotasini tanlab, uni real vaqtda ijro etishimiz kerak. Men trimpotdan kuchlanish taqsimlagichidan foydalanaman, chunki audio ac va arduino bo'lolmaydi. manfiy zo'riqishlarni boshqaring, shuning uchun kuchlanish bo'luvchi tomonidan berilgan kuchlanishni mos yozuvlar sifatida ishlating va uni 2,5 V ga o'rnating. Kirish arduino -ning A0 -pinida ta'minlanadi, men arduino -ni voltajning mos yozuvlar darajasida ekanligini tekshirib ko'rdim, men uni boshlangandan keyin o'lchadim va ketma -ket mos yozuvlar kuchlanish orasidagi vaqt oralig'ini o'lchadim va keyin chastotani hisobladim. o'zgarmaydigan ovozli signalning bir zumdagi amplitudasini saqlash uchun ishlatiladi, uning amplitudasi 15 adc qiymatidan past yoki 0,0733 voltsdan kam. Haddan tashqari qiymatlar qo'shiqqa xalaqit bermasligi uchun chastotaga chegara qo'yiladi.

2 -qadam: kerakli materiallar

Kerakli material
Kerakli material
Kerakli material
Kerakli material
Kerakli material
Kerakli material

1) Arduino Uno yoki unga tenglashtirilgan

2) passiv piezo elektr ovozli signal yoki kuchaytirgich pallali dinamik

3) yuqori qarshilikli trimpot (5v orqali o'tadigan oqim bir necha millampda kichik bo'lishi kerakligiga ishonch hosil qiling)

4) o'tish simlari

5) non paneli

6) 3,5 mm audio raz'em yoki kuchaytirgichli mikrofon (men o'z mobil telefonimni kuchaytirgich sifatida ishlatardim, chunki men o'zimni qurishga dangasa bo'ldim)

7) Android telefon (ovozni ijro etish uchun)

8) arduino kabeli (uni dasturlash uchun)

3 -qadam: ulanishlar

Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar

1) Trimpotni non taxtasiga o'rnating va uni erga ulash simlari yordamida erga va +5v ga ulang.

2) kuchlanish bo'luvchi konfiguratsiyasi va arduino A0 piniga kanal sifatida ishlash uchun 3,5 mm raz'emning uchini trimpotning uchinchi piniga ulang.

3) Buzzerning erini arduino -ga ulang va arduino -ning 13 -piniga signal bering.

4 -qadam: Arduino kodi

Arduino kodi
Arduino kodi

Bu erda to'liq kod

Men sinov uchun ishlatiladigan ketma -ket chop etishning ba'zi bayonotlarini sharhladim

uint64_t curtime = 0, ltime = 0; uint32_t chastota = 0; uint16_t boshlang'ich, val, del = 0; bool oxirgi, oqim; void setup () {// bir marta ishga tushirish uchun sozlash kodini bu erga qo'ying: delay (1000); /*Serial.begin (115200); kechikish (1000); Serial.println ("tizim ishga tushirildi");*/ boshlang'ich = analogRead (A0); agar (analogRead (A0)

void loop () {// qayta ishga tushirish uchun asosiy kodingizni bu erga qo'ying: val = analogRead (A0); if (val> = boshlang'ich) Curr = 1; else Curr = 0; del = (int) val- (int) boshlang'ich; agar (oxirgi == 0 && Curr == 1) {curtime = micros (); chastota = 1000000/(2*(curtime-ltime)); /*Serial.print(freq, DEC); Serial.print ("pastga"); Serial.println (del);*/ if (chastota> 50 && freq15) ohang (13, chastota, 500); kechikish (100); ltime = mikrosxemalar (); oxirgi = 1; }

5 -qadam: Quvvatlang !!

Musiqa tinglash uchun telefoningizni ulang va agar siz qo'shiq aytmoqchi bo'lsangiz, o'yin do'konida yuklab olish mumkin bo'lgan barcha asboblar ilovasidan foydalanishingiz mumkin. Mana havola.

play.google.com/store/apps/details?id=com.pradhyu.alltoolseveryutility&hl=en

Yuklab olingandan so'ng, mayk opsiyasini oching va qo'shiq kuylang!

Mana bu qanday ishlaydi!

Tavsiya: