تحلیل و بررسی برد آردوینو نانو Arduino Nano
آردوینو یکی از برد های مطرح و پر طرفدار میکروکنترلر است. که دارای ورودی و خروجی متفاوتی روی برد می باشد. آردوینو یک برد همه کاره است و می توانید از کارهای ساده تا پیچیده را با یک برد آردوینو انجام دهید. برد آردوینو نانو Arduino NANO با تراشه CH340G یک برد کوچک بر پایه آی سی ATmega328 می باشد.
برد آردوینو نانو Arduino nano
برد آردوینو نانو Arduino NANO با تراشه CH340G یک برد کوچک، کامل و نمونه مساعدی بر اساس ATmega328 (Arduino nano 3.x) و یا ATmega168 (Arduino nano 2.x) می باشد. برد آردوینو نانو Arduino NANO با تراشه CH340G قابلیت های کم یا زیادی مشابه با Arduino Dueminalove می باشد، اما دارای بسته بندی های متفاوت است. این Arduino فاقد جک تغذیه DC بوده و از یک کابل USB (Mini-B) به جای کابل استاندارد استفاده می کند. آردوینو Nano توسط Gravitech طراحی و ساخته شده است. خرید برد آردوینو نانو Arduino NANO با تراشه CH340G
خلاصه ویژگیهای برد آردوینو نانو Arduino Nano
میکروکنترلر | پروگرامر ATmega168 و یا ATmega328 |
ولتاژ مورد نیا برای راه اندازی میزان منطقی |
5 V |
ولتاژ ورودی آنچه به شما توصیه می شود |
7 - 12 V |
ولتاژ ورودی محدودیت ولتاژ | 6 - 20 V |
پین های دیجیتال 1/0 | 14 عدد که 6 عدد از آن ها خروجی PWMهستند |
پین های ورودی آنالوگ |
8 عدد |
جریان DC هر پین I/0 |
40 mA |
حافظه فلش | 16kb یا 32kbکه 2kb از هرکدام برای bootloader استفاده می شود. |
SRAM | 1kb برای ATmega168 و یا 2kb برای ATmega328 |
EEPROM | 512 بایت برای ATmega168 و یا 1kb برای ATmega3258 |
سرعت ساعتی | 16 MHz |
ابعاد | 0.73”*170” |
وزن | 5 گرم |
تغذیه برد آردوینو نانو Arduino Nano
برد آردوینو نانو Arduino NANO با تراشه CH340G می تواند با اتصال کابل USB (Mini-B)، منبع قدرت خارجی غیر قابل تنظیم 6-20v (پین 30) و یا توسط منبع قدرت خارجی تنظیم شده 5v تغذیه شود. منبع قدرت به طور خودکار بالاترین ولتاژ را انتخاب می کند.
حافظه برد آردوینو نانو Nano
ATmega168، 16kb از حافظه فلش مموری را برای ذخیره سازی کد استفاده می کند. که 2kb آن برای bootloader استفاده می شود و ATmega328 دارای 32kb که 2kb از آن برای bootloader استفاده می شود. ATmega168 دارای 1kb از حافظه SRAM و 512 بایت از EEPROM می باشد که می تواند توسط کتابخانه EEPROM خوانده شود؛ ATmega328 هم دارای 2kb از حافظه SRAM و 1kb از حافظه EEPROM می باشد.
پینهای ورودی و خروجی I/O آردوینو نانو Nano
هریک از 14 پین دیجیتال در Nano می توانند به عنوان ورودی یا خروجی استفاده شوند، با استفاده از توابع PinMode، DigitalWrite و DigitalRead. آنها در 5v عمل می کنند. هر یک از پین ها می توانند تامین و یا دریافت حداکثر 40 میلی آمپر را داشته باشند. همچنین دارای یک مقاومت داخلی که به طور پیش فرض قطع است بین 20 تا 50 کیلواهم می باشد. علاوه بر این برخی پین های توابع تخصصی در زیر آورده شده اند: Serial پین های: 0 (RX) و 1 (RT). برای دریافت (RX) و انتقال (TX) داده های سریال TTL استفاده می شود. این پین ها به پین های مربوطه از FTDI تراشه سریال USB-TTL متصل می شوند. وقفه خارجی: 2 یا 3.این پین ها می توانند به صورتی تنظیم شوند که یک وقفه را را براساس اندکی افزایش یا کاهش لبه، و یا هر نوع تغییر در مقدار، ایجاد نمایند. PWM: پین های 3،5،6،9،10 و11. 8 بیت از خروجی PWM را با تابع anslogWrite ارائه می دهد. SPI: پین های 10 (SS)، 11 (MOSI)، 12 (MISO) و 13 (SCK). این پین ها ارتباطات SPI را پشتیبانی می کنند که هرچند در زمینه سخت افزار ارائه شده اند، در حال حاضر در زبان Arduino گنجانده نشده است. LED: 13. یک LED متصل به پین دیجیتال شماره 13 وجود دارد. هنگامی که پین در وضعیت HIGH قرار دارد، LED روشن وزمانی که در وضعیت LOW باشد، خاموش است. Nano دارای 8 ورودی آنالوگ می باشد که هرکدام 10 بیت از نتیجه را ارائه می دهند. به طور پیش فرض آن ها از زمین تا 5v اندازه گیری می شوند هرچند ممکن است به تغییر انتهای بالای دامنه خود با استفاده از تابع analogReference منجر شود. پین های آنالوگ 6 و 7 نمی توانند به عنوان پین های دیجیتال استفاده شوند. علاوه بر این برخی از این پین ها دارای قابلیت های اختصاصی می باشند. I2C: پین های A4 (SDA) و A5 (SCL). با استفاده از Wire library (اسناد و مدارک در وب سایت Wiring)، I2C (TWI) از ارتباطات پشتیبانی می کند. AREF: مرجع ولتاژ برای ورودی های آنالوگ می باشد. Reset: وضعیت لاین مرتبط را برای ریست میکروکنترلر در حالت Low قرار می دهد، معمولاً زمانی از این پین استفاده می شود که بخواهید بر روی شیلدتان دکمه ریست قرار دهید. زیرا استفاده از شیلدها از دسترسی به دکمه ریست موجود بر روی برد آردوینو جلوگیری می کند.
ارتباطات روی برد آردوینو نانو Nano
برد آردوینو نانو Arduino NANO با تراشه CH340G شامل امکاناتی می باشد که ارتباط با کامپیوتر، سایر بردهای آردوینو، و یا دیگر میکروکنترلرها را مقدور می سازد.ATmega168 و ATmega328 ارتباطات سریال UART TTL در 5v را ارائه می دهند که برای پین های دیجیتال 0 (RX) و 1 (TX) در دسترس می باشند. FTDI FT232RL در کانال های برد ارتباطات این سریال از طریق USB و درایورهای FTDI همراه با نرم افزار Arduino، نرم افزار روی کامپیوتر را به یک پورت مجازی COM مجهز می کنند. نرم افزار Arduino شامل یک مانیتور سریال است که اجازه می دهد داده های متنی ساده ارسال و یا از برد Arduino خارج شود. هنگامی که داده ها از طریق تراشه FTDI و ارتباط USB به کامپیوترمنتقل می شوند اما برای ارتباطات سریال پین های 0 و 1 اینگونه نیست، LEDهای TX و RX بر برد فلش خواهند زد. کتابخانه Software Serial اجازه ارتباط با هر پین دیجیتال Nano را می دهد. ATmega168 و ATmega328 همچنین از ارتباطات I2C (TWI) و SPI پشتیبانی می کند. نرم افزار Arduino شامل یک کتابخانه سیم می باشد که استفاده از I2C را آسان تر می کند.
برنامه نویسی با کامپایلر آردوینو Arduino IDE
برد آردوینو نانو Arduino NANO با تراشه CH340G می تواند با نرم افزار Arduino برنامه نویسی شود. ATmega168 و یا ATmega328 بر روی Arduino Nano همراه با bootloader می آیند که به شما اجازه می دهد کد جدید را بدون نیاز یه یک برنامه نویس اضافه آپلود کنید. این ارتباطات با استفاده از پروتکل اصلی STK500 برقرار می شود. شما همچنین می توانید bootloader را کنار زده و برنامه ریزی میکروکنترل را از طریق هدر ICSP برنامه نویسی سریال در مدار با استفاده از Arduino ISP و یا مشابه آن انجام دهید. برای مشاهده جزئیات بیشتر به دستورالعمل آن مراجعه کنید.
تنظیم خودکار نرم افزار Arduino IDE
بیشتر از نیاز فیزیکی برای فشردن دکمه تنظیم مجدد قبل از آپلود، Arduino Nano به گونه ای طراحی شده که اجازه می دهد توسط نرم افزار درحال اجرا متصل به کامپیوتر، تنظیم مجدد انجام شود. یکی از خطوط سخت افزاری خط های کنترل جریان (DTR) از FT232RL، اتصال به خط تنظیم مجدد ATmega168 و یا ATmega328 توسط خازن 100 نانوفارادی می باشد. هنگامی که این خط کم شد، خط تنظیم مجدد به اندازه کافی پایین آمده تا تراشه را تنظیم مجدد کند. نرم افزار Arduino با استفاده از این قابلیت به شما اجازه می دهد که کد مورد نظر خود را به سادگی و با فشردن یک دکمه در محیط Arduino آپلود کنید. بدان معنی که bootloader می تواند ایست کوتاه تری داشته باشد تا به هنگام کاهش DTR بتواند به خوبی هماهنگ با شروع آپلود باشد.
این روش راه اندازی پیامدهای دیگری هم دارد. هنگامی کهNano متصل به هریک از کامپیوترهای درحال اجرا با سیستم عاملSox یا Linux باشد، هر زمان که اتصالی از طرف نرم افزار برقرار باشد، بازنشانی می شود. برای نیمه دیگر کار و یا بیشتر، bootloader درNano در حال اجرا می باشد. همچنین به گونه ای برنامه ریزی شده که از داده های ناقص چشم پوشی کند (هرچیزی در کنار آپلود کردن کد جدید). این مسئله از ارسال چند بایت اولیه از داده ها که پس از اتصال فرستاده می شوند، جلوگیری می کند. اگر در زمان ابتدای شروع برنامه درحال اجرای روی برد یکبار به پیکربندی و یا داده های دیگر برسد، مطمئن شوید نرم افزاری که ارتباط دارد، ثانیه ای پس از برقراری اتصال و قبل از ارسال داده ها، توقفی داشته باشد.