در آموزش های قبل که پروژه های مختلف را با استفاده از برد میکروبیت پوشش دادیم از قابلیت های مختلف این برد استفاده کردیم، در این برد ظریف کاری های قابل توجهی صورت گرفته از جمله لوگوی میکروبیت در ورژن ۲ که در واقع یم تاچ سوییچ است. البته این تنها تاچ سوییچ در این برد نیست و در این آموزش قصد داریم با استفاده از این قابلیت و استفاده از اسپیکر موجود در برد نت های یک گیتار را شبیه سازی کنیم. در ادامه پروژه شبیه سازی گیتار با استفاده از Micro:bit با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
برد میکروبیت Mirco:bit
پروژه نت گیتار با برد micro:bit
در پروژه نت گیتار با برد micro:bit با استفاده از GPIO های موجود در برد میکروبیت که قابلیت استفاده به عنوان پین تاچ را دارند به برد فرمان مورد نظر برای پخش نت های گیتار را میدهیم. همچنین برای شنیدن نت های تولید شده از پین ۰ در میکروبیت استفاده میکنیم و صدا های تولید شده از یک هدفون خواهیم شنید.
وسایل مورد نیاز
اتصالات نت گیتار با برد micro:bit
کدنویسی در محیط MakeCode
پروگرام کردن برد های میکروبیت به لطف پلتفرم MakeCode بسیار آسان شده، و به کاربر این امکان را میدهد تا در محیط وب اقدام به کدنویسی و پروگرام کردن برد میکروبیت خود بپردازیم. به نقل از سازندگان این پلتفرم، Microsoft MakeCode یک پلتفرم رایگان و منبع باز برای ایجاد تجربیات یادگیری جذاب علوم کامپیوتر است که از مسیر پیشرفت به سمت برنامه نویسی در دنیای واقعی پشتیبانی می کند. این پلتفرم از چند بخش تشکیل شده. ادامه این بخش را در آموزش “ارسال و دریافت مقادیر سنسور دما بین بردهای میکروبیت micro:bit” مشاهده کنید. در صورتی که سوالی نسبت به انتقال کدها و راه اندازی دارید میتوانید در بخش نظرات مطرح کنید.
کدهای پروژه نت گیتار
همچنین میتوانید با استفاده از کدهای زیر برای هر برد در نقش های مشخص شده اقدام به راهاندازی پروژه نت گیتار میکروبیت کنید. برای این مورد میتوانید از بخش ادیتور در سایت MakeCode و یا ادیتور مدنظر با قابلیت ساپورت از میکروپایتون اقدام به راهاندازی پروژه کنید. گام یا فرکانس یک نت وقتی یک اکتاو بالا می روید دو برابر می شود، A میانی بین فرکانس ۴۴۰ هرتز (۴۴۰ ارتعاش در ثانیه) است، A بالا دارای فرکانس ۸۸۰ هرتز است. به همین دلیل است که ساختن قسمت ارتعاشی سیمهای گیتار با طولهای مختلف با انگشتان، صدای نواختن نت را تغییر میدهد.
-
این برنامه به جای استفاده از نت موسیقی برای پخش نت، فرکانس هر نت را در متغیرهایی به نام های F، A، C و E ذخیره می کند.
F = 349 A = 440 C = 523 E = 659
-
وقتی پین ۱ یا پین ۲ و GND را لمس میکنید، یک آکورد پخش میشود، اما اکنون میتوانید با فشار دادن دکمه A، آکورد را یک اکتاو پایین بیاورید و با فشار دادن دکمه B آن را یک اکتاو به بالا ببرید.
if pin1.is_touched(): music.pitch(int(F), 500) music.pitch(int(A), 500) music.pitch(int(C), 500)
-
دکمه های A و B تعداد فرکانس ذخیره شده در هر متغیر را نصف و دوبرابر می کنند، که باعث کاهش یا افزایش هر نت نواخته شده به اندازه یک اکتاو می شود.
if button_a.was_pressed(): F = F / 2 A = A / 2 C = C / 2 E = E / 2
- کد کامل پروژه شبیه سازی گیتار با استفاده از Micro:bit
from microbit import * import music F = 349 A = 440 C = 523 E = 659 while True: if pin1.is_touched(): music.pitch(int(F), 500) music.pitch(int(A), 500) music.pitch(int(C), 500) if pin2.is_touched(): music.pitch(int(A), 500) music.pitch(int(C), 500) music.pitch(int(E), 500) if button_a.was_pressed(): F = F / 2 A = A / 2 C = C / 2 E = E / 2 if button_b.was_pressed(): F = F * 2 A = A * 2 C = C * 2 E = E * 2
نتیجه نهایی
در نهایت پس از آپلود کدها با لمس کردن پین های ۱ و ۲ در میکروبیت، نت مد نظر پخش خواهد شد، همچنین با استفاده از کلید های A و B که در برد میکروبیت مونتاژ شده اند میتوانیم نت مدنظر را High و یا Low کنیم. با استفاده از پین ۱ و gnd میتوانیم موسیقی از یک هدفون پخش کنیم. توسط نت های گیتار به راحتی میتوانیم ملودیهای زیبا را بنوازیم. کافیست که موسیقی را درک کرده باشید و روش نواختن نت ها را بدانید.
کلام آخر با سایفر
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.