آردوینو چیست؟

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

برد آردوینو به تمام قطعات الکترونیکی مورد نیاز برای راه اندازی میکروکنترلر روی یک PCB مجهز شده است. همچنین دارای ویژگی های مفید دیگری مانند پین های ورودی/خروجی، یک پورت USB برای ارتباط بین آردوینو و یک کامپیوتر، و یک کانکتور برق 9 ولت DC است.

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

آردوینو در مؤسسه طراحی تعامل Ivrea به عنوان ابزاری آسان برای نمونه‌سازی سریع متولد شد، که هدف آن دانش‌آموزان بدون پیش‌زمینه الکترونیک و برنامه‌نویسی بود. به محض اینکه کاربران بیشتری از آردوینو استفاده کردند، برد آردوینو برای انطباق با نیازها و چالش‌های جدید شروع به تغییر کرد و از بردهای ساده 8 بیتی به محصولاتی برای انواع برنامه‌های کاربردی اینترنت اشیا، پوشیدنی‌ها، پرینت سه بعدی و محیط‌های نهفته embedded متمایز کرد.

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

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

نصب نرم افزار IDE آردوینو

برای نصب نرم افزار روی کامپیوتر می توانید از این لینک استفاده کنید:
https://www.arduino.cc/en/software

فرایند نصب این IDE ساده است و همه مراحل را پشت سر هم می توانید انجام دهید.

اتصال برد آردوینو به کامپیوتر

پس از نصب IDE باید برد خود را به به کامپیوتر متصل کنیم تا بتوانیم برنامه هایی را که می نویسیم روی آن پروگرام کنیم. یکی از ویژگی های مهم آردوینو عدم نیاز به پروگرامر است. چون روی اکثر آنها آی سی تبدیل سریال به USB تعبیه شده که اجازه می دهد برنامه ها را به حافظه میکروکنترلر منتقل کنیم.

اما چون این برد منبع باز است تولیدکننده های مختلف با مشخصات مختلف اقدام به تولید بردهای آردوینو می کنند و به همین علت ممکن است آی سی های تبدیل سریال به USB متفاوتی در ساخت آنها به کار رفته باشد که باید بنابر مدل آی سی درایورش را نصب نمایید.

به طور مثال برای بردهایی که از آی سی های مبدل سری CH340 استفاده می کنند لازم است درایور را از لینک زیر دانلود و نصب کنید:
https://www.wch-ic.com/downloads/CH341SER_ZIP.html

همچنین حتما موقع خرید آردوینو به کانکتور USB آن دقت کنید و کابل متناسب با کانکتور را خریداری نمایید.

با اتصال برد به کامپیوتر اگر درایور به درستی نصب شده باشد توسط سیستم عامل شناسایی خواهد شد و در IDE باید در منوی Tools روی زیرمنوی Port کلیک کنیم و پورت متصل به آردوینو را انتخاب نماییم:

arduino IDE

برنامه و مدار چشمک زن با آردوینو

حالا می توانیم اولین برنامه خود را بنویسیم. به عنوان اولین برنامه قصد داریم یک LED را که به یکی از پایه های خروجی آردوینو متصل است روشن و خاموش کنیم، یعنی به طور مرتب چشمک بزند.در این مثال از آردوینو UNO استفاده کرده ایم. آردوینو UNO محبوب ترین برد در خانواده آردوینو است. این برد از تراشه ATmega328p استفاده می کند و دارای 32 کیلو بایت حافظه برنامه فلش، 2 کیلو بایت SRAM و 1 کیلو بایت EEPROM است.پین های 0 تا 13 پین های دیجیتالی GPIO هستند. پین های A0 تا A5 علاوه بر اینکه پین های دیجیتالی GPIO هستند، به عنوان پایه های ورودی آنالوگ نیز استفاده می شوند.پین های دیجیتال 3، 5، 6، 9، 10 و 11 دارای پشتیبانی سخت افزاری PWM هستند.مدار چشمک زن ما به شکل زیر است:

arduino led

یکی دیگر از خصوصیات هر برد آردوینو این است که با ولتاژ 5 ولت کار می کند یا 3.3 ولت. ممکن است این مورد روی خود برد قید شده باشد. اگر قید نشده بود و فروشنده هم اطلاعات را ارایه نکرده بود می توانید به راحتی یکی از پایه ها را خروجی کنید و مقدار آن را high کنید. در این صورت با اندازه گیری ولتاژ این پایه با ولت متر متوجه خواهید شد که برد شما با چه ولتاژی کار می کند.

در این مثال ما یک مقاومت 220 اهم برای محدود کردن جریان عبوری از LED و جلوگیری از سوختن آن به پایه 2 آردوینو متصل کرده ایم.

حالا به سراغ برنامه می رویم. وقتی یک برنامه جدید ایجاد می کنیم برنامه پیش فرض زیر نمایش داده می شود:

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

قسمت setup برای انجام تنظیمات و قسمت loop حلقه اصلی اجرای برنامه است. به برنامه های آردوینو اسکچ sketch هم گفته می شود. برنامه را به صورت زیر تکمیل می کنیم:

int led = 2;

void setup() {
  pinMode(led, OUTPUT); 
}

void loop() {
  digitalWrite(led, HIGH); 
  delay(1000); 
  digitalWrite(led, LOW); 
  delay(1000); 
}

با کامپایل و آپلود برنامه روی آردوینو می بینید که LED با فاصله زمانی 1 ثانیه روشن و خاموش می شود.

برای این کار باید ابتدا روی دکمه Verify و بعد روی دکمه Upload کلیک کنید.

arduino compile

در اولین خط متغیری به نام led از نوع int با مقدار 2 را مقداردهی اولیه می کند. این متغیر برای ذخیره شماره پین آردوینو که به LED است استفاده می شود.

در تابع setup قصد داریم با استفاده از تابع pinMode پین 2 را به عنوان پایه خروجی پیکربندی کنیم.

در خط زیر تابع pinMode برای پیکربندی شماره پین ذخیره شده در متغیر led به عنوان پایه خروجی استفاده می شود.

pinMode(led, OUTPUT)

در حلقه ()loop، تابع digitalWrite برای روشن کردن LED با تنظیم ولتاژ پایه 2 روی HIGH استفاده می شود. سپس از تابع delay برای توقف برنامه به مدت 1000 میلی ثانیه (1 ثانیه) استفاده می شود. پس از آن، تابع digitalWrite دوباره برای خاموش کردن LED با تنظیم ولتاژ پایه 2 روی LOW استفاده می شود. سپس، تابع delay دوباره برای توقف برنامه برای 1000 میلی ثانیه (1 ثانیه) دیگر استفاده می شود. این فرآیند به طور نامحدود تکرار می شود و باعث می شود LED هر ثانیه روشن و خاموش شود.

چند نکته مهم در مورد زبان برنامه نویسی آردوینو

زبان برنامه نویسی آردوینو با اقتباس از C++ ساخته شده است.

کدهای داخل هر تابع یا حلقه ای باید بین {} قرار بگیرند.

در پایان دستورات هر خط باید از علامت ; استفاده نمود.

برای اضافه کردن کامنت تک خطی به برنامه می توان از // استفاده کرد.

برای اضافه کردن کامنت چند خطی متن کامنت را بین  /*           */ قرار می دهیم.

در برنامه بعدی با ورودی دیجیتال آردوینو آشنا خواهیم شد.