Mundarija:

Money Heist BELLA CIAO Arduino Uno qo'shig'i: 9 qadam (rasmlar bilan)
Money Heist BELLA CIAO Arduino Uno qo'shig'i: 9 qadam (rasmlar bilan)

Video: Money Heist BELLA CIAO Arduino Uno qo'shig'i: 9 qadam (rasmlar bilan)

Video: Money Heist BELLA CIAO Arduino Uno qo'shig'i: 9 qadam (rasmlar bilan)
Video: Money Heist | Bella Ciao Song With Arduino Uno | La Casa De Papel | 2024, Iyul
Anonim
Image
Image

Ushbu qo'llanmada men sizga qanday qilib Piezoelektrik buzzer yordamida har qanday Arduino -da Money Heist Song Bella Ciao -ni ijro etishingizni ko'rsataman. Bu ajoyib loyiha butun dunyodagi Money Heist muxlislariga bag'ishlangan. Shunday qilib, boshlaylik.

Ta'minotlar

Uskuna

  • Arduino Uno
  • Piezoelektrik signal
  • USB A - B kabeli

Dasturiy ta'minot

Arduino IDE

Kod va davr

Kodni GitHub omboridan yuklab oling

1 -qadam: Arduino nima?

Arduino-bu ochiq manbali elektronika platformasi, uni ishlatish uchun qulay bo'lgan apparat va dasturiy ta'minotga asoslangan. Arduino taxtasi kirishni o'qishi mumkin - sensordagi yorug'lik, tugmachadagi barmoq yoki Twitter -dagi xabar - va uni chiqishga aylantirish - dvigatelni yoqish, LEDni yoqish, Internetda biror narsani chop etish. Siz doskadagi mikrokontrollerga ko'rsatmalar to'plamini yuborib, nima qilish kerakligini taxtangizga ayta olasiz. Buning uchun siz Arduino dasturlash tili (simli aloqa) va ishlov berish asosida Arduino dasturiy ta'minotidan (IDE) foydalanasiz.

Ko'p yillar davomida Arduino har kungi narsalardan tortib murakkab ilmiy asboblargacha bo'lgan minglab loyihalarning miyasi bo'lib kelgan. Butunjahon ishlab chiqaruvchilar hamjamiyati - talabalar, havaskorlar, rassomlar, dasturchilar va professionallar - bu ochiq manbali platforma atrofida to'planishdi, ularning hissalari aql bovar qilmaydigan darajadagi bilimlarni qo'shdi, bu yangi boshlanuvchilar va mutaxassislarga katta yordam beradi.

2 -qadam: Arduino UNO

Piezoelektrik signal
Piezoelektrik signal

Arduino UNO - elektronika va kodlashni boshlash uchun eng yaxshi taxta. Agar bu sizning platforma bilan ishlashdagi birinchi tajribangiz bo'lsa, UNO siz o'ynashni boshlashingiz mumkin bo'lgan eng mustahkam taxta. UNO butun Arduinolar oilasining eng ko'p ishlatiladigan va hujjatlashtirilgan kengashi hisoblanadi.

