آشنایی با ماژول آردوینو نانو

دوستان سلام! امیدوارم حالتون عالی باشه. در این مقاله قصد داریم به شما معرفی مفصلی از Arduino Nano ارائه کنیم. این یک برد میکروکنترلر است که توسط Arduino.cc توسعه یافته و بر اساس میکروکنترلر Atmega328p / Atmega168 ساخته شده است. اولین پروژه آردوینو در موسسه طراحی تعامل Ivrea در سال 2003 توسط David Cuartielles و Massimo Banzi با هدف ارائه راهی ارزان و انعطاف پذیر برای دانش آموزان و متخصصان برای یادگیری برنامه نویسی آغاز شد.

بردهای آردوینو به طور گسترده ای در رباتیک، سیستم های یکپارچه، اتوماسیون، اینترنت اشیا (IoT) و پروژه های الکترونیک استفاده می شوند. این بردها در ابتدا برای دانشجویان و کاربران غیر فنی معرفی شدند اما امروزه بردهای آردوینو به طور گسترده در پروژه های صنعتی مورد استفاده قرار می گیرند.

در اینجا شکلی است که نکات کلیدی آردوینو نانو را نشان می دهد:

مشخصات ماژول نانو

شماره.Nano مشخصاتمقدار
1میکروکنترلرAtmega328p
2اسیلاتور کریستالی 16MHz
3ولتاژ کاری 5V
4ولتاژ ورودی6V-12V
5ماکزیمم نرخ جریان 40mA
6USBType-B Micro USB
7ICSP هدربلی
8DC جک تغذیهخیر

پایه های ماژول نانو

شماره.شماره پایهتوصیف پایه
1D0 - D13پایه   های ورودی/خروجی دیجیتال
2A0 - A7پایه   های ورودی/خروجی آنالوگ
3پایه # 3, 5, 6, 9, 10, 11پایه   های مدولاسیون عرض پالس PWM 
4پایه # 0 (RX) , Pin # 1 (TX)پایه های ارتباط سریال
5پایه # 10, 11, 12, 13پایه   های ارتباط SPI
6پایه # A4, A5پایه   های ارتباطی I2C
7پایه # 13LED   روی برد
8D2 & D3پایه   های اینتراپت خارجی

آردوینو نانو سه نوع پروتکل ارتباطی را ارائه می دهد که در جدول زیر نشان داده شده است:

