آموزش گام به گام آردوینو (بخش اول : آشنایی با محیط برنامه نویسی)
محیط برنامه نویسی آردوینو
محیط برنامه نویسی آردوینو شامل یک ویرایشگر متنی جهت نوشتن کد، یک ناحیه پیام، یک کنسول متن، یک جعبه ابزار با دکمه هایی جهت عملیات مشترک، و یک سری منو می باشد. این محیط به سخت افزار آردوینو متصل می شود تا برنامه ها را آپلود کرده و با آنها ارتباط برقرار کند.
نوشتن برنامه های آردوینو
نرم افزاری که با استفاده از آردوینو نوشته می شود، اسکچ خوانده می شود. این اسکچ ها در ویرایشگر متن نوشته می شوند و با پسوند .ino ذخیره می شوند. این مسئله قابلیت هایی را برای cut/paste و search/replace کردن متن فراهم می کند. زمانی که عملیات ذخیره و Export انجام می شود، ناحیه پیام بازخورد می دهد. همچنین پیغام های خطا را نشان می دهد. کنسول، خروجی متنی را که توسط محیط برنامه نویسی آردوینو ایجاد می شود، شامل کلیه پیام های خطا و اطلاعات دیگر را نشان می دهد. گوشه سمت راست پایین پنجره، برد جاری و پورت سریال را نشان می دهد. دکمه های نوار ابزار به شما این امکان را می دهند تا برنامه را بازبینی و آپلود کنید، اسکچ ها را ایجاد، باز و ذخیره نمایید و Serial Monitor را باز کنید.
توجه: نسخه های قبل از 1.0 محیط برنامه نویسی آردوینو، اسکچ ها را با پسوند .pde ذخیره می کردند. باز کردن این فایلها با نسخه 1.0 نیز امکان پذیر است، هنگام ذخیره، برنامه از شما می خواهد که اسکچ را با پسوند .ino ذخیره کنید.
Verify کد شما را جهت یافتن خطا بررسی می کند. |
|
Upload کد شما را کامپایل کرده و آن را به برد ورودی/خروجی آردوینو آپلود می کند. جهت کسب اطلاعات بیشتر، به قسمت آپلود کردن در زیر مراجعه کنید. |
|
توجه: اگر از یک پروگرمر جانبی استفاده می کنید، می توانید هنگام استفاده از این آیکن، کلید “shift” کامپیوتر خود را پایین نگه دارید. در این صورت متن روی آن به “Upload using Programmer” تغییر می کند. | |
New یک اسکچ جدید ایجاد می کند. |
|
Open فهرستی از همه اسکچ های موجود در SketchBook شما را نمایش می دهد. با کلیک کردن روی یکی از آنها، درون پنجره جاری باز می شود. |
|
توجه: به سبب یک باگ در جاوا، این منو پیمایش(Scroll) نمی شود؛ اگر احتیاج دارید که یک اسکچ را از انتهای لیست باز کنید، به جای آن از منوی File | Sketchbook استفاده کنید. | |
Save اسکچ شما را ذخیره می کند. |
|
Serial Monitor serial monitor را باز می کند. |
فرمان های دیگری در 5 منو دیده می شود: File، Edit، Sketch، Tools، Help. منوها حساس به متن می باشند. یعنی تنها آن سری از موارد موجود است که مربوط به کاریست که هم اکنون در حال اجراست.
Edit
- Copy for Forum
کد اسکچ شما را در قالبی مناسب برای ارسال به انجمن، کپی کرده و آن را از لحاظ رنگ بندی نیز تکمیل می نماید. - Copy as HTML
کد اسکچ شما را به صورت HTML، در قالبی که جهت وارد شدن در صفحه وب مناسب باشد، در کلیپ برد کپی می کند.
Sketch
- Verify/Compile
اسکچ شما را برای یافتن خطا بررسی می کند. - Show Sketch Folder
پوشه اسکچ کنونی را باز می کند. - Add File…
یک فایل سورس را به اسکچ اضافه می کند (این فایل از مسیر جاری خود کپی می شود). فایل جدید در یک برگه جدید در پنجره اسکچ نمایش می یابد. فایل ها می توانند با استفاده از منوی Tab از اسکچ حذف شوند. - Import Library
با افزودن دستورات #include به بالای کد شما یک کتابخانه را به اسکچتان اضافه می کند. برای آگاهی از جزئیات بیشتر، به بخش کتابخانه ها در زیر مراجعه کنید. به علاوه، با نسخه 1.0.5 و نسخه های پس از آن از محیط برنامه نویسی آردوینو، می توانید یک کتابخانه را از یک فایل Zip وارد کنید.
Tools
- Auto Format
این گزینه کد شما را به زیبایی قالب بندی می کند: قالب بندی به معنای ایجاد تو رفتگی هایی در کد است. یعنی آکولادهای باز شده و بسته شده را به خط می کند و دستورات داخل آکولادها کمی بیشتر به سمت داخل می روند. - Archive Sketch
یک کپی از اسکچ کنونی را در قالب .Zip بایگانی می کند. فایل بایگانی در همان مسیری قرار می گیرد که اسکچ در آن وجود دارد. - Board
بردی که از آن استفاده می کنید را انتخاب کنید. بخش توصیف بردهای مختلف را در زیر مشاهده کنید. - Serial Port
این منو شامل همه وسایل Serial (واقعی یا مجازی) روی سیستم شماست. این منو باید هر بار که منوی Tools را باز می کنید، به صورت خودکار به روزرسانی شود. - Programmer
جهت انتخاب یک پروگرمر سخت افزاری در زمان پروگرم کردن یک برد یا تراشه جدید، و بدون استفاده از اتصال USB-serial موجود روی برد از این منو استفاده می شود. به طور معمول، شما این گزینه را احتیاج ندارید، اما اگر یک Bootloader را روی یک میکروکنترلر جدید بارگذاری کنید، از این گزینه استفاده خواهید کرد. - Burn Bootloader
گزینه های این منو به شما این امکان را می دهد تا یک bootloader را روی یک میکروکنترلر بر روی یک برد آردوینو بارگذاری کنید. این مورد جهت استفاده عادی از یک برد آردوینو لازم نیست. اما اگر یک میکروکنترلر ATmega جدید خریداری می کنید (که به صورت عادی بدون یک bootloaderr می آید)، می تواند مفید باشد.
پیش از بارگذاری bootloader مطمئن شوید که برد صحیح را از منوی Boards انتخاب کرده باشید.
Sketchbook
محیط برنامه نویسی آردوینو از مفهوم Sketchbook استفاده می کند: محلی استاندارد جهت ذخیره سازی برنامه ها (یا اسکچ ها)ی شما. اسکچ های درون sketchbook را می توان از منوی File > Sketchbook یا از دکمه Openدر نوار ابزار باز شوند. اولین بار که نرم افزار آردوینو را اجرا می کنید، به طور خود کار پوشه ای برای sketchbook ایجاد خواهد کرد. شما می توانید مکان sketchbook را از طریق کادر مکالمه Preferences ببینید یا تغییر دهید.
زمانی که با نسخه 1.0 کار می کنید، فایل ها با پسوند .ino ذخیره می شوند. نسخه های قبلی از پسوند .pde استفاده می کنند. شما هنوز هم می توانید فایلهایی که در نسخه 1.0 و قبلتر از آن با پسوند .pde ذخیره شده اند را باز کنید، نرم افزار به طور خودکار پسوند آنهارا به .ino تغییر می دهد.
برگه ها، فایل های چندگانه و تلفیق
این امکان را به شما می دهد تا اسکچ هایی با بیش از یک فایل را (که هر یک در برگه خود ظاهر می شود) مدیریت کنید. این فایل ها می توانند فایل های معمولی کد آردوینو (بدون پسوند) باشند، یا فایل های C (با پسوند .C) ، یا فایل های C++ (با پسوند .CPP) ، یا فایل های پیش پردازنده (با پسوند .h )
آپلود کردن
پیش از اینکه اسکچ خود را آپلود کنید، لازم است گزینه های صحیح را از منوی Tools > Board و Tools > Serial Port انتخاب کنید. بردها در زیر شرح داده شده اند. روی سیستم عامل مکینتاش، پورت سریال احتمالاً چیزی شبیه /dev/tty.usbmodem241 (برای بردهای Uno یا Mega2560 یا Leonardo) یا /dev/tty.usbserial-1B1 (برای بردهای Duemilanove یا بردهای USB جدیدتر)، یا /dev/tty.USA19QW1b1P1.1 (برای یک برد سریال که با یک آداپتور Keyspan USB-to-Serial متصل است) خواهد بود. در ویندوز، احتمالا COM1 یا COM2 (برای یک برد سریال) یا COM4، COM5، COM7 یا بالاتر (برای یک برد USB ) می باشد. – جهت دانستن شماره پورت، در Windows Device Manager در قسمت Ports بگردید. در سیستم عامل لینوکس، باید چیزی شبیه /dev/ttyUSB0 یا /dev/ttyUSB1 یا موارد مشابه باشد.
زمانی که شما برد و پورت سریال صحیح را انتخاب کردید، دکمه آپلود را در نوار ابزار کلیک کنید یا گزینه Upload را از منوی File انتخاب کنید. بردهای آردوینو کنونی، به طورخودکار ریست می شوند و عملیات آپلود را آغاز می کنند. با بردهای قدیمی تر، (pre_Diecimilaa) که فاقد ریست خودکار می باشند، لازم است پیش از آپلود کد، دکمه ریست روی برد را فشار دهید. روی بیشتر بردها، هنگام آپلود کد، چراغ های RX و TX را به صورت چشمک زن می بینید. محیط برنامه نویسی آردوینو زمانی که آپلود کامل شد، پیغامی را نمایش می دهد، و یا خطای آن را نشان می دهد.
زمانی که شما یک اسکچ را آپلود می کنید، از bootloader آردوینو استفاده می کنید، bootloader برنامه ای کوچک است که روی میکروکنترلر برد شما بارگذاری می شود. این برنامه به شما امکان می دهد تا کد خود را بدون استفاده از هیچ سخت افزار اضافی، آپلود کنید.
bootloader برای چند ثانیه در هنگام ریست شدن برد، فعال می شود؛ سپس اسکچی را که اخیراً روی میکروکنترلر آپلود شده است را شروع می کند. زمانی که bootloader آغاز می شود، چراغ موجود روی برد (متصل به پین 13) را به حالت چشمک زن در می آورد (یعنی زمانی که برد ریست می شود).
کتابخانه ها
کتابخانه ها عملکرد فوق العاده ای را برای استفاده از این اسکچ ها مثل، کار با سخت افزار یا دستکاری داده ها فراهم می کنند. جهت استفاده از یک کتابخانه در یک اسکچ، آن را از منوی Sketch > Import Library انتخاب کنید. این عمل یک یا چند دستور #include را در بالای اسکچ درج می کند و کتابخانه را با اسکچ شما کامپایل می کند. به این دلیل که کتابخانه ها همراه با اسکچ شما روی برد آپلود شده اند، مقدار فضایی که اشغال می کنند افزایش می یابد. اگر یک اسکچ فعلا احتیاجی به یک کتابخانه ندارد، به سادگی دستر #include را از بالای کدتان پاک کنید.
سخت افزار Third-Party
پشتیبانی جهت سخت افزار third-party می تواند در مسیر hardware در پوشه اسکچتان اضافه شود. Support for third-party hardware can be added to the hardwaredirectory of your sketchbook directory. پلت فرم هایی که در این مسیر نصب شده اند می توانند شامل مشخصات برد(که در منوی boardd ظاهر می شوند) ، کتابخانه های اصلی، bootloader ها، و مشخصات پروگرمرها باشد.
جهت نصب، پوشه hardware را ایجاد کنید، سپس پلت فرم third-party را درون زیرشاخه خودش unzip کنید. (از کلمه “arduino” به عنوان نام زیرشاخه استفاده نکنید و پلت فرم آردوینو را override نکنید.) جهت uninstalll کردن آن، پوشه آن را حذف کنید.
Serial Monitor
داده های سریالی که از برد آردوینو (USB یا برد سریال) می آید را نمایش می دهد. جهت ارسال داده به برد، متن را وارد کنید روی دکمه “send” کلیک کنید یا کلید Enter را فشار دهید. baud rate ی را که برابر با پارامتر ورودی Serial.begin در اسکچ شماست از لیست کشویی انتخاب کنید. توجه داشته باشید که روی سیستم عامل لینوکس و مکینتاش، زمانی که با سریال مانیتور ارتباط برقرار می کنید، برد آردوینو ریست خواهد شد (یعنی اسکچ شما را به نقطه آغاز باز می گرداند).
به علاوه، شما می توانید از طریق Processing، Flash ، MaxMSP و غیره، با برد ارتباط برقرار کنید.
تنظیمات
در کادر مکالمه preferences، تنظیماتی وجود دارد که می توان آن ها را تعیین نمود. (این گزینه را می توانید زیر منوی Arduino در سیستم عامل مکینتاش، یا منوی File در ویندوز و لینوکس بیابید). سایر موارد را می توانید در فایل preferences که مسیر آن در کادر مکالمه preferences نشان داده شده است، پیدا کنید.
پشتیبانی از زبان
نسخه 1.0.1 از محیط برنامه نویسی آردوینو، به بیش از 30 زبان مختلف ترجمه شده است. به صورت پیش فرض، این محیط به زبانی که توسط سیستم عامل شما انتخاب شده است، بارگذاری می شود. (توجه: در سیستم عامل ویندوز و احتمالاً لینوکس، این مورد بر اساس زبانی تعیین می شود که در تنظیمات Locale (که قالب تاریخ و ارز را کنترل می کند) انتخاب شده است و نه بر اساس زبانی که سیستم عامل با آن نمایش می یابد.)
اگر شما بخواهید زبان را به صورت دستی تغییر دهید، در نرم افزار آردوینو، پنجره Preferences را باز کنید. حال در قسمت Editor Language یک لیست کشویی از زبان هایی که هم اکنون پشتیبانی می شود را خواهید دید. زبانی که دوست دارید را از این لیست انتخاب کنید و نرم افزار را بسته و مجدداً باز کنید تا از زبان انتخابی شما استفاده کنید. اگر زبان انتخابی شما پشتیبانی نشود، محیط برنامه نویسی به صورت پیش فرض به زبان انگلیسی باز می گردد.
با انتخاب System Default از لیست کشویی Editor Language می توانید آردوینو را به تنظیمات پیش فرض خود یعنی انتخاب زبان بر اساس سیستم عامل، باز گردانید. این تنظیمات زمانی تأثیر می گذارد که شما نرم افزار آردوینو را یک بار Restart کنید. به همین ترتیب، پس از تغییر تنظیمات مربوط به سیستم عامل، باید نرم افزار آردوینو را یک بار باز و بسته کنید تا با زبان پیش فرض جدید، به روز رسانی شود.
بردها
انتخاب برد، دو نتیجه را در بر خواهد داشت. این عمل، پارامترها(مثل سرعت CPU و baud rate) را تنظیم می کند یی که در زمان کامپایل و آپلود اسکچ ها استفاده می شود را تنظیم می کند؛ و و and sets and the file و تنظیماتی فیوز که توسط دستور burn bootloader استفاده می شود را تنظیم می کند. برخی مشخصات برد، فقط در مورد دوم، متفاوت عمل می کنند. بنابراین حتی اگر عملیات آپلود در یک انتخاب خاص، موفقیت آمیز باشد، باید آن را پیش از burn کردن bootloader بررسی کنید.
- Arduino Uno
یک میکروکنترلر ATmega328 که با سرعت 16 مگاهرتز در حال اجراست؛ همراه با ریست خودکار، که از optiboot bootloader (با سرعت 115200 و 0.5 کیلوبایت) استفاده می کند. - Arduino Duemilanove w/ ATmega328
یک میکروکنترلر ATmega328 که با سرعت 16 مگاهرتز - Arduino Diecimila or Duemilanove w/ ATmega168
یک میکروکنترلر ATmega168 که با سرعت 16 مگاهرتز اجرا می شود؛ به همراه ریست خودکار. تلفیق و آپلود با Arduino NG or older w/ ATmega168 برابر است، اما bootloaderی که بارگذاری شده است، time out سریع تری دارد (و LED که به پین 13 متصل است، هنگام ریست تنها یک بار چشمک می زند). - Arduino Nano w/ ATmega328
یک میکروکنترلر ATmega328 که با سرعت 16 مگاهرتز در حال اجراست؛ همراه با ریست خودکار و دارای 8 ورودی آنالوگ می باشد. - Arduino Nano w/ ATmega168
یک میکروکنترلر ATmega168 که با سرعت 16 مگاهرتز در حال اجراست؛ همراه با ریست خودکار. تلفیق و آپلود مشابه Arduino NG or older w/ATmega168می باشد، اما
bootloaderی که بارگذاری شده است، time out سریعتری دارد (و LED ای که به پین 13 متصل است، هنگام ریست فقط یک بار چشمک می زند). شامل 8 ورودی آنالوگ است.
- Arduino Mega 2560 or Mega ADK
یک میکروکنترلر ATmega2560 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار. از یک stk500v2 bootloader استفاده می کند. - Arduino Mega (ATmega1280)
یک میکروکنترلر ATmega1280 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار. - Arduino Leonardo
یک میکروکنترلر ATmega32u4 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار. - Arduino Mini w/ ATmega328
یک میکروکنترلر ATmega328 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار. از optiboot bootloader (با سرعت115200 و 0.5 کیلوبایت). دارای 8 ورودی آنالوگ. - Arduino Mini w/ ATmega168
برابر است با Arduino NG or older w/ ATmega168 (یعنی یک میکروکنترلر ATmega168 که با سرعت 16 مگاهرتز در حال اجراست، بدون ریست خودکار). - Arduino Ethernet
با Arduino UNO همراه با یک شیلد Ethernet برابر است. - Arduino Fio
یک میکروکنترلر ATmega328 که با سرعت 8 مگاهرتزدر حال اجراست؛ همراه با ریست خودکار. برابر است با Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ATmega328. - Arduino BT w/ ATmega328
ATmega328 که با سرعت 16 مگاهرتزدر حال اجراست. bootloader ی که بارگذاری شده است (4 کیلوبایت) شامل کدهایی جهت تنظیم ماژول بلوتوث آماده روی برد است. - Arduino BT w/ ATmega168
ATmega168 که با سرعت 16 مگاهرتز در حال اجراست. bootloaderی که بارگذاری شده است شامل کدهایی جهت تنظیم ماژول بلوتوث موجود روی برد است. - LilyPad Arduino w/ ATmega328
یک میکروکنترلر ATmega328 که با سرعت 8 مگاهرتز در حال اجراست (3.3V) همراه با ریست خودکار. برابر است با Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328. - LilyPad Arduino w/ ATmega168
یک میکروکنترلر ATmega168 که با سرعت 8 MHz در حال اجراست. تلفیق و آپلود برابر با Arduino Pro or Pro Mini (8 MHz) w/ ATmega168 می باشد. bootloader بارگذاری شده است، با این حال، time out کندتری دارد (و LED که به پین 13 متصل است، هنگام ریست، 3 بار چشمک می زند). چون نسخه اورجینال LilyPad ریست خودکار را پشتیبانی نمی کرد. به علاوه، آنها شامل یک کلاک خارجی بودند، بنابراین فرمان burn bootloader فیوزهای ATmega168 را برای کلاک 8 مگاهرتزی داخلی پیکربندی می کند.
اگر شما یکی از نسخه های اخیر LilyPad را دارید، (w/ a 6-pin programming header)، پیش از بارگذاری bootloader احتیاج است که Arduino Pro or Pro Mini (8 MHz) w/ ATmega168 را انتخاب کنید.
- Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
یک میکروکنترلر ATmega328 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار. برابر است با Arduino Duemilanove or Nano w/ATmega328. - Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega168
یک میکروکنترلر ATmega168 که با سرعت 16 مگاهرتز در حال اجراست؛ به همراه ریست خودکار. برابر است با Arduino Diecimila, Duemilanove, or Nano w/ ATmega168. - Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328
یک میکروکنترلر ATmega328 که با سرعت 8 مگاهرتز (3.3V) در حال اجراست؛ به همراه ریست خودکار. برابر است با LilyPad Arduino w/ ATmega328. - Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega168
یک میکروکنترلر ATmega168 که با سرعت 8 مگاهرتز (3.3V) در حال اجراست؛ به همراه ریست خودکار. - Arduino NG or older w/ ATmega168
یک میکروکنترلر ATmega168 که با سرعت 16 مگاهرتز در حال اجراست؛ بدون ریست خودکار. تلفیق و آپلود برابر است با Arduino Diecimila or Duemilanove w/ ATmega168 ، اما bootloaderی که بارگذاری شده است، timeout کندتری دارد (و LED که به پین 13 متصل است، هنگام ریست، 3 بار چشمک می زند). - Arduino NG or older w/ ATmega8
یک میکروکنترلر ATmega8 که با سرعت 16 مگاهرتز در حال اجراست؛ بدون ریست خودکار.
نویسنده: گروه IRSE