میکروبیت micro:bit

پروژه شبیه سازی نت گیتار با برد micro:bit میکروبیت و گیره سوسماری

DIGI-thumbnail-microbit-giutar
نوشته شده توسط CiferTech

در آموزش های قبل که پروژه های مختلف را با استفاده از برد میکروبیت پوشش دادیم از قابلیت های مختلف این برد استفاده کردیم، در این برد ظریف کاری های قابل توجهی صورت گرفته از جمله لوگوی میکروبیت در ورژن ۲ که در واقع یم تاچ سوییچ است. البته این تنها تاچ سوییچ در این برد نیست و در این آموزش قصد داریم با استفاده از این قابلیت و استفاده از اسپیکر موجود در برد نت های یک گیتار را شبیه سازی کنیم. در ادامه پروژه شبیه سازی گیتار با استفاده از Micro:bit با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

پروژه نت گیتار با برد micro:bit - دیجی اسپارک

 


برد میکروبیت Mirco:bit


BBC micro:bit یک کامپیوتر جیبی است که شما را با نحوه کار نرم افزار و سخت افزار با هم آشنا می کند. دارای نمایشگر LED، سنسورها و بسیاری از ویژگی‌های ورودی/خروجی (GPIO) است که در صورت برنامه‌ریزی، به آن اجازه می‌دهد با شما و دنیای شما تعامل داشته باشد. micro:bit به شما کمک می کند تا بفهمید کامپیوترها چگونه کار می کنند. وقتی روی لپ‌تاپ تایپ می‌کنید یا صفحه نمایش تلفنتان را لمس می‌کنید، از یک دستگاه ورودی استفاده می‌کنید. ورودی‌ها به رایانه‌ها اجازه می‌دهند اتفاق‌هایی را که در دنیای واقعی اتفاق می‌افتند حس کنند، بنابراین می‌توانند روی این موضوع عمل کنند و کاری کنند که معمولاً روی یک خروجی مانند صفحه نمایش یا هدفون اتفاق بیفتد. در بین ورودی و خروجی، پردازنده وجود دارد. این اطلاعات را از ورودی‌هایی مانند دکمه‌ها می‌گیرد و باعث می‌شود در خروجی‌ها اتفاقی بیفتد، مانند پخش یک آهنگ در هدفون.

پروژه نت گیتار با برد micro:bit


در پروژه نت گیتار با برد micro:bit با استفاده از GPIO های موجود در برد میکروبیت که قابلیت استفاده به عنوان پین تاچ را دارند به برد فرمان مورد نظر برای پخش نت های گیتار را می‌دهیم. همچنین برای شنیدن نت های تولید شده از پین ۰ در میکروبیت استفاده می‌کنیم و صدا های تولید شده از یک هدفون خواهیم شنید.

اتصال گیره سوسماری در ساخت نت گیتار با برد micro:bit - دیجی اسپارک

 


وسایل مورد نیاز


برد میکروبیت v2

باتری (در صورت نیاز)

گیره سوسماری

 


اتصالات نت گیتار با برد micro:bit


میکروبیت از پین ۰ به عنوان خروجی آنالوگ استفاده می کند و سیگنال الکتریکی را برای تولید صدا تغییر می دهد. از پین های ۱ و ۲ به عنوان ورودی کلید های تاچ استفاده می کنیم. زمانی که یکی از این پایه‌ها و پایه GND را لمس می‌کنید، در واقع در حال کامل کردن یک مدار الکتریکی هستید. مقدار کمی الکتریسیته از طریق شما جریان می یابد و میکروبیت می تواند آن را تشخیص دهد و کد پخش یک موسیقی یا نت مدنظر ما را آغاز می کند. گیره سوسماری را به پین ​​های ۱، ۲ و دیگری را به GND وصل کنید. با یک انگشت GND را لمس کنید، و با انگشت دیگر سیم های متصل به پین ​​۱ و سپس پین ۲ را لمس کنید. بسته به اینکه کدام پین را لمس می کنید باید آهنگ متفاوتی پخش شود.
پایه های تاچ روی میکروبیت نت گیتار با برد 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

 

نهایی سازی پروژه نت گیتار با برد micro:bit - دیجی اسپارک

 


نتیجه نهایی


در نهایت پس از آپلود کدها با لمس کردن پین های ۱ و ۲ در میکروبیت، نت مد نظر پخش خواهد شد، همچنین با استفاده از کلید های A و B که در برد میکروبیت مونتاژ شده اند می‌توانیم نت مدنظر را High و یا Low کنیم. با استفاده از پین ۱ و gnd می‌توانیم موسیقی از یک هدفون پخش کنیم. توسط نت های گیتار به راحتی میتوانیم ملودی‌های زیبا را بنوازیم. کافیست که موسیقی را درک کرده باشید و روش نواختن نت ها را بدانید.

نواختن نت های موسیقی گیتار با برد میکروبیت micro:bit - دیجی اسپارک

 


کلام آخر با سایفر


تا به امروز آموزش های متفاوتی از جمله آموزش های بیسیک و از این دست پروژه ها در مورد برد های میکروبیت منتشر شده که در وبسایت قابل مشاهده هستند، در مجموع برد های میکروبیت به لطف قابلیت هایی که برای آن ها مهندسی شده مناسب برای اهداف آموزشی هستند و همچنین از زبان های مختلفی پشتیبانی می‌کنند که این مورد یکی از نقاط قوت این برد است.

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

درباره نویسنده

CiferTech

تبادل نظر و رفع عیب با ثبت دیدگاه