میکروبیت micro:bit

پروژه ساخت زمان سنج (کرنومتر) با برد میکروبیت micro:bit و LED داخلی

نوشته شده توسط CiferTech

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

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

 


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


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

 

این دستگاه به اندازه نصف یک کارت اعتباری توصیف شده است و دارای یک پردازنده ARM Cortex-M0، حسگرهای شتاب سنج و مغناطیس سنج، اتصال بلوتوث و USB، نمایشگری متشکل از ۲۵ LED، دو دکمه قابل برنامه ریزی است. ورودی و خروجی دستگاه از طریق پنج کانکتور است. همچنین در سال ۲۰۲۰، یک برد V2 از نظر فیزیکی تقریبا یکسان منتشر شد که دارای یک میکروکنترلر Cortex-M4F، با حافظه بیشتر و سایر ویژگی‌های جدید است.

 


روش کار پروژه زمان سنج


در پروژه زمان سنج برای نمایش اعداد ثانیه شمار و نمایش موارد مورد نظر از نمایشگر LED موجود در برد میکروبیت و همچنین لوگوی تاچ و میکروسوییچ های موجود استفاده می‌کنیم. به این شکل که با فشردن میکروسوییچ A زمان سنج با نمایش یک انیمیشن قلب شروع به شمارش می‌کند، در ادامه برای توقف شمارش از کلید B استفاده می‌کنیم، در ادامه برای نمایش ثانیه شمرده شده لوگوی میکروبیت را لمس می‌کنیم و مقادیر در نمایشگر LED به نمایش در می‌آید.

 


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


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

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

 


اتصالات پروژه زمان سنج


در پروژه زمان سنج همانطور که ذکر شد تمامی موارد مورد نیاز برای اجرای پروژه در برد میکروبیت تعبیه شده است، و تنها با پروگرام کردن برد میکروبیت قادر به اجرای پروژه خواهیم بود.

 


پلتفرم MakeCode


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

  1. شبیه‌ساز که یک شبیه ساز تعاملی است که بازخورد فوری در مورد نحوه اجرای برنامه را ارائه می دهد و آزمایش و اشکال زدایی کد آنها را آسان می کند.
  2. بلوک ادیتور که این امکان را می‌دهد تا با بلوک‌های رنگی که می‌توانند آن‌ها را جابجا و روی فضای کاری خود رها کنند تا برنامه‌هایشان را بسازند.
  3. ادیتور کد که امکان ویرایش و نوشتن کد های پروژه را به دو زبان java scrpt و python را فراهم می‌کند.
  • پس از ورود به سایت MakeCode در صفحه پروژه خود آیکون زیر را مشاهده می‌کنید که امکان دانلود را برای شما فراهم می‌کند، همچنین می‌توانید با اتصال برد میکروبیت به سیستم خود، کد پروژه را بطور مستقیم در برد خود آپلود کنید.

  • پس از اتصال میکروبیت، آیکون به شکل زیر نمایش داده خواهد شد، اما ابتدا باید برد را به مرورگر معرفی کنید.

  • در صفحه‌ای که به شکل خودکار برای شما باز خواهد شد، برد میکروبیت مدنظر خود را انتخاب کنید.

انتخاب برد میکروبیت در نرم افزار makecode - دیجی اسپارک

 

  • تنها با این حرکت برد شما توسط مروگر و سایت MakeCode با موفقیت معرفی شد.

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

 


بلوک های پروژه


پروژه زمان سنج با میکروبیت از چند بخش مختلف تشکیل شده به منظور تعریف کارکرد هرکدام از میکروسوئیچ ها، کلید لمسی و نمایشگر LED در بخش بعدی باهم این بخش های مختلف را بررسی می‌کنیم، این بلوک ها در پلتفرم MakeCode که در بخش قبلی درباره آن توضیح دادیم قابل دسترسی است.

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

برنامه نویسی در محیط makecode میکروبیت - دیجی اسپارک

 

  • در این بخش سوییچ دوم به منظور توفق روند ثانیه شمار تعریف می‌کنیم، که در صورت تریگر شده متغیر running را از حالت قبل که به True تبدیل شده بود را False می‌کند.

ساخت پروژه زمان سنج در makecode - دیجی اسپارک

 

  • در نهایت برای نمایش مقادیر ثانیه شمار پس از توقف نیاز به یک محرک سوم داریم که در نسخه V2 میکروبیت لوگوی این برد در واقع یک تاچ سوییچ است، پس در ادامه برای این سوییچ تعریف می‌کنیم در صورتی که متغییر running به False تغییر حالت داده بود، به زبان ساده ثانیه شمار متوفق بود، در صورت تریگر شدن سوییچ مقادیر شمرده شده را نمایش دهد.

تعریف تایم و زمان سنج در محیط makecode - دیجی اسپارک

 

  • در نهایت انیمیشن مدنظر را تعریف می‌کنیم، در صورتی که 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))

 

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

 


نتیجه نهایی


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

 


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


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

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

 

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

 

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

CiferTech

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