1.5.1 معرفی برد آردینو
برد آردینو را میتوانید به انواع مختلف موتورها، سنسورها، درایورها، نمایشگرها و … متصل کنید و با استفاده از یک محیط برنامهنویسی ساده و توابع آماده پروژههای کاربردی گوناگونی را به انجام برسانید. بیش از 250000 برد آردینو در سراسر دنیا به فروش رفته که نشان از محبوبیت این برد دارد. با توجه به نیاز کاربر انواع برد تولید شده است. به عنوان نمونه، برد آردوینو نانو، یک برد کوچک و کامل میباشد و طراحی آن بهنحوی است که میتواند بهراحتی روی بردبورد قرار گیرد. وزن این برد در حدود 6 گرم میباشد، این خصوصیات منحصر به فرد، استفاده از برد را برای رباتهای پرنده، سایر رباتها و ماشینهای کوچک میسر میسازد. برد دیگری که به دلیل قیمت مناسب و استفاده آسان، بسیار رایج شده است، برد یونو است. پایههای این برد، شامل دوبخش Analog و Digital است. این برد دارای 8 پین ورودی آنالوگ که با نام های A0 تا A7 مشخص شده اند و 14 پایه دیجیتال که میتوان آنها را بعنوان ورودی و یا خروجی تعریف کرد، میباشد.
شکل 4-55: برد آردینو UNO.
پین دیجیتال شماره 13: این پین در برد آردوینو پین خاصی محسوب میشود، چرا که یک led به آن متصل است. گاهی در پروژههایی که داریم لازم است برای چک کردن، یک LED را روشن یا خاموش کنیم. مثلا فرض کنید یک سنسور تشخیص حرکت داریم و هدف این است که به محض تشخیص هر نوع حرکتی یک آلارم به ما بدهد. میتوانیم از این led داخلی استفاده کنیم تا به محض تشخیص جابهجایی این led روشن شود.
Power: برد آردوینو میتواند با منبع تغذیه خارجی 6 تا 20 ولت کار کند.
پینهای مربوط به Power (منبع تغذیه) به شرح زیر است:
Vin: این پین، پین ورودی ولتاژ آردوینو است که در مواقع استفاده از منبع تغذیه خارجی از آن استفاده میشود.
5V: این پین یک ولتاژ تنظیم شده 5 ولت از طریق رگولاتور موجود بر روی برد فراهم میکند.
3.3V: یک ولتاژ 3/3 ولتی، به وسیله رگولاتور روی برد فراهم میشود که حداکثر جریان آن 50 میلیآمپر میباشد.
GND: پینهای زمین.
1.5.1.1 محیط برنامهنویسی
برای برنامهنویسی بردهای آردینو، یک محیط بسیار ساده با امکانات قابل توجه فراهم شده است. زبان مورد استفاده، مشابه زبان C استاندارد است. برای انتقال برنامه به برد به هیچ سختافزار یا نرمافزار دیگری نیاز نیست. برد از طریق پورت یواسبی به کامپیوتر متصل و مستقیما توسط همین محیط برنامهریزی میشود. علاوه بر این، امکان انتقال بین برد و کامپیوتر از طریق پورت یواسبی توسط نرمافزار مورد بحث فراهم شده است.
شکل 4-56: محیط نرمافزاری برد آردینو.
برای برنامهنویسی در این محیط، آشنایی مقدماتی با زبان Cکافی است. علاوه بر این، توابع بسیاری برای کاربردهای گوناگون، به ویژه برای اتصال انواع ماژولها، سنسورها، موتورها و .... به برد آردینو، از طریق اینترنت در اختیار کاربران قرار دارد. در تمرین زیر، با نحوه نوشتن و انتقال یک برنامه چشمک زن ساده در برد یونو آشنا میشوید.
تمرین 1: برنامه زیر که LED تعبیه شده روی برد را روشن-خاموش میکند، را در محیط برنامهنویسی بنویسید و به برد منتقل کنید.
دو متغیر برای مشخص کردن زمانهای روشن و خاموش بودن LED تعریف شده اشت. |
int d1=500; int d2=1000; |
تنظیمات مربوط به ورودی یا خروجی بودن پایهها در تابع setup انجام میشود. این دستور پایه 13 را بهصورت خروجی تنظیم میکند. |
void setup() { pinMode(13, OUTPUT); } |
دستورات درون تابع loop تا زمانی که برد روشن است، تکرار میشوند. |
void loop() { |
این دستور ولتاژ 5 ولت به پایه 13 اعمال میکند. |
digitalWrite(13, HIGH); |
این دستور بهاندازه d1 میلیثانیه دیود را روشن نگه میدارد. |
delay(d1); |
این دستور ولتاژ پایه 13 را صفر میکند. |
digitalWrite(13, LOW); |
این دستور بهاندازه d2 میلیثانیه دیود را خاموش نگه میدارد. |
delay(d2); } |
راهنمایی و یادآوری:
آکولادها ( { } ) ابتدا و انتهای توابع رامشخص میکنند
نقطه ویرگول ( ; ) در پایان یک جمله به کارمیرود. فراموش کردن نقطه ویرگول در انتهای یک خط منجر به خطای کامپایلر میشود.
High به معنی روشن و Low به معنی خاموش است.
از دستور digital write برای خروجی و از دستور digital read برای ورودی استفاده میکنیم.
دستور delay باعث ایجاد تاخیر در برنامه میشود. واحد آن میلیثانیه (یک هزارم ثانیه است). بنابراین، برنامه بالا دیود را به مدت نیم ثانیه روشن و به مدت یک ثانیه خاموش نگه میدارد.
برای انتقال برنامه از کامپیوتر به برد آردینو از گزینه upload استفاده میکنیم. ولی قبل از آن بهتر است که برای چک کردن برنامه روی گزینه verify کلیک کنیم.
تمرین 2: مطابق شکل زیر، سر مثبت یک LED را به پایه 12 و سر منفی را از طریق یک مقاومت به پایه زمین وصل کنید. برنامه بالا را به گونهای تغییر دهید که این LED را روشن-خاموش کند.
شکل 4-57: نوشتن برنامه چشمکزن به کمک برد آردینو.
تمرین 3: برنامه ای بنویسید که هشت LED بطور همزمان روشن-خاموش شوند.
شکل 4-58: ساخت انواع چشمکزنها به کمک برد آردینو.
تمرین 4: برنامههایی بنویسید که LEDها با سلیقه خودتان روشن-خاموش شوند.
تمرین 5: برنامهای بنویسید که تمام موارد تمرین 4 را پشت سر هم اجرا کند.