پایه ها در آردوینو – آموزش آردوینو جلسه سوم

قراره با پایه ها در آردوینو آشنا بشیم و اولین پروژه ی آموزش رو هم ببندیم.

بی مقدمه بریم سراغ مطلب:

انواع پایه ها در آردوینو:

پایه ها در آردوینو 2 نوع هستند.پایه های دیجیتال  و آنالوگ .

پایه ها در آردوینو - Arduino pins

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

تابع pinMode :

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

 

(زبان کدهامون گفتیم شبیه به زبون c/c++ هست ، پس باید حواستون به حروف کوچیک و بزرگ باشه چون کامپایلر به حروف کوچیک و بزرگ حساسه و هرکدوم رو یک معنی تشخیص میده)

در این تابع:

pin: شماره پایه

mode: حالت پایه است که به صورت ورودی INPUT یا خروجی OUTPUT تعریف میشه.

 

مثلا:

توی کد زیر پایه ی 13 رو به اسم ledPin معرفی کردیم و توی خط بعد خروجی تعریفش کردیم:

 

پول آپ (pull up) وپول دون (pull down) پایه ها در آردوینو

در حالت خروجی امپدانس پایه ها در حالت پایین قرار میگیرند . خب یعنی پایه ها می تونند جریان تا حدود 40mA بدن که برای روشن کردن یک LED کافیه. اما برای راه اندازی رله یا موتور حتما باید از تقویت کننده های جریان مناسب استفاده کنیم.توجه داشته باشید که اگر زیادی  از پایه ها جریان بکشید ، ممکنه ترانزیستور های داخلی پایه ها بسوزه یا حتی باعث سوختن کامل تراشه بشه. پس بهتره با سری کردن یک مقاومت 220 اهم یا یک کیلو اهم جریان خروجی رو محدود میکنیم.

در حالت ورودی پایه ها امپدانس بالایی نشون میدن (حدود 100 مگا اهم) و وقتی نمونه برداری میکنید و مثلا از یک سنسور سیگنال میگیرین جریان کمی رو از مدار میکشه که اون رو برای ارتباط با انواع سنسورها مناسب میکنه.

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

چون پول آپ خارجی شبیه به میکرو ها و قطعات دیگه ی الکترونیکه ، اینجا فقط پول آپ داخلی رو معرفی میکنیم، که اکثر مواقع همین روش هم بهترین روشه.

پول آپ داخلی پایه ها در آردوینو:

تابع digitalWrite :

در پایه های آردوینو پول آپ داخلی با دستور digitalWrite انجام میشه:

 

در تابع فوق

pin: شماره پایه

value :با دو مقدار HIGH (فعال کردن مقاومت بالاکش یا پول آپ) و یا LOW (غیرفعال کردن مقاومت بالاکش یا پول دون) انجام میشه.

اگر پایه ها را به صورت خروجی تعریف کنیم، HIGH به معنای یک شدن 5V و LOW به معنای صفر شدن 0V پایه هستش.

خواندن مقدار پایه ی دیجیتال در آردوینو : تابع ()digitalRead :

خواندن مقدار پایه ی دیجیتال هم با تابع digitalRead() انجام میشه که شماره پایه ی دیجیتال رو به صورت ورودی میگیره و صفر یا یک بودنش رو به صورت خروجی تحویل میده.

 

وقتشه از چند تا پروژه ساده شروع کنیم کارکردن  با آردوینو رو.

اینکه این نرم افزارو از کجا دانلود کنیم توی بخش نرم افزار مطلب: آموزش برنامه نویسی آردوینو – جلسه اول : معرفی آردوینو گفته شد.

توی ورژن های قدیمی آردوینو باید بعد از نصب IDE ، بعد از اتصال برد به کامپیوتر صبر میکردین تا درایور از اینترنت دانلود بشه! اما توی ورژن های اخیر همراه با نرم افزار درایور ها هم بدون دردسر نصب میشن! اگه شما هم مثل من آردوینو UNO خریدین ، بعد اتصال اون به کامپیوتر 2 تا LED میبینید که روشن میشه، یکی دائمی و یکی هم حالت چشمک زن .

Led ای که با حالت دائمی روشنه نشانگر روشن بودن برد و اتصال VCC هستش و اون چشمک زنه ، هم به پایه ی 13 بردتون وصله که شرکت برای تست برد روی اون یک برنامه ریخته و به شما سالم بودن بردتون رو گوش زد میکنه ، این Led بجز روی برد UNO روی بردهای Zero  و  Mega هم وجود داره.