Arduino Uno - bu ATmega328P (ma'lumotlar jadvaliga) asoslangan mikrokontrollerlar paneli. Unda 14 ta raqamli kirish/chiqish pinlari (ulardan 6 tasi PWM chiqishi sifatida ishlatilishi mumkin), 6 ta analog kirish, 16 MGtsli keramik rezonator (CSTCE16M0V53-R0), USB ulanishi, quvvat ulagichi, ICSP sarlavhasi va qayta o'rnatish tugmasi mavjud.. U mikrokontrollerni qo'llab -quvvatlash uchun zarur bo'lgan hamma narsani o'z ichiga oladi; Ishni boshlash uchun uni USB kabeli bilan kompyuterga ulang yoki AC-to-DC adapteri yoki batareyasi bilan quvvatlantiring. Siz noto'g'ri ish qilishdan juda xavotirlanmasdan Uno-ni o'ylab ko'rishingiz mumkin. bir necha dollar uchun chip va yana boshidan.

3 -qadam: Piezoelektrik signal

Piezo signal-bu ovoz chiqaruvchi qurilma. Asosiy ishlash printsipi piezoelektrik materialda elektr potentsiali qo'llanilganda, bosim o'zgarishi paydo bo'ladi degan nazariyaga asoslanadi. Piezo -signal ikkita o'tkazgich orasidagi piezo kristallardan iborat. Bu kristallar bo'ylab potentsial farq qo'llanilganda, ular bitta o'tkazgichni itarib yuboradi va boshqa o'tkazgichni ichki xossasi bilan tortadi. Uzluksiz tortish va surish harakati keskin tovush to'lqinini hosil qiladi. Piezo buzzers baland va aniq ovoz chiqaradi. Shunday qilib, ular odatda signal davrlari sifatida ishlatiladi. Bundan tashqari, ular voqea, signal yoki sensorning kirishi haqida ogohlantirish uchun ishlatiladi. Piezo signalining o'ziga xos xususiyati shundaki, ovoz balandligi yoki darajasi kuchlanish darajasiga bog'liq emas, u faqat ma'lum bir kuchlanish oralig'ida ishlaydi. Odatda, piezo -signal 2 dan 4 kHz gacha tovush chiqarishi mumkin.

4 -qadam: Notalarni qanday ijro etish kerak?

Birinchidan, biz "int" funktsiyasi bilan eslatmalarning chastotalarini (eshitishga ma'qul) aniqlashimiz kerak. Keyin BPM qiymatini aniqlang (uni aniq o'zgartirishingiz mumkin) va shunga muvofiq eslatma qiymatlarini belgilang.

int rounda = 0; int dumaloq = 0; int oq = 0; int whitep = 0; int qora = 0; int blackp = 0; int quaver = 0; int quaverp = 0; int semiquaver = 0; int semiquaverp = 0;

Keyin BPM qiymatini aniqladim (uni aniq o'zgartirish mumkin).

int bpm = 120;

Belgilangan BPM qiymatiga ko'ra, eslatma qiymatlarini aniqlang.

qora = 35000/s; qora rang = qora*1,5; oq = qora*2; oq = oq*1.5; rounda = qora*4; dumaloq = rounda*1.5; quaver = qora/2; quaverp = quaver*1,5; semiquaver = qora/4; semiquaverp = semiquaver*1.5;

Belgilangan qiymatlar yordamida siz "ohang" buyrug'i bilan eslatmani osongina ijro etishingiz mumkin.

ohang (pin, eslatma, davomiyligi);

Ushbu loyihada biz xuddi shu usuldan foydalanmoqdamiz.

ohang (BuzzerPin, Mi, qora); kechikish (qora+50);

Shunday qilib, men "Bella Ciao Song" qo'shig'ining ohangini yaratdim. Bu kod haqida.

Kodni o'zingiz yozishga harakat qiling. nusxa ko'chirishdan saqlaning.

Keling, kodni Arduino kartamizga yuklaymiz.

5 -qadam: Kodni Arduino -ga yuklang

Kodni Arduino -ga yuklang
Kodni Arduino -ga yuklang
Kodni Arduino -ga yuklang
Kodni Arduino -ga yuklang

Kodni Arduino dasturida oching. Siz foydalanadigan taxta modelini tanlang. Bu erda men Arduino Uno bilan boraman. Kengashni tanlash uchun "Asboblar> Kengashlar" ga o'ting.

Endi Arduino ulangan portni tanlang. portni tanlash uchun "Asboblar> PORT" ga o'ting.

To'g'ri bo'lganlarni tanlagandan so'ng, Arduino -ga kodni yuklash uchun Yuklash tugmasini bosing.

6 -qadam: Buzzerni Arduino bilan ulash

Buzzerni Arduino bilan ulash
Buzzerni Arduino bilan ulash

Biz mikrokontrolerimizni Bella ciao Notes -ni ijro etish uchun muvaffaqiyatli dasturlashtirdik. Endi biz musiqani eshitish uchun Piezo Buzzer -ni ulashimiz kerak. Shunday qilib, Piezo Buzzer -ning qizil simini Arduino Uno -ning 11 -piniga va qora simni elektron diagrammada ko'rsatilganidek "GND" ga ulang.

7 -qadam: Ushbu loyihani Tinkerkad sxemalarida qanday qilish kerak?

Ushbu loyihani Tinkerkad sxemalarida qanday qilish kerak?
Ushbu loyihani Tinkerkad sxemalarida qanday qilish kerak?
Ushbu loyihani Tinkerkad sxemalarida qanday qilish kerak?
Ushbu loyihani Tinkerkad sxemalarida qanday qilish kerak?
Ushbu loyihani Tinkerkad sxemalarida qanday qilish kerak?
Ushbu loyihani Tinkerkad sxemalarida qanday qilish kerak?

Hammamiz COVID19 tufayli blokirovkadamiz. Agar sizda haqiqiy komponentlar bo'lmasa, xavotir olmang. Siz ushbu loyihani tinkerkad sxemalarida simulyatsiya qilishingiz va uning ishlashini tushunishingiz mumkin.

Bu erdan Tinkercad veb -saytiga o'ting. Agar sizda hisob qaydnomangiz bo'lmasa, "HOZIRI QO'SHILISH" tugmasini bosing. Men avvalgi hisobim bilan kiraman. Tinker cad boshqaruv paneliga kirganingizdan so'ng, ekranning chap tomonida ko'rsatilgan "O'chirish" ni bosing. Yangi sxemani yaratish tugmasini bosing. Endi sizning yangi loyihangiz yaratiladi. Endi Arduino UNO -ni toping va uni o'ng panelidagi asosiy ekranga torting. Endi Buzzer -ni qidiring va signalni asosiy ekranga torting. Endi ulanishni diagrammadagidek bajaring.

Arduino -ni dasturlash uchun "Kod" bo'limini bosing. Oldindan tayyorlangan bloklarni o'chiring va oynani blok rejimidan matn rejimiga o'zgartiring. Oldingi bo'sh kodni almashtirish orqali kodni joylashtiring. Endi loyihangizni amalda ko'rish uchun Simulyatsiyani boshlash tugmasini bosing.

Siz bu erga bosish orqali mening loyihamni takrorlashingiz mumkin.

8 -qadam: Arduino kodi

/ * * * Pi BOTS MakerHub tomonidan yaratilgan * * Email: [email protected] * * Github: https://github.com/pibotsmakerhub * * Mualliflik huquqi (c) 2020 Pi BOTS MakerHub * * WhatsApp: +91 9400 7010 88 * */ int BuzzerPin = 11; // Buzzerni Arduino piniga ulang 11 int Si2 = 1975; int LaS2 = 1864; int La2 = 1760; int SolS2 = 1661; int Sol2 = 1567; int FaS2 = 1479; int Fa2 = 1396; int Mi2 = 1318; int ReS2 = 1244; int Re2 = 1174; int DoS2 = 1108; int Do2 = 1046; // Past oktava int Si = 987; int LaS = 932; int La = 880; int SolS = 830; int Sol = 783; int FaS = 739; int Fa = 698; int Mi = 659; int ReS = 622; int Re = 587; int DoS = 554; int Do = 523; // eslatmalarni belgilang int rounda = 0; int roundp = 0; int oq = 0; int whitep = 0; int qora = 0; int blackp = 0; int quaver = 0; int quaverp = 0; int semiquaver = 0; int semiquaverp = 0; int bpm = 120; void setup () {pinMode (BuzzerPin, OUTPUT); qora = 35000/s; qora rang = qora*1,5; oq = qora*2; oq = oq*1.5; rounda = qora*4; dumaloq = rounda*1.5; quaver = qora/2; quaverp = quaver*1,5; semikuaver = qora/4; semiquaverp = semiquaver*1.5; } void loop () {ohang (BuzzerPin, Mi, qora); kechikish (qora+50); ohang (BuzzerPin, La, qora); kechikish (qora+50); ohang (BuzzerPin, Si, qora); kechikish (qora+50); ohang (BuzzerPin, Do2, qora); kechikish (qora+50); ohang (BuzzerPin, La, qora); kechikish (2*oq+50); ohang (BuzzerPin, Mi, qora); kechikish (qora+50); ohang (BuzzerPin, La, qora); kechikish (qora+50); ohang (BuzzerPin, Si, qora); kechikish (qora+50); ohang (BuzzerPin, Do2, qora); kechikish (qora+50); ohang (BuzzerPin, La, qora); kechikish (2*oq+50); ohang (BuzzerPin, Mi, qora); kechikish (qora+50); ohang (BuzzerPin, La, qora); kechikish (qora+50); ohang (BuzzerPin, Si, qora); kechikish (qora+50); ohang (BuzzerPin, Do2, oq*1.3); kechikish (2*qora+50); ohang (BuzzerPin, Si, qora); kechikish (qora+50); ohang (BuzzerPin, La, qora); kechikish (qora+50); ohang (BuzzerPin, Do2, oq*1.3); kechikish (2*qora+50); ohang (BuzzerPin, Si, qora); kechikish (qora+50); ohang (BuzzerPin, La, qora); kechikish (qora+50); ohang (BuzzerPin, Mi2, qora); kechikish (oq+50); ohang (BuzzerPin, Mi2, qora); kechikish (oq+100); ohang (BuzzerPin, Mi2, qora); kechikish (oq+50); ohang (BuzzerPin, Re2, qora); kechikish (qora+50); ohang (BuzzerPin, Mi2, qora); kechikish (qora+50); ohang (BuzzerPin, Fa2, qora); kechikish (qora+50); ohang (BuzzerPin, Fa2, oq*1.3); kechikish (rounda+100); ohang (BuzzerPin, Fa2, qora); kechikish (qora+50); ohang (BuzzerPin, Mi2, qora); kechikish (qora+50); ohang (BuzzerPin, Re2, qora); kechikish (qora+50); ohang (BuzzerPin, Fa2, qora); kechikish (qora+50); ohang (BuzzerPin, Mi2, oq*1.3); kechikish (rounda+100); ohang (BuzzerPin, Mi2, qora); kechikish (qora+50); ohang (BuzzerPin, Re2, qora); kechikish (qora+50); ohang (BuzzerPin, Do2, qora); kechikish (qora+50); ohang (BuzzerPin, Si, oq*1.3); kechikish (oq+50); ohang (BuzzerPin, Mi2, oq*1.3); kechikish (oq+50); ohang (BuzzerPin, Si, oq*1.3); kechikish (oq+50); ohang (BuzzerPin, Do2, oq*1.3); kechikish (oq+50); ohang (BuzzerPin, La, rounda*1.3); kechikish (rounda+50); }

9 -qadam: Youtube videoimizni tomosha qiling

Hammasi shu. Bizni Instagramda kuzatib boring:

Rahmat.

Tavsiya: