برد های میکروبیت به دلیل سنسور ها و قابلیت هایی که در آن ها تعریف شده، قابلیت اجرای پروژه های متفاوت و خلاقانهای را در اختیار ما یعنی کاربر هایی که قصد کار با این برد ها دارند قرار میدهند. در این آموزش قصد ساخت یک کرونومتر با استفاده از میکروبیت را داریم، قابل ذکر است که در این آموزش تنها نیاز به برد میکروبیت ورژن ۲ داریم و نیازی به قطعات اضافی نیست. در ادامه پروژه ساخت کرونومتر با استفاده برد میکروبیت با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
برد میکروبیت Mirco:bit
این دستگاه به اندازه نصف یک کارت اعتباری توصیف شده است و دارای یک پردازنده ARM Cortex-M0، حسگرهای شتاب سنج و مغناطیس سنج، اتصال بلوتوث و USB، نمایشگری متشکل از ۲۵ LED، دو دکمه قابل برنامه ریزی است. ورودی و خروجی دستگاه از طریق پنج کانکتور است. همچنین در سال ۲۰۲۰، یک برد V2 از نظر فیزیکی تقریبا یکسان منتشر شد که دارای یک میکروکنترلر Cortex-M4F، با حافظه بیشتر و سایر ویژگیهای جدید است.
روش کار پروژه زمان سنج
در پروژه زمان سنج برای نمایش اعداد ثانیه شمار و نمایش موارد مورد نظر از نمایشگر LED موجود در برد میکروبیت و همچنین لوگوی تاچ و میکروسوییچ های موجود استفاده میکنیم. به این شکل که با فشردن میکروسوییچ A زمان سنج با نمایش یک انیمیشن قلب شروع به شمارش میکند، در ادامه برای توقف شمارش از کلید B استفاده میکنیم، در ادامه برای نمایش ثانیه شمرده شده لوگوی میکروبیت را لمس میکنیم و مقادیر در نمایشگر LED به نمایش در میآید.
وسایل مورد نیاز
اتصالات پروژه زمان سنج
در پروژه زمان سنج همانطور که ذکر شد تمامی موارد مورد نیاز برای اجرای پروژه در برد میکروبیت تعبیه شده است، و تنها با پروگرام کردن برد میکروبیت قادر به اجرای پروژه خواهیم بود.
پلتفرم MakeCode
پروگرام کردن برد های میکروبیت به لطف پلتفرم MakeCode بسیار آسان شده است. و به کاربر این امکان را میدهد تا در محیط وب اقدام به کدنویسی و پروگرام کردن برد میکروبیت خود بپردازیم. به نقل از سازندگان این پلتفرم، Microsoft MakeCode یک پلتفرم رایگان و منبع باز برای ایجاد تجربیات یادگیری جذاب علوم کامپیوتر است که از مسیر پیشرفت به سمت برنامه نویسی در دنیای واقعی پشتیبانی می کند. این پلتفرم از چند بخش تشکیل شده.
- شبیهساز که یک شبیه ساز تعاملی است که بازخورد فوری در مورد نحوه اجرای برنامه را ارائه می دهد و آزمایش و اشکال زدایی کد آنها را آسان می کند.
- بلوک ادیتور که این امکان را میدهد تا با بلوکهای رنگی که میتوانند آنها را جابجا و روی فضای کاری خود رها کنند تا برنامههایشان را بسازند.
- ادیتور کد که امکان ویرایش و نوشتن کد های پروژه را به دو زبان java scrpt و python را فراهم میکند.
- پس از ورود به سایت MakeCode در صفحه پروژه خود آیکون زیر را مشاهده میکنید که امکان دانلود را برای شما فراهم میکند، همچنین میتوانید با اتصال برد میکروبیت به سیستم خود، کد پروژه را بطور مستقیم در برد خود آپلود کنید.
- پس از اتصال میکروبیت، آیکون به شکل زیر نمایش داده خواهد شد، اما ابتدا باید برد را به مرورگر معرفی کنید.
- در صفحهای که به شکل خودکار برای شما باز خواهد شد، برد میکروبیت مدنظر خود را انتخاب کنید.
- تنها با این حرکت برد شما توسط مروگر و سایت MakeCode با موفقیت معرفی شد.
بلوک های پروژه
پروژه زمان سنج با میکروبیت از چند بخش مختلف تشکیل شده به منظور تعریف کارکرد هرکدام از میکروسوئیچ ها، کلید لمسی و نمایشگر LED در بخش بعدی باهم این بخش های مختلف را بررسی میکنیم، این بلوک ها در پلتفرم MakeCode که در بخش قبلی درباره آن توضیح دادیم قابل دسترسی است.
- در بخش اول از بلوک های پروژه یک سوییچ برای شروع کارکرد و شمارش تعریف میکنیم، نام کلید A بطور پیشفرض برای میکروبیت تعریف شده است.همچنین از این بلوک برای شروع نمایش انیمیشن در ادامه نیز استفاده خواهیم کرد.
- در این بخش سوییچ دوم به منظور توفق روند ثانیه شمار تعریف میکنیم، که در صورت تریگر شده متغیر running را از حالت قبل که به True تبدیل شده بود را False میکند.
- در نهایت برای نمایش مقادیر ثانیه شمار پس از توقف نیاز به یک محرک سوم داریم که در نسخه V2 میکروبیت لوگوی این برد در واقع یک تاچ سوییچ است، پس در ادامه برای این سوییچ تعریف میکنیم در صورتی که متغییر running به False تغییر حالت داده بود، به زبان ساده ثانیه شمار متوفق بود، در صورت تریگر شدن سوییچ مقادیر شمرده شده را نمایش دهد.
- در نهایت انیمیشن مدنظر را تعریف میکنیم، در صورتی که running در حالت True باشد، انیمیشن قلب نمایش داده میشود در غیر صورت انیمیشن توقف به نمایش در خواهد آمد.
کد های پروژه زمان سنج
همچنین میتوانید با استفاده از کد های زیر برای هر برد در نقش های مشخص شده اقدام به راهاندازی پروژه کنید، برای این مورد میتوانید از بخش ادیتور در سایت MakeCode و یا ادیتور مدنظر با قابلیت ساپورت از میکروپایتون اقدام به راهاندازی پروژه کنید. در کد زیر یک متغیر برای ذخیره مقادیر ثانیه شمار ایجاد شده و یک مورد برای مشخص شدن حالت اجرا بودن ثانیه شمار، دقیقا مانند روند اجرا در بلوک های پروژه در صورتی که کلید A تریگر شود ثانیه شمار شروع به شمارش میکند و انیمیشن مدنظر نمایش داده میشود و در صورت فشردن کلید B ثانیه شما متوقف میشود و ادامه در صورتی که ثانیه شمار متوقف شده باشد و لوگوی تاچ را لمس کنید مقادیر ذخیره شده ثانیه شمار نمایش داده میشود.
from microbit import * time = 0 start = 0 running = False while True: if running: display.show(Image.HEART) sleep(300) display.show(Image.HEART_SMALL) sleep(300) else: display.show(Image.ASLEEP) if button_a.was_pressed(): running = True start = running_time() if button_b.was_pressed(): if running: time += running_time() - start running = False if pin_logo.is_touched(): if not running: display.scroll(int(time/1000))
نتیجه نهایی
در نهایت پس تریگر کردن سوییچ A ثانیه شمار شروع به شمارش میکند و انیمیشن مد نظر ما نمایش داده میشود. در ادامه با تریگر کردن سوییچ B ثانیه شمار متوقف شده و انیمیشن قبل متوقف و انیمیشن مخصوص توقف نمایش داده میشود، همچنین برای نمایش مقادیر ثانیه شمار میتوانیم با لمس کردن لوگوی میکروبیت مقادیر را مشاهده کنیم، توجه داشته باشید به منظور مشاهده مقادیر ابتدا باید ثانیه شمار را با سوییچ B متوقف کنیم.
کلام آخر با سایفر
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.