آموزش آردوینو مبتدی – جلسه دوم

1
Rate this post

در قسمت اول آموزش آردوینو برای مبتدیان نکات پایه ای که باید قبل از شروع به کار آردوینو یادبگیرید توضیح داده شد. در قسمت قبل همچنین اجزای مختلف برد آردوینو UNO تشریح شد و نصب گام به گام نرم افزار Arduino IDE ( محیط یکپارچه توسعه  آردوینو ) را با هم بررسی کردیم. در قسمت دوم از مجموعه آموزش آردوینو مبتدی می خواهیم شروع کار با آردوینو و ساخت اولین پروژه را با پلتفرم متن باز آردوینو تجربه کنیم.

 

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

برد آردوینو UNO R3 به همراه کابل USB

 

قطعات مورد نیاز جلسه دوم آموزش

  • برد آردوینو uno r3
  • کابل USB A-B ( پرینتری )

 

 

در این قسمت از آموزش مقدماتی آردوینو متوجه خواهید شد که یادگیری آردوینو چه قدر شیرین و لذت بخش است. حتی اگر برنامه نویسی را بلد نیستید در پایان این جلسه نه تنها اولین پروژه ی خودتان را ساخته اید بلکه می توانید برنامه را تحلیل کنید.

 

 

آشنایی با نرم افزار Arduino IDE

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

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

 

همان طور که می بینید محیط نرم افزار آردوینو بسیار ساده و شبیه اکثر برنامه های ویندوزی است. قسمت بالای برنامه آردوینو، مانند اغلب برنامه های ویندوزی منو ها را در برمیگیرد که شامل منو های File – Edit – Sketch – Tools و Help می شود. در ادامه مراحل آموزش هر زمان به کار با منویی نیاز داشته باشید، آن منو برای شما توضیح داده خواهد شد.

 

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

آموزش نرم افزار آردوینو

بر روی این نوار ۶ عدد دکمه مشاهده می کنید که از این پس هر روز و هر ساعت با این دکمه ها کار خواهید کرد. عملکرد دکمه ها به ترتیب از چپ به راست به این صورت است.‌ با نگه داشتن ماوس روی هر یک از این دکمه ها نام دکمه در همین نوار به شما نشان داده می‌شود.

 

کاربرد دکمه ها در نرم افزار آردوینو:

  • دکمه Verify ( دکمه Verify - نرم افزار آردوینو ) : این دکمه که با علامت یک تیک نمایش داده شده است، برنامه نوشته شده شما را بررسی می کند و در صورت اینکه خطایی در برنامه شما وجود داشته باشد در قسمت مشکی رنگ پایین پنجره برنامه آردوینو به شما نمایش می دهد.
  • دکمه Upload ( دکمه Upload - آموزش مقدماتی آردوینو ) : این دکمه که با یک فلش به سمت راست نمایش داده شده است، برنامه نوشته شده شما را پس از بررسی و تبدیل به کد های قابل برنامه ریزی روی میکروکنترلر، از طریق کابل USB به برد آردوینو انتقال می دهد یا اصطلاحا برنامه شما را روی برد آردوینو آپلود می کند. اگر برد آردوینو شما به درستی به کامپیوتر متصل نشده باشد و این دکمه را فشار دهید، خطای “Problem uploading to board.” به شما نمایش داده می شود.
  • دکمه New ( دکمه New - شروع کار با نرم افزار آردوینو ) : هر بار که بر روی این دکمه کلیک کنید یک پنجره آردوینو جدید برای شما باز می شود و می توانید یک برنامه جدید را از صفر شروع به برنامه نویسی کنید.
  • دکمه Open ( دکمه Open - نرم افزار آردوینو ) : با کلیک کردن روی این دکمه می توانید برنامه های قبلی که نوشته اید و ذخیره کرده اید، یا برنامه های آردوینویی که دانلود کرده اید را در محیط نرم افزار IDE آردوینو باز کنید.
  • دکمه Save ( آموزش آردوینو به زبان ساده ) : با کلیک کردن روی دکمه Save مانند سایر نرم افزار ها می توانید برنامه ی آردوینو نوشته شده را بر روی حافظه کامپیوترتان ذخیره کنید و هر زمان نیاز داشتید، بوسیله ی دکمه Open مجددا آن را باز کنید.
  • دکمه Serial Monitor ( نرم افزار آردوینو - Serial Monitor ) : این دکمه مربوط به یکی از ابزار های پرکاربرد در نرم افزار آردوینو به نام سریال مانیتور است. به کمک ابزار سریال مانیتور می توانید پس از برنامه ریزی، برد آردوینو را به کامپیوتر متصل کنید و اطلاعات و دستوراتی را از طریق این ابزار بین کامپیوتر و آردوینو رد و بدل کنید. به عنوان مثال می توانید دما را با استفاده از برد آردوینو از سنسور دما بخوانید و با استفاده از سریال مانیتور دما را بر روی صفحه مانیتور مشاهده کنید.

 

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

قسمت سفید‌رنگی که در وسط پنجره آردوینو مشاهده می کنید و بزرگترین قسمت موجود در پنجره است، ادیتور برنامه نویسی (Sketch Editor) است. برنامه آردوینو ( Sketch ) را باید در این قسمت بنویسید.

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

این مطلب را از دست ندهید:  آموزش آردوینو برای مبتدیان - جلسه اول

 

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

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

هر برنامه آردوینو باید دارای دو قسمت setup و loop باشد. قسمت setup تنظیمات مورد نیاز شما را مشخص می کند و هر بار که آردوینو خاموش و روشن می شود فقط برای یک بار اجرا می شود تا برد آردوینو مطابق نیاز شما تنظیم شود. مثلا اگر میخواهیم پین شماره ۹ برد اردوینو را به عنوان خروجی استفاده کنیم باید در این قسمت به آردوینو بگوییم پین شماره ۹ خروجی است.

قسمت loop ، پس از اینکه دستورات و تنظیمات قسمت setup در زمان روشن شدن آردوینو اجرا شدند، تا زمانی که آردوینو روشن است از خط اول تا آخر اجرا می شود و وقتی به آخر رسید مجددا از خط اول اجرا می شود. یعنی تا زمانی که آردوینو روشن است کدهای این قسمت به ترتیب و در یک حلقه بسته اجرا می شوند. به عنوان مثال اگر میخواهید اطلاعات یک سنسور دما را بخوانید در این بخش به آردوینو میگویید: اطلاعات سنسور دما را بخوان – روی LCD نمایش بده – یک ثانیه صبر کن! با این کار آردوینو دما را میخواند و نمایش می دهد یک ثانیه صبر میکند و مجددا این روند را برای میلیون ها بار تا زمانی که روشن است تکرار می کند و به این ترتیب هر وقت دمای سنسور تغییر کند آردوینو طی مدت یک ثانیه دمای جدید را روی LCD نمایش می دهد.

 

دستورات آردوینو بسیار ساده و شبیه زبان انسان هستند. دقت کنید دستورات هر قسمت باید بین علامت {} همان قسمت قرار بگیرد.

 

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

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

بعد از اینکه برد آردوینو UNO R3 را از طریق کابل USB به کامپیوتر یا لپ تاپ خود متصل کردید، چند ثانیه صبر کنید ( اولین بار پس از اتصال کابل ممکن است شناخته شدن برد ۲۰ الی ۶۰ ثانیه برای کامپیوتر زمان ببرد) پس از این مدت به نرم افزار آردوینو مراجه کنید و از منو Tools قسمت Port مطابق تصویر زیر Arduino Uno را انتخاب کنید.

انتخاب برد آردوینو در نرم افزار آردوینو

حالا همه چیز برای شروع نوشتن اولین برنامه آردوینو آماده است.

 

شناخت اجزای مورد استفاده

در این قسمت میخواهیم اولین برنامه Arduino را با ساخت یک LED چشمک زن شروع کنیم. برای ساخت این پروژه در مرحله اول از LED روی برد آردوینو استفاده خواهیم کرد و به این ترتیب برای این پروژه آردوینو فقط برد Arduino Uno R3 را نیاز داریم. برد آردوینو UNO R3 بر روی خود ۴ عدد LED ریز از نوع SMD دارد. که در تصویر زیر نمایش داده شده است.

LED های روی برد آردوینو UNO

همان‌طور که در تصویر بالا مشاهده می کنید روی برد Arduino Uno R3 چهار عدد LED SMD وجود دارد که با رنگ زرد نمایش داده شده اند. کاربرد هر یک از این ۴ ال ای دی در زیر توضیح داده شده است.

کاربرد LED های موجود روی برد آردوینو UNO

  • LED وضعیت برد (ON/PWR): این LED در قسمت سمت راست تصویر بالا با فاصله بیشتری از ۳ LED دیگر قرار گرفته است. در کنار این LED عبارت PWR یا ON بر روی برد آردوینو اونو چاپ شده است. وظیفه ی این ال ای دی نمایش وضعیت تغذیه برد آردوینو Uno است. زمانی که تغذیه برد متصل باشد و تغذیه به میکروکنترلر روی برد برسد این LED روشن می شود. این LED نشان می دهد برق رسانی به برد به خوبی انجام شده است و برد روشن است.
  • LED دریافت سریال (RX) :‌ این LED که با علامت RX روی برد نمایش داده شده است، نمایشگر دریافت اطلاعات به صورت سریال توسط میکروکنترلر است. زمانی که از طریق USB یا از طریق پین های سریال اطلاعاتی توسط میکروکنترلر روی برد دریافت شود این LED چشمک می زند.
  • LED ارسال سریال (TX) :‌ این LED با علامت TX روی برد مشخص شده است و زمانی که میکروکنترلر روی برد اطلاعاتی را به صورت سریال برای کامپیوتر یا یک وسیله دیگر ارسال کند چشمک می زند.
  • LED قابل برنامه نویسی ( L ): این LED با فاصله کمی در بالای جفت LED های TXو RX نصب شده است و توسط شما در نرم افزار آردوینو قابل کنترل است. این LED به پین شماره ۱۳ برد آردوینو متصل است. پین ۱۳ آردوینو در نرم افزار آردوینو با نام انحصاری LED_BUILTIN نیز شناخته می شود و شما می توانید در پروژه های خود از این پین استفاده کنید.
این مطلب را از دست ندهید:  جلسه سوم آموزش مقدماتی آردوینو - خواندن مقادیر آنالوگ

تشریح عملکرد برنامه چشمک زن آردوینو

همانطور که توضیح داده شد، پین شماره ۱۳ آردوینو به LED روی برد متصل است.

برای ساخت یک چشمک زن ساده با آردوینو باید دستورات زیر را بر روی آردوینو اجرا کنیم. دقت کنید پین های آردوینو می توانند چند حالت داشته باشند. به طور کلی پین های آردوینو می توانند خروجی ( OUTPUT )  یا ورودی ( INPUT ) باشند. از ورودی ها برای دریافت مقادیر از محیط بیرون و از خروجی ها برای تاثیر گذاری بر محیط بیرون استفاده می کنیم. پین های خروجی می توانند دو وضعیت دیجیتال یک یا روشن ( HIGH ) یا صفر یا خاموش ( LOW ) داشته باشند. که در صورت HIGH بودن ولتاژ این پین ها ۵ ولت و در صورت LOW بودن ولتاژ ۰ ولت خواهد بود.

 

# تنظیمات اولیه برنامه چشمک زن (Setup) :
  1. پین شماره ۱۳ را به خروجی تبدیل کن.

 

# حلقه اصلی برنامه چشمک زن (Loop) :
  1. ولتاژ پین ۱۳ را به ۵ ولت ( HIGH ) برسان. ( LED روشن می شود )
  2. ۱۰۰ میلی ثانیه صبر کن ( DELAY ). ( مدت زمان روشن ماندن LED بر حسب میلی ثانیه )
  3. ولتاژ پین ۱۳ را به ۰ ولت ( LOW ) برسان. ( LED خاموش می شود)
  4. ۱۰۰ میلی ثانیه صبر کن ( DELAY ). ( مدت زمان خاموش ماندن LED بر حسب میلی ثانیه )

به علت اینکه این دستورات در Loop یا حلقه اصلی برنامه قرار دارند، پس از اجرا شدن خط ۴ بلافاصله مجددا برنامه از خط ۱ اجرا می شود و این روند تا زمانی که آردوینو روشن است ادامه پیدا میکند.

برنامه چشمک زن

حالا بیایید همین الگوریتم نوشته شده در بالا را به زبان Arduino بازنویسی کنیم.

# تنظیمات اولیه برنامه چشمک زن (Setup) :
  1. pinMode(13,OUTPUT);
# حلقه اصلی برنامه چشمک زن (Loop) :
  1. digitalWrite(13,HIGH);
  2. delay(100);
  3. digitalWrite(13,LOW);
  4. delay(100);

حالا این برنامه را در داخل محیط برنامه نویسی آردوینو مینویسیم. به کوچک و بزرگ بودن حروف نوشته شده توجه کنید. آردوینو از استاندارد camelCase برای خوانایی بیشتر نام دستورات استفاده می کند. به طور مثال دستور pinMode از ترکیب دو کلمه pin و mode تشکیل شده که زمانی که به هم میچسبند حرف اول کلمه دوم باید با حروف بزرگ نوشته شود و به صورت pinMode به معنای “وضعیت پین” است. دقت کنید اگر به صورت pinmode یا PinMode بنویسید دستور را اشتباه نوشته اید و برنامه با خطا مواجه می شود. در برنامه آردوینو کلماتی مانند INPUT،OUTPUT یا HIGH,LOW نیز وجود دارند که مقادیر ثابت از پیش تعریف شده ای هستند که برای ساده تر شدن برنامه نویسی ایجاد شده اند. این عبارت حتما باید با حروف بزرگ نوشته شوند. به عنوان مثال HIGH در آردوینو به معنی ۱ و LOW به معنی ۰ است اما برای اینکه کاربر مجبور نباشد بنویسد digitalWrite(13,0) یا digitalWrite(13,1) از این عبارات استفاده می شود تا برنامه نویسی بیشتر به زبان انسان شبیه باشد تا زبان ماشین.

بنابراین این نکته ساده را به خاطر داشته که آردوینو به حروف بزرگ و کوچک حساس است.

 