اگه بردتون رو بار اول نیست به کامپیوتر وصل میکنید . خودتون میتونید برنامه ی Blink زیر رو روی بردتون بریزید تا این عمل چشمک زدنِ led  پایه ی 13 رو ببینید.

 

خروجی این برنامه توی نرم افزار شبیه ساز پروتئوس این شکلی میشه:

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

برای ریختن هر برنامه ای روی برد آردوینو باید به 2 تا نکته حتما توجه کنید.

  • پورتی که بردتون از طریق USB به اون متصل شده رو به IDE معرفی کنید .
  • اسم دقیق بردتون رو به IDE معرفی کنین.

که براتون نحوه ی انجام هر 2 کار رو توی تصاویر زیر نشون دادم.

معرفی port com متصل به پایه های آردوینو

معرفی پورت متصل شده به برد آردوینو

بعد از نوشتن کد و تنظیم port و مشخص کردن مدل بردتون توی نرم افزار باید اون رو با استفاده از کلید های زیر ، کد رو کامپایل کنید و روی آردوینو بریزید:

آردوینو

با زدن کلید verify اول از شما میخواد که پروژه رو سیو کنید، بعد کد شمارو خطایابی میکنه. اگر صحیح بود که هیچی، اگر نبود باید ارور هایی رو که میده رفع کنید. بعد از رفع ارور ها با زدن گزینه آپلود (فلش) کد شما روی برد ریخته میشه!

بریم سراغ توضیحات برنامه ای که نوشتیم!

به کدی که بالا نوشتیم و شما توی محیط IDE نوشتین توجه کنید:

برنامه نویسی تووی آردوینو 3 بخش کلی داره ،

  1. پیش پردازنده ها
  2. حلقه setup
  3. حلقه loop

 

 

پیش پردازنده ها:

توی بخش پیش پردازنده ها مثلا کتابخونه هامون رو صدا میزنیم یا متغیرهایی که محلی نیستن رو تعریف می کنیم.(توی کد بالا این کارو کردیم)

حلقه ی setup:

توی بخش setup  کارهایی که باید یکبار انجام بشه رو تعریف میکنیم، مثلا یکبار لازمه که بگیم پایه ها ورودی یا خروجی باشن، یا مثلا به برد میگیم که میخوایم از سریال استفاده کنیم(سریال رو بعدا توضیح میدم چیه).

حلقه ی loop:

و حلقه ی loop  که یک حلقه بی نهایته و کارهایی که میخوایم همیشه انجام بشه رو اونجا مینویسیم، مثلا اگر قرار باشه یک دماسنج به برد وصل کنیم  این کار نیاز به این داره که تمامی لحظات ،آردوینو دما رو از دماسنج بگیره و به ما نشون بده! در نتیجه باید توی حلقه بی نهایت عمل خوندن اطلاعات رو انجام بدیم تا  این عمل در هر لحظه انجام بشه!( اینطوری همیشه انجام میشه اما اگر توی Setup بنویسیم فقط یکبار این کار انجام میشه که بدرد نمیخوره و متوجه تغییرات نمیشیم).

اگر دم دستتون LED دارین (یا شبیه سازی) میتونید Led رو بین یک پایه ی دیجیتال دیگه و زمین (پایه ی GND ) وصل کنید و بجای عدد 13 ، عدد اون پایه رو قرار بدین و چشمک زدن پایه هایی غیر 13 روهم تست کنید و ببینید.

delay هم که تابع تاخیره ، و هرعددی که داخل پرانتزش بنویسید بر حسب میلی ثانیه بین روشن و خاموش بودن فاصله میندازه.

 

و پروژه دوم که توضیح نمیدمش تا خودتون تحلیلش کنید، اما اگر سوالی درموردش داشتین بپرسین:

 

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

 

دانلود فایل پروتئوس پروژه

امیدوارم مفید بوده باشه. موفق باشید

حمیدرضا مودت

یک مهندس الکترونیک ، علاقه مند به یاد دادن و یاد گرفتن پیرامون دانش برق و الکترونیک

شما ممکن است این را هم بپسندید

6 پاسخ‌ها

  1. محمد گفت:

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

    • حمید گفت:

      سلام
      آره تغریبا میشه ولی خب دقت کافی نداره و باگ زیاد دارن کتابخونه های مختلفی که من امتحان کردم ، بهتره کلا عملی ببنیدن ولی اگر کتابخونه هاشو میخواین سرچ کنین چند تایی هستن…

  2. ابوالفضل مرادیان عقداء گفت:

    سلام
    عالی بود.
    موفق باشید.

    یاعلی (ع) مدد

    یاحق

  3. نیما گفت:

    مهندس آموزش هاتون عالی هستن.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

از لوینیک حمایت کنید