شماره.پروتکل های ارتباطیتوصیف
6Serial پورت1 (Pin#0 is RX, Pin#1 is TX).
7I2C پورت1 (Pin#A4 is SDA, Pin#A5 is SCL).
8SPI پورت1 (Pin#10 is SS, Pin#11 is MOSI, Pin#12 is   MISO, Pin#13 is SCK).

در اینجا جزئیات حافظه موجود در آردوینو نانو آمده است:

شماره.نوع حافظهمقدار
7Flash Memory32KB
8SRAM Memory2KB
7EEPROM1KB

مشخصات آردوینو نانو در جدول زیر آورده شده است

آردوینو نانو یک برد میکروکنترلر کوچک، کامل، انعطاف‌پذیر و سازگار با برد بورد است که بر اساس ATmega328p توسط Arduino.cc در ایتالیا در سال 2008 توسعه یافت و شامل 30 هدر ورودی/خروجی نری است که به سبک DIP30 پیکربندی شده‌اند.

این ماژول شامل 14 پین دیجیتال، 8 پین آنالوگ، 2 پین Reset و 6 پین پاور است.

Arduino Nano یک نسخه کوچکتر از Arduino UNO است، بنابراین هر دو تقریباً عملکردهای یکسانی دارند.

دارای ولتاژ کاری 5 ولت است، با این حال، ولتاژ ورودی می تواند از 7 تا 12 ولت متغیر باشد.

حداکثر نرخ جریان آردوینو نانو 40 میلی آمپر است، بنابراین بار متصل به پین های آن نباید جریانی بیشتر از آن بکشد.

هر یک از این پین های دیجیتال و آنالوگ دارای عملکردهای متعددی هستند، اما عملکرد اصلی آنها باید به عنوان ورودی/خروجی پیکربندی شود.

پین‌های آردوینو زمانی که با حسگرها در ارتباط هستند به عنوان پایه های ورودی تعریف می شوند، اما اگر قرار است باری را درایو ‌کنید، باید از آنها به‌عنوان پین خروجی استفاده کنیم.

توابعی مانند ()pinMode و ()digitalWrite برای کنترل عملیات پین های دیجیتال استفاده می شود در حالی که ()analogRead برای کنترل پین های آنالوگ استفاده می شود.

پین های آنالوگ دارای وضوح کلی 10 بیتی هستند که مقدار را از 0 تا 5 ولت اندازه گیری می کند.

آردوینو نانو دارای یک نوسان ساز کریستالی با فرکانس 16 مگاهرتز است که برای تولید یک فرکانس دقیق با استفاده از ولتاژ ثابت استفاده می شود.

یک محدودیت برای استفاده از آردوینو نانو وجود دارد، و آن اینکه با جک برق DC عرضه نمی شود، به این معنی که نمی توانید منبع تغذیه خارجی را از طریق باتری تامین کنید.

این برد از USB استاندارد برای اتصال با کامپیوتر استفاده نمی کند، و با میکرو USB نوع B عرضه می شود.

اندازه کوچک و طبیعت سازگار با برد بورد، این ماژول را به گزینه ای ایده آل برای اکثر کاربردهایی تبدیل کرده است که اندازه قطعات الکترونیکی مهم است.

حافظه فلش 16 کیلوبایت یا 32 کیلوبایت است که همه اینها به میکروکنترلر Atmega استفاده شده روی آن بستگی دارد، یعنی Atmega168 دارای 16 کیلوبایت حافظه فلش است در حالی که Atmega328 با فلش مموری 32 کیلوبایت عرضه می شود. فلش مموری برای ذخیره کد استفاده می شود. 2 کیلوبایت حافظه از کل حافظه فلش برای بوت لودر استفاده می شود.

حافظه SRAM  دوکیلوبایتی در آردوینو نانو وجود دارد.

آردوینو نانو دارای حافظه EEPROM 1KB است.

پایه های تغذیه ماژول نانو

Vin: ولتاژ منبع تغذیه ورودی به برد هنگام استفاده از منبع تغذیه خارجی 7 تا 12 ولت است.

5 ولت: ولتاژ منبع تغذیه تنظیم شده برد است که برای تغذیه کنترلر و سایر اجزای قرار داده شده روی برد استفاده می شود.

3.3V: این حداقل ولتاژ تولید شده توسط رگولاتور ولتاژ بر روی برد نانو است.

پین GND: اینها پین های زمین روی برد هستند.

پین های زمین متعددی روی برد وجود دارد که در صورت نیاز به بیش از یک پایه زمین، می توان آنها را بر این اساس به هم متصل کرد.

پین ریست: آردوینو نانو دارای 2 پایه Reset روی برد است که باعث می شود هر یک از این پین ها با اعمال LOW به میکروکنترلر آن را بازنشانی کند.

پین شماره 13: یک LED داخلی به پین شماره 13 برد نانو متصل است.

از این LED برای بررسی برد استفاده می شود، یعنی درست کار می کند یا خیر.

AREF: این پایه به عنوان ولتاژ مرجع برای ولتاژ ورودی استفاده می شود.

پین های آنالوگ: 8 پایه آنالوگ روی برد وجود دارد که با علامت A0 - A7 مشخص شده اند.

این پین ها برای اندازه گیری ولتاژ آنالوگ بین 0 تا 5 ولت استفاده می شوند.

Introduction to arduino nano, intro to arduino nano, pin diagram of arduino nano, applications of arduino nano, arduino nano pinout, difference between Arduino nano and Arduino uno, arduino nano specifications

پین های دیجیتال: آردوینو نانو دارای 14 پین دیجیتال است که از D0 تا D13 شروع می شود.

این پین های دیجیتال برای رابط سنسورها و ماژول های دیجیتال مرتبط با برد نانو استفاده می شود.

پین های PWM: آردوینو نانو دارای 6 پایه PWM است که پین های شماره 3، 5، 6، 9، 10 و 11 هستند. (همه پین های دیجیتال هستند)

این پین ها برای تولید سیگنال 8 بیتی PWM (مدولاسیون عرض پالس) استفاده می شوند.

وقفه های خارجی: پین شماره 2 و 3 برای ایجاد وقفه های خارجی استفاده می شود که معمولاً در مواقع اضطراری استفاده می شود، زمانی که ما نیاز به توقف برنامه اصلی و فراخوانی دستورالعمل های مهم داریم.

پس از فراخوانی و اجرای دستور وقفه، برنامه اصلی از سر گرفته می شود.

پین های سریال: این پین ها برای ارتباط سریال در موارد زیر استفاده می شوند:

پین شماره صفر RX است که برای دریافت داده های سریال استفاده می شود.

پین شماره یک Tx است که برای ارسال داده های سریال استفاده می شود.

پروتکل SPI: چهار پین 10 (SS-> Slave Select)، 11 (MOSI -> Master Out Slave In)، 12 (MISO -> Master In Slave Out) و 13 (SCK -> Serial Clock) برای پروتکل رابط چانبی SPI (سریال) استفاده می شود.

SPI یک گذرگاه رابط است و عمدتاً برای انتقال داده بین میکروکنترلرها و سایر تجهیزات جانبی مانند سنسورها، ثبات‌ها و کارت‌های SD استفاده می‌شود.

پروتکل I2C: ارتباط I2C با استفاده از پین های A4 و A5 ایجاد می شود، جایی که A4 نشان دهنده خط داده سریال (SDA) است که داده ها را حمل می کند و A5 نشان دهنده کلاک سریال (SCL) است که که اینکلاک توسط دستگاه اصلی برای همگام سازی داده ها بین دستگاه ها در یک گذرگاه I2C تولید می شود. 

برنامه نویسی و ارتباطات آردوینو نانو

برد نانو دارای قابلیت برقراری ارتباط با سایر کنترلرها و کامپیوترها می باشد.

ارتباط سریال توسط پین های دیجیتال، پین 0 (Rx) و پین 1 (Tx) انجام می شود که در آن از Rx برای دریافت داده و Tx برای انتقال داده استفاده می شود.

مانیتور سریال به Arduino IDE اضافه شده است که برای انتقال داده های متنی به یا از برد استفاده می شود.

درایورهای FTDI نیز در نرم افزار گنجانده شده است که به عنوان یک پورت ارتباط مجازی با نرم افزار عمل می کند.

پین‌های Tx و Rx دارای یک LED هستند که هنگام انتقال داده‌ها بین اتصال FTDI و USB به رایانه چشمک می‌زند.

کتابخانه سریال نرم افزار آردوینو برای برقراری ارتباط سریال بین برد و کامپیوتر استفاده می شود.

جدا از ارتباط سریال، برد نانو از ارتباطات I2C و SPI نیز پشتیبانی می کند. کتابخانه Wire در داخل نرم افزار آردوینو برای استفاده از گذرگاه I2C قابل دسترسی است.

آپلود کد در آردوینو نانو بسیار ساده است، زیرا نیازی به استفاده از پروگرامر خارجی برای کامپایل و نوشتن برنامه در کنترلر نیست و همچنین می توانید با استفاده از ICSP (هدر برنامه نویسی سریال درون مدار) کد را آپلود کنید.

نرم افزار برد آردوینو به همان اندازه با ویندوز، لینوکس یا مک سازگار است، با این حال، استفاده از ویندوز ترجیح داده می شود.

آردوینو یونو در مقابل آردوینو نانو

هر دو آردوینو یونو و آردوینو نانو دارای عملکردهای یکسانی هستند و تفاوت کمی از نظر طرح PCB، اندازه و قالب دارند.

Arduino Uno یک برد میکروکنترلر مبتنی بر Atmega328 است و دارای 14 پین دیجیتال ورودی/خروجی است که 6 پایه آن PWM هستند. 6 پین آنالوگ در برد تعبیه شده است. این برد همه چیز مورد نیاز برای پشتیبانی از میکروکنترلر مانند اتصال USB، جک پاور، نوسان ساز 16 مگاهرتز، دکمه تنظیم مجدد و هدر ICSP را دارد. برای اینکه بورد کار کند، به یک وسیله جانبی اضافی نیاز ندارید.

این یک ماژول کاملا آماده برای استفاده است که برای به دست آوردن تجربه عملی با آن به هیچ مهارت فنی قبلی نیاز ندارد. برای شروع می توانید آن را با استفاده از جک برق DC، باتری یا به سادگی با استفاده از کابل USB به رایانه وصل کنید.

آردوینو نانو در مقایسه با آردوینو یونو کوچک و فشرده است. فاقد جک برق DC است و به جای USB معمولی از Mini USB پشتیبانی می کند. همچنین، برد نانو دارای دو پایه آنالوگ اضافی یعنی 8 پین در مقایسه با 6 پایه آنالوگ در برد Uno است. برد نانو به نان برد سازگار است در حالی که برد Uno فاقد این ویژگی است.

با این حال، هر دو دستگاه با ولتاژ 5 ولت کار می کنند و دارای نرخ جریان 40 میلی آمپر و فرکانس ساعت 16 مگاهرتز هستند.

کاربردهای ماژول نانو

پروژه های دانشجویان مهندسی.

تجهیزات پزشکی

اتوماسیون صنعتی

برنامه های اندروید

پروژه های مبتنی بر GSM

سیستم های جاسازی شده

اتوماسیون و رباتیک

اتوماسیون خانگی و سیستم های دفاعی

کاربردهای واقعیت مجازی