برد آردوینو 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 متصل شده است. زمانی که این خط آزاد می شود