به نام خدا |
||||
|
||||
|
آردوینو Uno R3 نمای مقابل | آردوینو Uno R3 نمای پشت | ||
آردوینو Uno R2 نمای مقابل | آردوینو Uno SMD | آردوینو Uno نمای مقابل | آردوینو Uno نمای پشت |
برد آردوینو Uno یک میکروکنترلر بر پایه ATmega328 می باشد (datasheet). این برد 14 پین ورودی و خروجی دیجیتال (که 6 تای آن می تواند به عنوان خروجی PWM استفاده گردد)، 6 ورودی آنالوگ، یک تشدیدگر سرامیکی 16مگاهرتز (Ceramic Resonator)، یک پورت USB، یک پاورجک (ورودی منبع تغذیه)، یک ICSP header و یک دکمه ریست دارد. برد Uno شامل کلیه امکانات مورد نیاز جهت بکارگیری میکروکنترلر موجود بر روی برد می باشد. برای شروع تنها با یک کابل USB، به سـادگی برد را به کامپیوترتان متصـل کنید و یـا آن را با یـک آداپـتور AC-To-DC و یا باتری راه اندازی نمایید.
Uno با بردهای پیشین متفاوت است؛ زیرا در آن از تراشه FTDI USB-to-serial استفاده
نشده است و به جای آن از یک Atmega16U2 (تا نسخه R2 از Atmega8U2) که به عنوان مبدل
USB-to-serialبرنامه ریزی شده، استفاده گردیده است.
نسخه R2 برد Uno دارای یک مقاومت جهت پولینگ اتصال HWB میکروکنترلر به زمین می باشد که تغییر حالت به DFU
را آسان تر می کند.
نسخه R3 برد، ویژگی های جدیدی دارد که در ادامه آمده است:
"Uno" مخفف واژگان one in Italian می باشد که برای مشخص کردن نسخه 1/0 نرم افزار آردوینو انتخاب شده است. Uno آخرین سری از بردهای USB دار آردوینو و همچنین مدل مرجع پلت فرم آردوینو می باشد؛ برای مقایسه نسخه های قدیمی به فهرست بردهای آردوینو مراجعه نمایید.
میکروکنترلر | ATmega328 |
ولتاژ عملیاتی | 5 ولت |
ولتاژ ورودی (پیشنهادی) | 7-12 ولت |
ولتاژ ورودی (محدوده) | 6-20 ولت |
پین های دیجیتال ورودی/خروجی | 14 (6 تای آن به عنوان خروجی PWM استفاده می شود.) |
پین های ورودی آنالوگ | 6 |
جریان DC هر پین ورودی و خروجی | 40 میلی آمپر |
جریان DC جهت پین 3.3V | 50 میلی آمپر |
حافظه فلش | 32 کیلوبایت (ATmega328) که 0.5 کیلوبایت از آن مورد استفاده BootLoader قرار می گیرد. |
SRAM | 2 کیلوبایت (ATmega328) |
EEPROM | 1 کیلوبایت (ATmega328) |
سرعت ساعت | 16 مگاهرتز |
EAGLE files: arduino-uno-Rev3-reference-design.zip (NOTE: works with Eagle 6.0 and newer)
Schematic: arduino-uno-Rev3-schematic.pdf
توجه: : طرح مرجع آردوینو می تواند از یک ATmega168 ، ATmega8 و یا ATmega328 استفاده نماید. در نسخه های جدید از ATmega328 استفاده شده اما همچنان در طرح شماتیک،ATmega8 به عنوان مرجع نشان داده شده است .ساختار پین ها در هر سه پردازشگر یکسان است.
ولتاژ مورد نیاز آردوینو Uno می تواند از طریق اتصال USB و یا یک منبع تغذیه خارجی مثل باتری یا آداپتور AC-to-DC تأمین گردد. منبع تغذیه به صورت خودکار انتخاب می شود.
آداپتور (که سوکت آن از نوعcenter-positive با قطر 2/1 میلی متری باشد) می تواند به پاورجک موجود برروی برد متصل گردد و سیمهای باتری می توانند مستقیماً وارد پین های GND و Vin شوند.
برد می تواند با منبع تغذیه خارجی 6 تا 20 ولت کار کند. اگر ولتاژ منبع تغذیه پایین تر از 7 ولت باشد، روی ولتاژ پین ها نیز اثر خواهد گذاشت و ممکن است ولتاژ خروجی آنها کمتر از 5 ولت شود، و باعث نوسان گردد. ولتاژ بیش از 12 ولت نیز، می تواند موجب افزایش دمای رگولاتور و در نتیجه آسیب برد گردد. ولتاژ پیشنهادی مناسب بین 7 تا 12 ولت می باشد.
پین های مربوط به Power (منبع تغذیه) به شرح زیر است:
ATmega328 دارای 32 کیلو بایت حافظه است (نیم کیلوبایت از آن برای BootLoader استفاده می شود.( همچنین دارای 2 کیلو بایت حافظه SRAM و 1 کیلو بایت حافظه EEPROM می باشد (که با توابع کتابخانه ای EEPROM قابلیت خواندن و نوشتن را دارد) .
هریک از 14 پین دیجیتال Uno می تواند با استفاده از توابع pinMode()،digitalWrite()، digitalRead() به عنوان ورودی یا خروجی استفاده شود. ولتاز پین ها 5 ولت بوده و ظرفیت جریان جهت هر پین حداکثر 40 میلی آمپر می باشد. همچنین هر یک از این پین ها دارای یک مقاومت داخلی (50-20 کیلواهم) جهت Pull-Up می باشد (که به صورت پیش فرض غیرفعال است). بعلاوه بعضی از پین ها دارای عملکردهای منحصر به فردی می باشند که شرح آن در ذیل آمده است:
Uno 6 ورودی آنالوگ دارد که از A0 تا A5 نامگذاری شده اند. میزان تفکیک پذیری هر یک از پین ها تا 10 بیت می باشد(به عنوان1024مقدار مختلف). به صورت پیش فرض این پین ها می توانند ولتاژی بین ولتاژ پایه (Ground) تا حداکثر 5ولت را اندازه گیری نمایند. ولی با استفاده از پین AREF و تابع analogReference() تغییر حد بالای میزان تفکیک پذیری امکان پذیر می باشد. همچنین بعضی از پین ها دارای عملکردهای منحصر به فردی می باشند که شرح آن در ذیل آمده است:
سایر پین ها:
نقشه اتصال بین پین های آردوینو به پورتهای ATmega328 را مشاهده نمایید. نحوه اتصال پین ها برای ATmega168 ، ATmega8 وATmega328 یکسان می باشد.
آردوینو Uno شامل امکاناتی می باشد که ارتباط با کامپیوتر، سایر بردهای آردوینو، و یا دیگر میکروکنترلرها را مقدور می سازد. The ATmega328 امکان ارتباط سریالی(5ولت) UART TTL را از طریق پین های 0(RX)، 1(TX) فراهم می نماید. ATmega16U2 موجود بر روی برد، این ارتباط سریال را تبدیل به یک ارتباط USB نموده و در نهایت یک پورت سریال مجازی(COM) روی کامپیوتر شما ایجاد می کند. برنامه موجود برروی ATmega16U2 از درایور USB Com استفاده می نماید و به هیچ درایور جانبی نیاز ندارد. به هر حال در سیستم عامل ویندوز یک فایل .inf مورد نیاز می باشد. نرم افزار آردوینو شامل یک بخش کنترل پورت سریال است که به شما اجازه می دهد داده های متنی را به آردوینو ارسال، یا از آن دریافت نمایید. چراغهای RX و TX موجود بر روی برد در زمان ارسال و دریافت اطلاعات از طریق پردازشگر مبدل USB به سریال و یا اتصال USB به کامپیوتر (به غیر از ارتباط سریالی پین های 0 و 1) در حالت چشمک زن قرار می گیرد.
یک تابع کتابخانه ای SoftwareSerial (برای ایجاد پورت سریال نرم افزاری) امکان ارتباط سریال را برروی هریک از پین های دیجیتال فراهم می کند.
همچنین ATmega328 از ارتباط (I2C(TWI و SPI پشتیبانی می نماید. نرم افزار آردوینو شامل یک تابع کتابخانه ای به نام Wire Library جهت ساده سازی استفاده از درگا هI2C می باشد. برای جزئیات بیشتر، بخش مستندات را مشاهده نمایید. برای ارتباط SPIاز تابع کتابخانه ای SPI استفاده کنید.
آردوینو Uno با نرم افزار آردوینو قابل برنامه نویسی است (دانلود). از منوی Tools > Board برد مورد نظر خود را (با توجه به نوع میکروکنترلر برد) انتخاب نمایید. برای اطلاعات بیش تر بخش راهنمای مرجع و آموزش ها را مشاهده کنید.
ATmega328 موجود بروی برد آردوینو دارای یک bootloader از پیش آماده می باشد که به شما این امکان را می دهد تا بدون نیاز به پروگرامر جانبی، کدهای جدید خود را آپلود و اجرا نمایید. این ارتباط بر اساس پروتکل STK500 بر قرار می شود (راهنمای مرجع، C header files ).
همچنین شما می توانید BootLoader را نادیده گرفته و مستقیماً از طریق ICSP header (مخفف In-Circuit Serial Programming) برد را برنامه ریزی نمایید. برای مشاهده ی دستورالعمل ها اینجا کلیک کنید.
سورس کد firmware مربوط به پردازشگر ATmega16U2 (یا 8U2 در بردهای نسخه ی Rev1 و Rev2) موجود می باشد. همچنین ATmega16U2/8U2 با یک DFU bootloader بارگذاری شده است،که می تواند به شیوه های زیر فعال شود:
همچنین شما می توانید از نرم افزار FLIP شرکت Atmel (سیستم عامل ویندوز) یا یک DFU پروگرمر (سیستم عامل MAC OS X و لینوکس) و یا یک پروگرامر جانبی از طریق پورت ISP جهت بارگذاری Firmware جدید استفاده نمایید (تا DFU bootloader بازنویسی شود). برای اطلاعات بیشتر بخش آموزش ها را مشاهده نمایید.
برد آردوینوUno طوری طراحی شده است که در صورت اتصال به کامپیوتر، قبل از آپلود کد جدید، امکان ریست بوسیله ی نرم افزار آردوینو را به جای فشار دکمه ریست داشته باشید. یکی از خطوط سخت افزاری کنترل جریان (DTR) میکروکنترلر ATmega8U2\16U2 از طریق یک خازن 100 نانوفارادی به پایه ریست ATmega328 متصل شده است. زمانی که این خط آزاد می شود (در حالت LOW قرار می گیرد) پایه ریست در وضعیتی قرار می گیرد که باعث ریست پردازنده می شود. با استفاده از این خازن نرم افزار آردوینو به شما اجازه می دهد که به راحتی و با فشردن دکمه Upload در محیط نرم افزاری آردوینو، کد خود را آپلود نمایید. بدین معنی که در وضعیت Low قرار گرفتن DTR همزمان با شروع آپلود، هماهنگی خوبی برای داشتن Time out کوتاهتر توسط BootLoader ایجاد می نماید.
این راه اندازی ملزومات دیگری نیز دارد، زمانی که برد Uno به کامپیوتری که سیستم عامل آنMac OS X یا لینوکس است، متصل باشد در هر بار ارتباط نرم افزار با برد (از طریق کابل USB) عمل ریست اتفاق می افتد. بعد از گذشت نیم ثانیه یا بیشتر BootLoader بردUno در حال اجرا می باشد. از آنجا که Uno طوری برنامه نویسی شده است که داده های ناقص (به عنوان مثال داده ای در حاشیه آپلود کد جدید) را نادیده بگیرد، چند بایت اول هر داده ای را که بعد از ایجاد ارتباط به برد ارسال می گردد، جدا می نماید. چناچه برنامه ای بر روی برد در حال اجرا باشد، در زمان شروع برنامه می تواند تنظیمات اولیه و یا سایر داده ها را دریافت کند. توجه داشته باشید نرم افزاری که قرار است با برد آردوینو ارتباط برقرار کند، می بایست حداقل بعد از یک ثانیه تأخیر پس از برقراری ارتباط، نسبت به ارسال اطلاعات اقدام نماید.
Uno شامل یک مسیر می باشد که با قطع آن می توانید ریست خودکار را غیر فعال نمایید. این دو نقطه در طرفین این مسیر می توانند دوباره با لحیم کاری به یکدیگر متصل شوند، تا مجدداً ریست خودکار فعال گردد. این قسمت با برچسب"RESET-EN" مشخص شده است. همچنین شما می توانید با اتصال یک مقاومت 110 اهم از پین 5 ولت به پین ریست، سیستم ریست خودکار را غیر فعال نمایید. برای اطلاعات بیشتر این موضوع را در انجمن مشاهده کنید.
برد آردوینو Uno دارای یک پلی فیوز قابل ریست جهت محافظت از پورت USB کامپیوتر شما در مقابل افزایش یا کاهش جریان می باشد. علاوه بر این بیشتر کامپیوترها سیستم محافظت داخلی خودشان را دارند و این فیوز صرفاً یک لایه حفاظتی مجزا را فراهم می نماید. چناچه بیش از 500 میلی آمپر جریان از پورت USB گرفته شود، فیوز به صورت خودکار تا زمان متعادل شدن جریان ارتباط را قطع می نماید.
حداکثر طول و عرض PCB برد Uno به ترتیب 6.86 و 5.33 سانتی متر می باشد که با احتساب کانکتور USB و پاورجک، ابعاد اصلی آن افزایش می یابد. چهار سوراخ موجود بر روی برد به شما اجازه می دهد که برد را برروی یک سطح یا جعبه پیچ نمایید. توجه کنید که فاصله بین پین های دیجیتال 7 و 8 برابر 160 میلی متر (0.16 اینچ) و فاصله بین سایر پین ها 100میلی متر می باشد.