دقت کنید زمانی که یک برنامه جدید آردوینو باز می کنید یک خط در قسمت setup و یک خط در قسمت loop مشاهده می کنید که در ابتدای این خطوط دو عدد اسلش ( // ) قرار داده شده است. در نظر داشته باشید خطوطی که با // شروع می شوند، توضیحات برنامه نویس هستند و به منظور خواناتر شدن کد ها برای انسان ها نوشته می شوند و در برنامه تاثیری ندارند و میتوان آنها را حذف کرد.

کد های بالا را به شکل زیر در محیط برنامه نویسی آردوینو بنویسید.

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

آپلود برنامه روی برد UNO

سپس روی دکمه آپلود ( دکمه Upload - آموزش مقدماتی آردوینو ) کلیک کنید تا برنامه به زبان ماشین تبدیل شود و روی میکروکنترلر بارگذاری شود. ممکن است حدود ۱۰ ثانیه این کار به طول بیانجامد. زمانی که LED های TX و RX روی برد چشمک زدند و خاموش شدند و پیام Done uploading را مانند تصویر زیر در نرم افزار آردوینو رویت کردید به این معنی است که برنامه با موفقیت تبدیل و بارگذاری شده است.

 

بارگذاری کامل برنامه

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

 

آردوینو را تجربه کنید ( LOOP )

بیایید کمی با آردوینو بیشتر سر و کله بزنیم! الان LED شما ۱۰۰ میلی ثانیه خاموش و ۱۰۰ میلی ثانیه روشن است. یعنی هر ثانیه ۵ بار خاموش و روشن می شود.

بیایید کاری کنیم LED به مدت ۲۰۰ میلی ثانیه روشن و ۸۰۰ میلی ثانیه خاموش باشد، برای اینکار کد های قسمت Loop را به شکل زیر تغییر می دهیم.

  1. digitalWrite(13,HIGH);
  2. delay(200);
  3. digitalWrite(13,LOW);
  4. delay(800);
این مطلب را از دست ندهید:  جلسه سوم آموزش مقدماتی آردوینو - خواندن مقادیر آنالوگ

 

سپس روی دکمه Upload کلیک کنید تا برنامه شما تبدیل شود و روی برد آردوینو بارگذاری شود. پس از انجام بارگذاری مشاهده می کنید که LED شما هر ثانیه به مدت ۲۰۰ میلی ثانیه روشن می شود. شما یک ثانیه شمار نوری درست کردید الان می توانید با شمارش دفعات روشن و خاموش شدن LED ثانیه ها را به دقت اندازه گیری کنید.

خب این هم از اولین تجربه برنامه نویسی آردوینو شما. با کم و زیاد کردن مقادیر و تغییر در برنامه سعی کنید برنامه های متفاوتی درست کنید. شاید فکر کنید با این LED که کاری نمیشه کرد! اما اگه یکم خلاق فکر کنیم میبینیم که با همین LED یه میلیمتری میشه حداقل ده تا پروژه مختلف نوشت! باورتون نمیشه؟ کم کم با این پروژه ها آشنا میشید. “

در ابتدای این مطلب آموزشی تفاوت قسمت Setup و Loop را برای شما توضیح دادم. اما اگر علاقه مند باشید به صورت عملی این تفاوت را به شما نشان می دهم. همین برنامه نوشته شده را مطابق تصویر زیر از قسمت loop کات (cut) کنید و در قسمت setup قرار دهید ( paste کنید ). حالا برنامه را روی برد آردوینو آپلود کنید.

 

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

خب پس از اتمام برنامه نویسی به برد آردوینو نگاه کنید. منتظر هستید LED چشمک بزند؟! برد شما خراب نشده است نگران نباشد. یکبار دکمه Reset برد را که در کنار کانکتور USB قرار دارد فشار دهید. مشاهده می کنید LED شما یکبار روشن و خاموش می شود و دیگر روشن نمی شود! دلیل اینکار خارج کردن کدهای برنامه از حلقه اصلی برنامه ( loop ) است. با انتقال کد ها به قسمت setup کدهای شما فقط یکبار آن هم در زمان روشن شدن یا ریست شدن میکروکنترلر ( مغز متفکر برد ) اجرا می شوند. برای اینکه مطمئن شوید برنامه و برد شما به درستی کار می کند برنامه قسمت setup را به شکل زیر تغییر دهید.

  1. pinMode(13,OUTPUT);
  2. delay(2000);
  3. digitalWrite(13,HIGH);
  4. delay(200);
  5. digitalWrite(13,LOW);
  6. delay(800);
  7. digitalWrite(13,HIGH);
  8. delay(200);
  9. digitalWrite(13,LOW);
  10. delay(800);

مطابق شکل زیر کدهای بالا را در قسمت setup قرار دهید.

 

آموزش برنامه نویسی آردوینو - جلسه دوم

 

حالا برنامه را روی برد آردوینو آپلود کنید و منتظر نتیجه باشید! برای تکرار نتیجه کلید ریست را فشار دهید. با بارگذاری این برنامه، آردوینو پس از اینکه روشن شد، پین ۱۳ را به پین خروجی تغییر وضعیت می دهد. سپس دو ثانیه منتظر می ماند که در این حالت LED خاموش است. بعد از آن LED 200 میلی ثانیه روشن سپس ۸۰۰ میلی ثانیه خاموش و مجددا ۲۰۰ میلی ثانیه روشن و بعد از آن خاموش می شود و دیگر روشن نمی شود. حالا به خوبی متوجه تفاوت بخش setup و loop شده اید! شاید فکر کنید این بخش چقدر بی مصرف و به درد نخور است! اما این طور نیست. بخش setup کد هایی را اجرا می کند که فقط یک بار در شروع برنامه به آنها نیاز داریم. مثلا اینکه تعریف کنیم پین ۱۳ خروجی است. شاید فکر کنید چرا این کار را در قسمت loop برنامه آردوینو انجام ندهیم؟! جواب ساده است چون با این کار هر بار که loop اجرا می شود، دستور تبدیل وضعیت پین ۱۳ به خروجی اجرا می شود و به اندازه چند پالس کلاک ( چند میکرو ثانیه ) وقت پردازنده را میگیرد. با زیاد شدن این دستورات، CPU برد شما مدت زمان زیادی را صرف انجام امور غیر ضروری کرده و در یک برنامه پیچیده موارد این چنینی سرعت برنامه را به شدت پایین می آورند.

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

 

جمع بندی دومین جلسه آموزش آردوینو

در اینجا جلسه دوم از آموزش آردوینو مبتدی را به پایان می رسانیم. تا اینجا شما با پلتفرم آردوینو آشنا شده اید، سخت افزار آردوینو UNO را می شناسید و با محیط برنامه نویسی آردوینو آشنا هستید. امروز شما اولین برنامه آردوینو خود را نوشته اید. امیدوارم از این آموزش به قدر کافی لذت برده باشید. در صورتی که مشکل، پیشنهاد یا انتقادی در مورد این آموزش داشتید لطفا در قسمت نظرات پایین همین نوشته مطرح کنید. فراموش نفرمایید این جلسه از آموزش آردوینو با صرف حدود ۸ ساعت وقت آماده شده است تا تقدیم شما عزیزان شود و نظرات شما باعث دلگرمی ما در ادامه مسیر است. اگر شما هم ۳ دقیقه از وقت گران‌بهای خود را صرف کنید و نظرتان را در مورد این مطلب بنویسید من و همکارانم در دیجیـ نیکـ بسیار خوشحال خواهیم شد و  حتما از نظرات گران‌بهای شما عزیزان در جهت بهبود کیفیت و کمیت مطالب استفاده خواهیم نمود. پیشاپیش از لطف شما سپاسگزارم

 

 

1 نظر
  1. محمود پیری می گوید

    دست تون درد نکنه خیلی عالیه.انشالله موفق باشین.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.