بر روی برد میکروبیت Microbit چند ردیف پایه GPIO یا همان پایه های ورود خروجی میکروبیت قرار دارد که از طریق این پایه ها ارتباط بین سنسورها با برد میکروبیت برقرار میشود.پایه ها در میکروبیت میتواند سه نوع TYPE داشته باشد. تایپ دیجیتال DIGITAL, تایپ آنالوگ ANALOG, تایپ تاچ TOUCH که برای استفاده از هر کدام بایستی کلاس آن فراخوانی شود. هر کلاس دارای زیرمجموعه مشخص است که برای استفاده از هر پین و نوع کاربرد آن دستور مجزایی فراخوانی میشود. در این آموزش به معرفی پایه ها و دستورات فعال سازی خواهیم پرداخت. در ادامه با مرجع تخصصی برد میکروبیت micro:bit به زبان فارسی، دیجی اسپارک همراه باشید.
پایه های ورودی و خروجی میکروبیت
توسط پایه های ورودی و خروجی قرار گرفته شده بر روی برد ارتباط دیوایس ها با برد میکروبیت برقرار میشود. ۱۹ پایه در اختیار ما قرار گرفته است پایه های ۰ تا ۱۶ و پایه های ۱۹ – ۲۰ که از این پایه ها، پایه ی ۱۷ و پایه ۱۸ غیرقابل استفاده است. پایه های ۰، ۱، ۲ پایه های دیجیتالی هستند که با دایره های بزرگ تر بر روی برد قرار گرفته شده است و میتوانید با استفاده از کابل های گیره سوسماری ارتباط با سایر بردها را فراهم کنید. بین هر پایه ها چندین پایه کوچکتر قرار گرفته شده است که باز هم از روی برد قابل استفاده است و نیاز به گیره سوسماری با ابعاد کوچکتر برای دسترسی به پایه ها است. اما برای دسترسی سریع تر به پایه ها از شیلدهای GPIO که برای برد میکروبیت طراحی شده است، استفاده میکنیم.توسط شیلد GPIO میکروبیت که در دو مدل مختلف در حال حاضر وجود دارد، دسترسی به پایه ها از طریق کابل فلت ساده تر است. همچنین دو ردیف پایه VCC, GND به تعداد ۲۰ عدد بر روی برد قرار گرفته شده است که عملا مشکلی برای ارتباط تغذیه وجود نخواهد داشت. تمامی پایه ها در ماژول میکروبیت قرار گرفته شده است. جدول پایه های میکروبیت به صورت زیر است.
طبق جدول بالا، نوع هر پایه و فانشکن مربوط به آن مشخص شده است.
- پایه شماره ۰، ۱، ۲ به ترتیب پایه های TOUCH هستند. در صورتیکه بخواهیم از ماهیت TOUCH برای ورودی استفاده کنیم، این پایه ها را فراخوانی میکنیم.
- پایه شماره ۳ و ۴ , ۱۰ پایه آنالوگ ANALOG هستند.
- پایه ۵,۶,۷,۸,۹,۱۱,۱۲,۱۳,۱۴,۱۵,۱۶,۱۹,۲۰ پایه های دیجیتال DIGITAL هستند.
- پایه های ۱۹ و ۲۰ برای ارتباط I2C است.
- پایه های ۱۳,۱۴,۱۵ پایه SPI است.
- پایه ۵ و پایه ۱۱ به کلید BUTTON متصل است.
پایه های PWM میکروبیت
پایه هایی که بر روی برد میکروبیت قرار دارد، فقط به صورت دیجیتال هستند یا یک و یا صفر! به همین دلیل نمیتوانیم از این پایه خروجی آنالوگ داشته باشیم. پایه ها یا ۳٫۳ ولت در نقش HIGH و یا ۰ مطلق LOW است. در صورتیکه بخواهیم سرعت یک موتور، شدت نور ال ای دی و یا زاویه سرو موتور را تغییر دهیم نیاز به استفاده از مقادیر بین ۰ و ۱ و ولتاژ روی پایه داریم. برای این منظور بایستی از ماهیت PWM استفاده کنیم.
PWM در برنامه نویسی مخفف Pulse Width Modulation است که یک تکنیک خاص برای کنترل نور چراغ، دور موتور، کنترل سرو موتور و یا هر جایی که نیاز به دریافت خروجی آنالوگ از ابزارهای دییجتال داریم، استفاده میشود. خروجی پایه های دیجیتال به صورت موج مربعی و در دو حالت ۱ و ۰ است که منظور از ۱ همان ۵ ولت و صفر همان gnd است. با یک مثال بررسی میکنیم، اگر بخواهیم شدت نور یک ال ای دی را کم و زیا کنیم، عملا با استفاده از ۵ ولت و صفر ولت امکان پذیر نیست. زیرا در یک لحظه ال ای دی خاموش و در یک لحظه در بالاترین میزان نور خواهد بود اما میتوانیم مدت زمان سیگنال را کم و زیاد کنیم. اگر بتوانیم مدت زمان فعال و غیرفعال شدن سیگنال را با سرعت بیشتری انجام دهیم، در نتیجه میتوانیم بازه های بین ۰ تا ۵ولت را محاسبه کنیم. سه پارامتر اصلی PWM به صورت زیر است.
- TON = ON TIME = زمانیکه سیگنال در بالاترین حد HIGH است.
- TOFF = OFF TIME = زمانیکه سیگنال در پایین ترین حد LOW است.
- پریود = PERIOD = حاصل جمع زمان TON و TOFF پریود گفته میشود.
- دیوتی سایکل = DUTY CYCLE = درصد زمان هنگامی که سیگنال در بالاترین حد در مدت زمان مشخص باشد.
به عنوان مثال در دیوتی سایکل ۵۰% و فرکانس ۱Hz، ال ای دی به مدت نیم ثانیه در بالاترین حد HIGH و به مدت نیم ثانیه دیگر در پایین تر حد LOW تغییر وضعیت میدهد. اگر فرکانس را تا ۵۰Hz افزایش دهیم، ال ای دی ها با نور بیشتری روشن خواهند شد. در برد میکروبیت با فراخوانی write_analog(511) مقدار دیوتی سایکل ۵۰ درصد است که به معنی نصف خاموش و نصف روشن است. به این معنی که توان در این نقطه برای ولتاژ ۳٫۳ ولت برابر با ۱٫۶۵ ولت خواهد بود. سیگنال دوم ۲۵ درصد است و با دستور write_analog(255) فراخوانی میشود و ولتاژ ۰٫۸۲۵V در خروجی تولید میکند. سیگنال سوم دیوتی سایکل ۷۵ درصد است که توسط دستور write_analog(767) فراخوانی میشود. ولتاژ در این دیوتی سایکل ۲٫۴۷۵V خواهد بود.
استفاده از کلاس پایه های میکروبیت در کدنویسی
سه مدل پایه در میکروبیت برای فراخوانی وجود دارد که توسط کلاس های مختلفی در تابع ها فراخوانی و استفاده میشود.
فانکشن اول استفاده از کلاس دیجیتال
classmicrobit.MicroBitDigitalPin
توسط دستور زیر اگر پین ۱ = high باشد، عدد ۱ را برمیگرداند. اگر low باشد، عدد ۰ را برمیگرداند.
read_digital()
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
جمع بندی لیدی پای
در این آموزش استفاده از پایه های میکروبیت و نقش و تایپ هر پایه مشخص شده است. برای استفاده از هر نوع TYPE پایه بایستی از دستور مختص به آن استفاده کنیم. در صورتیکه پایه نقش دیجیتال، آنالوگ و تاچ داشته باشد، کلاس آن متفاوت است و باید از دستور خودش برای فراخوانی در کدنویسی استفاده شود. DIGITAL, ANALOG, TOUCH سه نوع TYPE از دیتا است که در این آموزش به آن پرداخته شده است. میکروبیت دارای یک مقاومت ۱۰M خارجی بین پایه ۰ ۱ ۲ است که فقط در صورت استفاده از تاچ فعال میشود. از پایه های GPIO برای نمایشگر هم استفاده میشود. پایه های ۳ ۴ ۶ ۷ ۹ برای اتصال به نمایشگر استفاده شده است. اگر بخواهید از این پایه ها برای کاربرد دیگری استفاده کنید، بایستی نمایشگر را OFF کنید.
وسایل مورد نیاز
چنانچه در مراحل راه اندازی برد میکروبیت و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.