نرم افزار آردوینو چیست ؟
به طور دقیق تر در پاسخ به سوال اینکه آردوینو چیست یک پلتفرم اوپن سورس و یا متن باز می باشد. متن باز را میتوان به نوعی روش و راهی برای طراحی دانست که در آن سازنده ی یک سخت افزار و یا یک نرم افزار، این امکان را برای کاربران فراهم می کند که بتوانند آن نرم افزار و یا سخت افزار را به روش دلخواه خود تغییر بدهند.
برای آشنایی بیشتر می توانید نرم افزار تلگرام را در نظر داشته باشید که یک نر افزار متن باز بوده و به همین دلیل انواع مختلفی مانند تلگرام طلایی، تلگرام اصلی و غیره از آن در بازار موجود است. اصلیترین اجزای برد اردوئینو میکروکنترلرها هستند که به عنوان مغز دستگاه عمل میکنند.
این میکروکنترلرها قابل برنامهریزی هستند تا با ورودیها و خروجیهای مختلف مانند حسگرها، دکمهها، LEDها، موتورها و موارد دیگر تعامل کنند. بردهای اردوئینو با اشکال و اندازههای مختلف و با تنوعی از پینهای ورودی و خروجی عرضه میشوند که به کاربران اجازه میدهد به آسانی قطعات الکترونیکی مختلف را متصل کنند. حال به طور کامل تر به بررسی تاریخچه، محصولات و ساختار برد آردوئینو میپردازیم.
ایده برد آردوینو سال ۲۰۰۵ و در یکی از کلاس های «موسسه طراحی تعاملی» (IDII) در «ایوریای» ایتالیا متولد شد. پایه توسعه این برد توسط دانشجویی کلمبیایی به نام «هرناندو باراگان» مطرح شد و بعدها توسط گروهی پنج نفره به رهبری ماسیمو بنزی رنگ حقیقت به خود گرفت.
نام این برد از تاریخچه پر فراز و نشیب ایوریا و یکی از پادشاهان آن به نام شاه آردوین برگرفته شده که در سال ۱۰۰۲ پس از میلاد بر این منطقه حکمرانی می کرد اما توسط حاکم آلمانی به نام «هنری دوم» برکنار شد. افراد محلی برای گرامیداشت یاد شاه آردوین یکی از کافههای این منطقه را آردوینو نام گذاری کرده اند و ماسیمو بنزی هم که زیاد به این محل رفت و آمد داشت همین نام را برای برد الکترونیکی انتخاب کرد.
بنزی که یک توسعه دهنده نرم افزار حرفه ای بود در سال ۲۰۰۲ به عنوان دانشیار در موسسه IDII استخدام شد تا روش های مبتکرانه طراحی تعاملی یا به عبارت دیگر محاسبات فیزیکی را تدریس کند. هرچند او ایده های خوبی در سر داشت اما زمان محدود کلاس و بودجه ناکافی مانع از پیاده سازی آنها می شد.
بنزی هم مثل دیگر همکارانش ناچار به استفاده از میکروکنترلر BASIC Stamp بود که یک دهه از عمر آن می گذشت و علی رغم پشتیبانی از زبان بیسیک و برخوردار بودن از اجزای ضروری؛ محدودیت های بسیاری داشت که از این می توان به توان محاسباتی ضعیف و قیمت بالا اشاره کرد.
قیمت این دستگاه با اجزای اساسی آن حدود ۱۰۰ دلار آب می خورد که ۲۰ سال قبل برای دانشجویان ایتالیایی گران به حساب می آمد. علاوه بر این بسیاری از کامپیوترهای IDII مکینتاش بودند و بنزی به بردی نیاز داشت که با آنها سازگاری داشته باشد.
بیشتر بخوانید: آی سی bga چیست ؟
از سوی دیگر در همین زمان زبان برنامه نویسی به نام «پراسسینگ» توسط یکی از همکاران بنزی در دانشگاه MIT طراحی شده بود که به خاطر سادگی، کارایی بالا در تصویر سازی داده ها و محیط توسعه یکپارچه یا IDE ساده به محبوبیت بالایی دست پیدا کرد. بنزی بسیار به این مفهوم علاقمند شده و روی توسعه نرم افزار مشابهی برای کدنویسی میکروکنترلرها تمرکز کرد.
یکی از دانشجویان بنزی به نام هرناندو با توسعه پلتفرم پروتوتایپ «وایرینگ» نخستین گام را در توسعه نرم افزار مشابه پراسسینگ برداشت. این پلتفرم شامل یک IDE کاربر پسند و مداری آماده بود. این پروژه کارامد از کار درآمد و هنوز هم از آن استفاده می شود اما بنزی رویای بزرگتری در سر داشت و به دنبال ایجاد پلتفرمی ساده تر، ارزانتر و کم حجم تر بود.
وی در نهایت با همکاری چهار نفر دیگر به نام های دیوید کوارتیس، تام ایگو، جیانلوکا مارتینو و دیوید ملیس در سال ۲۰۰۵ موفق به توسعه برد پروتوتایپ مورد نظرش شد و بعدا آن را آردوینو نامید.اردوينو منبع باز می شود.
سخت افزار منبع باز به قطعاتی اطلاق می شود که ساز و کار و نحوه پیاده سازی آن صریحا مشخص شده و همین مساله در مورد آردوینو نیز صدق می کند. این دستگاه از قطعات ارزانقیمتی تشکیل شده که همه می توانند آنها را به راحتی پیداکرده و برد خودشان را بسازند.
این پنج نفر از طرفداران سر سخت نرم افزار منبع باز بودند و از آنجا که هدفشان توسعه پلتفرمی ساده و سریع بود، تصمیم گرفتند به جای ایجاد اکوسیستمی بسته آنرا تا حد ممکن در دسترس همه قرار دهند.
یکی دیگر از مواردی که در منبع باز شدن آردوینو نقش داشت این بود که پنج سال پس از راه اندازی اولیه موسسه IDII در مرز ورشکستگی قرار داشت و توسعه دهندگان برای جلوگیری از تعطیلی یا بهره برداری مالی از آردوینو آن را کاملا منبع باز کردند.
مدل منبع باز اغلب برای ترغیب به نوآوری در نرم افزارها مورد استفاده قرار گرفته و در مورد سخت افزارها به ندرت کاربرد دارد. با این حال بنزی بر این باور بود که سخت افزار بخشی از هنر است و باید با دیگران به اشتراک گذاشته شود. بر همین مبنا توسعه دهندگان آردوینو از لایسنس گروهی غیرانتفاعی به نام «کرییتیو کامِنز» برای مشارکت دادن جامعه منبع باز در گسترش برد استفاده کردند.
یکی از مهمترین جنبه ها در گسترش آردوینو قیمت آن بود که بر اساس توافق گروه نباید از ۳۰ دلار بیشتر می شد. این افراد حتی به جنبه های ظاهری نیز اهمیت می دادند و در حالی که اغلب بردها به رنگ سبز طراحی می شدند، آنها رنگ آبی را به عنوان پایه طراحی انتخاب کرده و نقشه کوچک ایتالیا را در پشت مدار پیاده کردند.
به گفته «جیانلوکا مارتینو» توسعه آردوینو نتیجه دید جدید و تفکر خلاق درباره الکترونیک بود که راه را به کاربران نشان می داد و از اینرو در پیش گرفتن رویکرد مدرن و غیر سنتی در طراحی برد هم این دیدگاه را تکمیل می کرد.
یکی دیگر از ایده های توسعه دهندگان آردوینو این بود که اگر فرد علاقمند به الکترونیک باید از همان روز اول آموزش به یادگیری الکترونیک بپردازد نه اینکه ذهن او را با انبوهی از مفاهیم و فرمول های جبر خسته کرد. به باور آنها آردوینو گزینه ای ایده ال برای یادگیری الکترونیک از روز اول است.
هرچند با پرداخت چند دلار می توان بردهای آماده را تهیه کرده و با انجام تنظیمات ابتدایی از آن استفاده کرد. این در حالی است که مدل های دیگر از جمله BASIC Stamp کاربر را وادار به خرید اقلام دیگر می کنند که در نهایت به افزایش هزینه نهایی منجر می شود.
مدت کوتاهی پس از این ماجرا افراد بسیاری خارج از موسسه خواستار تهیه این برد شدند و نخستین مشتری نیز یکی از دوستان ماسیمو بنزی بود. شهرت پروژه رفته رفته بیشتر شد اما هنوز نامی برای تعیین نشده بود تا اینکه یک شب ماسیمو حین تفریح در کافه قدیمی نام آردوینو را برای آن انتخاب کرد.
همانطور که امروز می بینیم آردوینو بدون تبلیغات و بازاریابی و به لطف قیمت پایین، کارایی بالا و و مفهوم جدید DIY یا «خودت انجامش بده» در تمام دنیا گسترش یافته است.
انواع خانواده آردوینو چیست؟
به جرات میتوان گفت بهترین منبع برای آشنایی با خانواده آردویینو وبسایت این مجموعه با نشانی https://www.arduino.cc/ است. در این وبسایت به طور کامل میتوان از آخرین محصولات ارائه شده، بروزرسانی نرم افزار و کتابخانهها و همچنین پرسش و پاسخ پیرامون کار با محصولات این مجموعه بهره برد.
خانواده محصولات اردوئینو بسیار متنوع است به طوری که این موجموعه برای هر کاربرد عملیاتی، سنسوری، پردازشی و اینترنتی محصولات کاربردی روانه بازار الکترونیک کرده است.
در این بخش به برخی از محبوبترین خانوادههای بردهای اردويینو میپردازیم.
UNO
آردوینو UNO معروفترین و پرکاربردترین نوع آردوینو است. چرا؟ پاسخ ساده است؛ آردوینو UNO امکان برقراری اکثر روشهای ارتباطی با ماژولهای مختلف را فراهم میکند، تعداد معقولی از انواع پینها بر روی آن موجود است، سرعت پردازش مناسب و حافظه کافی برای بسیاری از کارهای ساده را دارد، تعداد زیادی برد توسعهای و مطالب بسیار زیاد آموزشی در مورد آن وجود دارد و در عین حال ابعاد نسبتا کوچک و قیمت پائینی دارد.
همه این موارد باعث شده است تا UNO اولین انتخاب افرادی باشد که میخواهند کار با آردوینو را شروع کنند. تمام بردهای آردوینو با UNO مقایسه میشوند و این برد به عنوان مرجع شناخته میشود
پردازنده مرکزی UNO میکروکنترلر ATmega328 با سرعت پردازش 16MHz دارای 32KB حافظه فلش و 2KB حافظه SRAM میباشد. این برد ١٤ پین دیجیتال که ٦ مورد آن قابلیت PWM دارند، ٦ ورودی آنالوگ و پینهای مجزا برای ارتباط از طریق پروتکل I2C و UART و هدرهای ICSP را در اختیار میگذارد.
بردهای آردوینو UNO در دو نوع معمولی و SMD موجود هستند که تنها تفاوت آنها در میکروکنترلر از نوع DIP یا SMD به کار رفته در آنها است. مزیت نوع DIP این بردها -که نوع مرسومتر آن است- این است که به راحتی میتوان میکروکنترلر این بردها را از آن جدا نمود و تعویض کرد. از آنجا که روند تولید قطعات SMD رو به افزایش است، نسخه SMD آردوینو UNO هم روز به روز بیشتر در دسترس است و این مزیت این نسخه است.
در شکل زیر دو نوع میکروکنترلر DIP (سمت راست) و SMD (سمت چپ) را بر روی برد آردوینو UNO مشاهده میکنید.
قلب پردازشی آردوینو Mega، یک تراشه ATmega2560 با فرکانس 16MHz و دارای 256KB حافظه فلش و 8KB حافظه SRAM است. Mega تعداد ٥٤ پین دیجیتال دارد که ١٥ مورد آن قابلیت PWM داشته و نیز ١٦ پین ورودی آنالوگ دارد. از مزایای Mega این است که برای هر نوع ارتباط پینهای مجزا به تعداد زیاد دارد. از این جمله میتوان به ١ رابط I2C، ٤ رابط UART و هدر ICSP اشاره کرد. Mega هم مانند UNO قابلیت تغذیه هم از طریق USB و هم از طریق فیش تغذیه را دارد. آردوینو مگا مدل ADK علاوه بر حالت قبل، دارای یک پورت USB اضافی برای اتصال به دستگاه های اندروید میباشد.
Due
آردوینو Due پرچمدار خانواده بزرگ آردوینو و قدرتمندترین مدل در بین آنهاست. اگر میخواهید پروژهای را انجام دهید که نیاز به قدرت پردازشی بالا، حافظه بیشتر و تعداد پین زیاد دارد، آردوینو Due گزینه مناسبی است. آردوینو Due بر خلاف اغلب بردهای آردوینو که از میکروکنترلرهای AVR استفاده میکنند، از یک میکروکنترلر بسیار سریع ARM 32-bit استفاده میکند که عملکرد آن را به شدت بهبود بخشیده است که البته این مسئله باعث شده است تا قیمت آن نسبت به بسیاری از بردهای آردوینو بیشتر باشد.
آردوینو Due دارای پردازندهی ARM Cortex-M3 با سرعت 84MHz و دارای 512KB حافظه فلش و 96KB حافظه SRAM میباشد. بر روی برد Due ٥٤ پین دیجیتال وجود دارد که ١٢ مورد آن توانایی پیادهسازی PWM را دارد. ١٢ ورودی آنالوگ، ٤ رابط ارتباطی UART، ٢ رابط I2C، هدر مخصوص ارتباط SPI، ٢ مبدل آنالوگ به دیجیتال و درگاه ارتباطی OTG است.
آردوینو Due (و نیز مدلهای لئوناردو، میکرو و فلورا) دارای رابط native USB میباشد، لذا این امکان وجود دارد تا کیبورد، ماوس و ... را شبیه سازی کنند. همچنین مدل Due از رابط CAN bus پشتیبانی میکند؛ به همین دلیل در کاربردهای مرتبط با وسایل نقلیه محبوبیت دارد. بر خلاف اکثر بردهای آردوینو، Due با ولتاژ 3.3v کار میکند و اتصال پینهای آن به ولتاژی بیش از این میتواند باعث خرابی Due شود.
MKR Vidor 4000
هرچند که نمیتوان قدرت آردوینو Due را انکار کرد، اما زمانی که نیاز به پرداش موازی اطلاعات داشته باشید، Vidor بیرقیب است. MKR یک خانواده از بردهای آردوینو است که همگی با پردازندههای قدرتمند ARM کار میکنند و Vidor که عضو این خانواده است، تنها مدل آردوینو بر پایه پردازنده FPGA است. این برد دارای قابلیتهای منحصر به فردی است که بسیار مناسب برای کارهای پردازش تصویر و سیگنال است. به دلیل قیمت بالا و کاربرد خاص آردوینو Vidor، تاکنون از این نسخه در ایران چندان استقبال نشده است.
بر روی برد Vidor یک پردازنده FPGA از نوع Intel Cyclone 10CL016 با سرعت 48MHz به همراه 2MB حافظه فلش و 8MB حافظه SDRAM و یک پردازنده ARM از نوع Cortex-M0+ با سرعت 48MHz، 256KB حافظه فلش و 32KB حافظه SRAM قرار گرفته است.
تنوع بسیار زیادی از ارتباطات مختلف مانند ماژول WiFi، Mini HDMI، Mini PCI Express، قابلیت ارتباط تا 7 ماژول از طریق UART، رابط SPI و I2C ،٢٢ رابط دیجیتال که همگی قابلیت PWM دارند، ٧ ورودی و ١ خروجی آنالوگ و درگاه اتصال با باطری Li-Po برای این برد در نظر گرفته شده است که همگی این موارد از Vidor یک برد شگفتانگیز ساخته ;است.
LilyPad
آردوینو LilyPad برای کاربردهای پوشیدنی و لباسهای هوشمند طراحی شده است. این آردوینو به منظور دوخته شدن به محصول طراحی شده است و با استفاده از نخ رسانا میتوان آن را به سایر اجزای قابل دوخت متصل کرد. این بردها به صورت یک دایره بنفش و شبیه به گل ساخته میشوند.
پینها روی این بردها سوراخهایی بزرگ و پوشیده از مس هستند. این طراحی به این دلیل است که نخ رسانا به سوراخها دوخته شده و تماس الکتریکی با مس پوشاننده گلبرگها ایجاد کند. این بردها برای پروژههایی که ترکیب الکترونیک با نساجی و پارچه است مناسب میباشد.
در واقع Lilypad یک خانواده از بردهای آردوینو است که با تعداد اتصالات و ابعاد مختلف تولید شدهاند. این مجموعه عموما به صورت مستقیم به رایانه متصل نمیشود و برای این کار باید از یک رابط USB-Serial مانند ماژولهای FTDI استفاده کنید.
این مجموعه شامل Lilypad Main Board، Lilypad Simple، Lilypad USB، Lilypad SimpleSnap و Lilypad Tiny میشود. شکل دایرهای Lilypad و چیدمان پینهای آن که بر روی محیط دایره قرار گرفتهاند، آنرا بسیار مناسب برای جایگذاری در لباسها کرده است.
بر روی Lilypad Main Board میکروکنترلر ATmega168 و یا ATmega328 نصب شده است که دارای 32KB حافظه فلش و 2KB حافظه SRAM بوده و قادر است برنامهها را با سرعت 8MHz اجرا کند. این نسخه از Lilypad ٢٠ پین دیجیتال دارد که ٦ تای آن PWM را پشتیبانی میکند و همچنین ٦ پین آنالوگ دارد. جالب است که تمام این موارد بر روی یک دایره به قطر ٥ سانتیمتر گنجانده شده است!
Nano
تقریبا میتوان گفت آردوینو Nano نمونه کوچک شده آردوینو UNO است. Nano یک گزینه بسیار خوب برای انجام پروژههای با محدودیت فضا یا وزن است. در این نسخه علاوه بر کوچک کردن ابعاد برد، پایههای پینها و درگاه منبع تغذیه نیز حذف شده است تا یک برد با ابعاد فوقالعاده کوچک تولید شود. وزن ٧ گرمی و ابعاد ١٨ در ٤٥ میلیمتری این برد نشان میدهد که طراحی Nano تا چه حد موفق بوده است.
آردوینو Nano از نسخه ٣ به بعد، از همان میکروکنترلر ATmega328 که در آردوینو UNO استفاده شده است، بهره میبرد؛ بنابراین این برد نیز دارای پردازشگر 16MHz با 32KB حافظه فلش و 2KB حافظه SRAM است. تعداد پینهای ارتباطی Nano از UNO هم بیشتر است! این برد ٨ پین ورودی آنالوگ و همچنین ١٤ پین دیجیتال دارد که ٦ تای آن قابلیت PWM دارد. به علاوه Nano از رابطهای UART، SPI و I2C پشتیبانی میکند.
شیلدهای آردوینو
ماژولهای بسیار متنوعی وجود دارد که میتواند برای کاربردهای مختلف با آردوینو ترکیب شود. از آنجایی که بسیاری از ماژولها به صورت پیشفرض بر روی خود آردوینو نصب نیستند، دو روش کلی برای استفاده از ماژولها وجود دارد. روش اول استفاده از ماژولهای مجزا و اتصال آنها به آردوینو است؛ کاری که اکثر افراد انجام میدهند و شما نیز اگر قصد دارید با آردوینو کارهای مختلفی انجام دهید، این انتخاب منطقی است.
بزرگترین مشکل این روش سیمکشیهای زیاد و نیاز به ثابت کردن محل هر ماژول است. روش دوم استفاده از بردهای توسعهای یا همان شیلد (Shield) ها است. شیلدها بردهایی هستند که بر روی خود یک یا چند ماژول و تعدادی پین دارند به گونهای که دقیقا بر روی یکی از بردهای آردوینو سوار میشوند و مشکل سیمکشی های دست و پا گیر را برطرف کرده و همچنین قرارگیری آنها بر روی آردوینو به یکپارچگی پروژه کمک میکند.
انواع مختلفی از شیلدهای آردوینو مانند Ethernet، LCD، درایورها، USB، WiFi، GSM و ... وجود دارد که عمدتا بر روی بردهای UNO، Mega و MKR نصب میشوند. تصویر زیر یک شیلد درایور و نحوه سوار کردن آن بر روی آردوینو UNO را نشان میدهد.
معرفی بورد اردوئینو یونو UNO:
بردهای آردوینوی بسیار متنوعی وجود دارد که هر کدام برای کاربرد خاصی طراحی و ساخته شدهاند. با وجود تمام تفاوتهای این بردها، همه آنها از بخشهای مشترکی تشکیل شدهاند که برای پیادهسازی یک پروژه با آردوینو لازماند. اگر بخشهای مختلف آردوینو را بشناسید، بهتر میتوانید با آن کار کنید.
بیشتر بخوانید: سنسور چیست؟
موارد زیر، اجزایی اصلی هستند که تقریبا در تمام بردهای آردوینو موجود اند. برای نمونه، اجزای یک برد آردوینو UNO را بررسی میکنیم. سایر بردهای آردوینو نیز کم و بیش مشابهاند و با کمی دقت میتوانید شباهتها و تفاوتهای آن را پیدا کنید.
اتصال به رایانه
برای اتصال به رایانه در بردهای آردوینو استانداردهای مختلفی وجود دارد. آردوینو UNO از یک پورت USB (١) استفاده میکند در حالی که بعضی مدلها از miniUSB (مثل Nano) و برخی هم از microUSB (مثل Due) استفاده میکند. برخی هم کلا چنین درگاهی ندارند و باید با استفاده از پروتکل UART و یک رابط (مثلا رابط FTDI یا یک رابط USB-Serial یا یک آردوینوی دیگر) به رایانه وصل شود.
تغذیه (USB/ Barrel jack)
هر برد آردوینو به طریقی باید به منبع تغذیه متصل شود. آردوینو UNO به دو روش میتواند تغذیه شود. راه اول از طریق یک کابل USB و اتصال آن به رایانه و راه دوم با یک منبع تغذیه (مثلا یک آداپتور ٥ ولت ٢ آمپر) که به ترمینال Barrel jack وصل میشود. در شکل فوق اتصال USB (١) و ترمینال Barrel jack (٢) را مشاهده میکنید. برای اطلاع از میزان ولتاژ ورودی بردهای آردوینو، حتما قبل از استفاده، مشخصات فنی آن را مطالعه کنید.
همچنین، انتقال و بارگذاری برنامهها بر روی پردازنده برد آردوینو UNO از طریق همین اتصال USB انجام میشود. توجه شود که از منبع تغذیه بزرگتر از ١٢ ولت استفاده نکنید چراکه در صورت استفاده آردوینوی شما بیش از حد تغذیه خواهد شد و ممکن است خراب شود.
پینها
پینهای روی آردوینو مکانی هستند که شما سیمها را بهمنظور ساختن مدارات مختلف به آنها متصل میکنید (احتمالاً در اتصال از بردبورد و تعدادی سیم استفاده خواهید نمود). آنها معمولاً پلاستیک سیاهرنگی به نام "هدر" دارند که به شما اجازه میدهد تا فقط یک سیم را مستقیم به یک پین برد متصل کنید. آردوینو چندین نوع پین دارد که عنوان هر کدام بر روی برد نوشته شده و برای عملیات خاصی استفاده میشود.
- (٣) GND: مخفف زمین (Ground) است. معمولا یک یا چند (در UNO ٣ تا) پین GND روی آردوینو وجود دارد که ولتاژ صفر یا سر منفی مدار را تشکیل میدهد.
- (٤) 5v و 3.3v: همانطور که حدس میزنید، پین 5V، تغذیه 5 ولتی و پین 3.3V، تغذیه 3.3 ولت را فراهم میکند. بیشتر اجزای ساده و سنسورهایی که برای آردوینو استفاده میکنید با یکی از این دو ولتاژ کار میکنند که خیلی به راحتی انجام پروژههای شما کمک میکند.
- (٥) آنالوگ: ناحیهای از پینها که برچسب "Analog in" خورده است (از A0 تا A5 روی برد آردوینو UNO)، پینهای آنالوگ هستند. این پینها میتوانند سیگنالها را از یک سنسور آنالوگ بخوانند (مانند سنسور دما) و به مقادیر دیجیتالی که ما میتوانیم بخوانیم تبدیل کنند. دقت کنید که ولتاژی که به این پینها میدهید نباید بیشتر از ولتاژ کاری برد باشد، در غیر این صورت میتواند باعث آسیب به برد شود.
- (٦) دیجیتال: در ادامه پینهای آنالوگ پینهای دیجیتال وجود دارند (از ٠ تا ١٣ روی بردهای آردوینو UNO). این پینها میتوانند هم به عنوان ورودی و هم خروجیهای دیجیتال (صفر و یک) بکار گرفته شوند. در مورد پینهای دیجیتال هم لازم است که حداکثر ولتاژی که به آن اعمال میکنید را رعایت کنید.
- (٧) PWM: ممکن است شما متوجه علامت (~) در کنار برخی پینهای دیجیتال شده باشید (پینهای ٣, ٥, ٦, ٩, ١٠ و ١١ روی برد آردوینو UNO). این پینها به عنوان پینهای عادی دیجیتال عمل میکنند، اما علاوه بر آن میتوانند به منظور نوعی ارتباط به اسم مدولاسیون پهنای پالس (Pulse Width Modulation) یا PWM هم استفاده شوند. PWM نوعی ارتباط نیمه دیجیتال است که با استفاده از پین دیجیتال یک خروجی آنالوگ تولید میکند. در آردوینو، PWM مقداری بین ٠ تا ٢٥٥ را تولید میکند که ٢٥٥ به معنای ١٠٠% توان خروجی پین (در آردوینو UNO معادل 5V) است.
- (٨) AREF: بهعنوان پین آنالوگ مرجع شناخته میشود. بیشتر اوقات از این پین استفادهای نمیشود. گاهی اوقات برای تنظیم یک ولتاژ مرجع خارجی (بین ٠ تا ٥ ولت) بهعنوان حد بالای ورودی پینهای آنالوگ به کار میرود.
دکمه ریست
آردوینو یک دکمه ریست (٩) دارد. فشار دادن این دکمه بهطور موقت پین ریست را به زمین وصل میکند و هر کدی که در آردوینو بارگذاری شده است را از اول راهاندازی میکند.
اگر کد شما تکرار نمیشود این دکمه میتواند خیلی مفید باشد، اما برنامهها معمولاً چندین بار تکرار میشوند. معمولاً اگر کد و برنامه شما مشکل داشته باشد، برخلاف خیلی از دستگاهها در آردوینو با ریست کردن مشکلی حل نمیشود و باید کد را بررسی کرد.
LED تغذیه
پایینتر و در سمت راست کلمه “UNO” روی برد آردوینو، یک LED خیلی کوچک در کنار دکمه On (١٠) وجود دارد. هر زمان که شما آردوینوی خود را به هر منبع تغذیهای متصل کردید، این LED باید روشن شود. اگر این چراغ روشن نشد، احتمال دارد مشکلی وجود داشته باشد و وقت آن است که مدار خود را دوباره بررسی کنید.
TX RX LEDs
TX مخفف انتقال transmit و Rx مخفف دریافت receive است. در کارهای الکترونیکی این علامتها به معنای برقراری ارتباط سریال هستند. در مورد برد UNO، دو جا روی آردوینو این علائم ظاهر میشوند؛ یکی بهوسیله پینهای دیجیتال ٠ و ١ و دیگری کنار LED نشاندهنده TX و RX که با برچسب ١١ نشان داده شده است. این LEDها بهخوبی به ما نشان میدهند که چه زمانی آردوینوی ما در حال دریافت اطلاعات و یا انتقال اطلاعات است (مثلاً زمانی که ما در حال بارگذاری برنامه جدید روی برد هستیم).
IC اصلی
(١٢) این مورد یک IC، مدار مجتمع یا میکروکنترلر نام دارد. میکروکنترلر یک تراشه است که مغز متفکر برد محسوب شده و تمام محاسبات، پردازشها، تصمیمگیریها و برنامهها در این قطعه انجام میشود. IC اصلی در انواع مختلف بردهای آردوینو اندکی متفاوت است، اما معمولاً از خانواده میکروکنترلرهای Atmega شرکت Atmel میباشند. در مدلهای مختلف آردوینو میتوانید تنوعی از میکروکنترلرهای سری AVR، ARM و FPGA را پیدا کنید.
اطلاع از نوع این میکروکنترلر زمانی میتواند اهمیت پیدا کند که شما باید نوع IC خود (نوع برد آردوینو خود) را قبل از بارگذاری برنامه جدید در نرمافزار آردوینو بدانید. این اطلاعات را میتوانید در نوشتههای روی IC پیدا کنید. اگر اطلاعات بیشتری درباره انواع مختلف IC ها نیاز داشتید، خواندن کتابچه مشخصات قطعه میتواند بسیار کمککننده باشد. این تراشه شامل پردازنده، حافظه فلش و حافظه SRAM است.
- پردازنده: محلی است که تمام محاسبات برنامه در آنجا صورت میگیرد.
- حافظه فلش: حافظهای است که میکروکنترلر از آن برای ذخیره برنامهها استفاده میکند.
- حافظه SRAM: یک حافظه پرسرعت است که زمانی که برنامه در حال انجام است، میکروکنترلر، اطلاعات موقت را در آن ذخیره میکند.
تنظیمکننده ولتاژ
معمولا کاربران آردوینو به طور مستقیم با تنظیمکننده ولتاژ (١٣) روی برد کاری ندارند. اما اطلاع از مکان آن و اینکه چه کاربردی دارد میتواند مفید باشد. تنظیمکننده ولتاژ دقیقاً چیزی است که از نام آن مشخص است. این IC مقدار ولتاژی که وارد برد آردوینو میشود را کنترل میکند. این وسیله ولتاژ اضافی که ممکن است به مدار آسیب وارد کند را حذف میکند. البته محدودهی خودش را دارد؛ پس آردوینوی خود را به هیچ منبع تغذیهای با ولتاژی بیشتر از آنچه در مشخصات آردوینو ذکر شده وصل نکنید.
نرم افزار آردویینو
برد الکترونیکی اردوئینو به خودی خود یک برد ساده است که تنها خروجی و پایههای یک میکروکنترلر را در اختیار کاربر قرار میدهد. آنچه برد الکترونیکی آردوئینو را به یک برد کاربرپسند و مناسب برای انجام بسیاری از پروژها تبدیل کرده است نرم افزار و محیط کاربری توسعهیافته بسیار ساده و قابل استفاده آن است.
این محیط که تحت عنوان ARDUINO IDE در وبسایت این مجموعه قابل دانلود است به کاربر این امکان را میدهد با دسترسی به کانفیگهای از پیش طراحی شده و انواع کتابخانه توسعهیافته و بهبود یافته در زبان C++ و C برای سنسورها ماژولها و منابع مختلفبه سادگی پروژههای خود را انجام دهد.
نرمافزار اردوئینو یک محیط توسعه نرمافزاری (IDE - Integrated Development Environment) است که برای برنامهنویسی بردهای اردوئینو استفاده میشود. این نرمافزار به کاربران اجازه میدهد کدهای برنامهنویسی را بنویسند، کامپایل کنند و به بردهای اردوئینو ارسال کنند.
ویژگیها و امکانات اصلی نرمافزار اردوئینو عبارتند از:
- ویرایشگر کد: یک ویرایشگر متنی که به کاربران اجازه میدهد کدهای برنامهنویسی را بنویسند و ویرایش کنند. این ویرایشگر شامل تمرکز روی نحوه نمایش و تغییر رنگهای کدها برای راحتی کاربران است.
- کامپایلر: اردوئینو IDE دارای کامپایلری است که کدها را به زبان ماشینی برای میکروکنترلر بردهای اردوئینو تبدیل میکند.
- بارگذاری کد: با استفاده از اردوئینو IDE، کدهای کامپایلشده به بردهای اردوئینو ارسال میشوند تا میکروکنترلر آنها را اجرا کند.
- پایش خروجی و پیامها: نرمافزار اردوئینو به کاربر اطلاع میدهد که کد بدون مشکل کامپایل و بارگذاری شده است یا خیر. همچنین، خروجیهای سریال (Serial Monitor) امکان نمایش اطلاعات و پیامهای از میکروکنترلر را فراهم میکند.
- کتابخانهها: اردوئینو IDE دارای کتابخانههای نرمافزاری است که امکان استفاده از توابع آمادهای را به کاربر میدهد تا کدهای خود را سریعتر و آسانتر بنویسد.
نرمافزار اردوئینو رایگان و متنباز بوده و برای سیستمعاملهای مختلف از جمله ویندوز، مک، و لینوکس در دسترس است. با نصب این نرمافزار، کاربران میتوانند به راحتی پروژههای الکترونیکی خود را با استفاده از بردهای اردوئینو برنامهریزی و اجرا کنند.
این نرم افزار از بخش SOFTWARE در وبسایت اردوئینو قابل دانلود است.
سهولت استفاده از این محیط و وجود کتابخانههای بسیار متنوع و مثالهای آماده برای انواع ماژول و سنسور باعث محبوبیت این مجموعه نزد عموم کاربران شده است. این محیط کاربری بسیار به زبان انسان نزدیک شده است. بخش ریفرنس در قسمت داکیومنشن در وبسایت این مجموعه به سادگی و با مثال طریقه استفاده از هر کتابخانه و بخشهای داخلی را به کاربر آموزش میدهد.