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

اصول استفاده و برنامه نویسی کلید Button در پروژه‌های آردوینو

basic-for-button-in-arduino-programming-pullup-pulldown-digispark
نوشته شده توسط پریسا پوربلورچیان

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

 


کلید Switch یا Button


کلید یکی از تجهیزات مهم و کاربردی در پروژه های الکترونیک است و میتواند به عنوان ورودی عمل خاصی را انجام دهد. در پروژه چراغ مطالعه با آردوینو به کمک کلید اقدام به روشن و خاموش کردن چراغ مطالعه می‌کنیم. برای تازه کاران در ابتدا ممکن است کار با کلید با وجود سادگی بسیار پیچیده باشد. به عنوان مثال با یک بار فشردن کلید ممکن است آردوینو چند بار آن را دریافت کند و در خروجی مدام ۰ و ۱ ارسال کند که عملا ایجاد خطا در برنامه نویسی و عملکرد پروژه می‌کند که برای رفع مشکل بایستی از قابلیت دیبانسینگ در آردوینو استفاده کرد. با اتصال مستقیم بیزر به پایه های آردوینو ممکن است نتیجه ای که در خروجی مشاهده می‌کنید با وضعیت کلید درآن لحظه تفاوت داشته باشد که برای اینکار از یک مقاومت برای Pullup و Pulldown بیزر استفاده می‌شود. روش استفاده از کلید بسیار آسان است. در صورتیکه از کلید دو پایه استفاده می‌کنید یک پایه به صورت دلخواه به پایه دیجیتال آردوینو و پایه دیگر با یک مقاومت بین ۱ تا ۱۰ کیلو Pullup , pulldown به زمین GND و یا VCC متصل می‌شود. در صورتیکه از کلید های چهار پایه استفاده می‌کنید، فقط دو پایه متقارن استفاده می‌شود.

در این تصویر پایه های کلید ۴ پایه مشخص شده است. پایه های ۱ و ۳ به هم متصل و پایه های ۲ و ۴ به هم متصل است.

 

در کلید دو پایه یکی از پایه ها برای تغذیه و دیگری برای ارسال داده استفاده می‌شود.

برنامه نویسی کلید Button در آردوینو - دیجی اسپارک

 

پایه های کلید Button چهار پایه - دیجی اسپارک

 

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

روش قرار گیری میکروسوئیچ چهارپایه در برد برد - دیجی اسپارک

 


استفاده از مقاومت داخلی PULLUP پایه‌های آردوینو


پایه‌های آردوینو از مقاومت داخلی به صورت Pullup ساخته شده‌اند. به اینصورت که در حالت کلید باز به صورت ۱ و فعال و HIGH هستند و به VCC اتصال داده شده است. در این حالت در صورت غیر فعال شدن کلید یعنی بسته شدن خروجی صفر خواهد شد و در صورت کلید باز بودن خروجی یک خواهد بود که ما از این قابلیت با توجه به نیاز پروژه استفاده خواهیم کرد. به عنوان مثال میخواهید در ابتدای برنامه تمامی ورودی ها فعال باشد و پس از فشردن کلیدها  غیرفعال باشد. برای این مورد بایستی کلیدها را در وضعیت باز قرار دهید تا خروجی یک باشد. برای اینکار از مقاومت PULLUP بر سر راه مدار استفاده می‌کنیم.

استفاده از مقاومت داخلی PULLUP پایه‌های آردوینو - دیجی اسپارک

 

برای اتصال کلید به آردوینو مطابق تصویر بالا، کلید Button را بر روی برد بورد BreadBoard قرار دهید.

استفاده از مقاومت داخلی PULLUP پایه‌های آردوینو - دیجی اسپارک

 

در این تصویر کلید بدون استفاده از مقاومت به آردوینو متصل شده است. اضافه کردن مقاومت باعث می‌شود زمانیکه کلید فعال نشده است، ورودی به صورت اتوماتیک تشخیص دهد که کدام وضعیت را داشته باشد به عنوان مثال کلید در مرحله ی ۰ یا LOW باشد و یا ۱ و HIGH باشد. اما پایه های آردوینو به صورت پیش فرض از مقاومت Pullup داخلی استفاده می‌کنند و میتوانیم به صورت نرم افزاری از این ماهیت استفاده کنیم و نیازی به اضافه کردن مقاومت به صورت خارجی به مدار نیست. در تصویر بالا یکی از پایه های کلید به پایه شماره ۲ متصل شده است و پایه دیگر مستقیم به GND وصل است. برای استفاده از مقاومت داخلی پایه شماره ۲ آردوینو باید از مهارت کدنویسی استفاده کنیم. نرم افزار آردوینو را باز کرده و سپس کد را اجرا کنید. اتصالات را مشابه تصویر انجام دهید. پس از آپلود کد برنامه سریال پلاتر Serial Plotter را باز کنید. وضعیت کلید را بررسی کنید.

int button = 2;

void setup()
{
  Serial.begin(9600);
  pinMode(button, INPUT_PULLUP);
}

void loop()
{
  int Buttondata = digitalRead(button);
  Serial.println(Buttondata);
  delay(100);

}

 

وضعیت کلید در سریال پلاتر Serial Plotter آردوینو - دیجی اسپارک

 

نمونه اتصال میکروسوئیچ چهار پایه به برد آردوینو Arduino - دیجی اسپارک

 


استفاده از مقاومت خارجی PULLUP در آردوینو


برای برنامه نویسی کلید Button آردوینو، در حالت خارجی از یک مقاومت برای اتصال به کلید استفاده می‌کنیم. در کد برنامه ورودی را فقط INPUT مینویسیم. برای اتصال مقاومت به کلید از یک مقاومت رنج ۱۰ کیلواهمی استفاده می‌کنیم. مطابق تصویر زیر اتصالات را انجام دهید.

استفاده از مقاومت خارجی PULLUP در آردوینو - دیجی اسپارک

 

در این تصویر یک مقاومت به صورت PULLUP سر راه کلید قرار گرفته شده است. دو پایه سمت راست کلید از یک سمت به پایه شماره ۲ و از سمت دیگر با یک مقاومت به ۵ ولت VCC متصل شده است که کلید را در حالت پیش فرض و بدون فشردن کلید فعال کرده است. از سمت دیگر پایه های کلید با یک سیم به GND زمین متصل شده است. اتصالات را انجام داده و کد زیر را در نرم افزار آردوینو اجرا کنید. سپس سریال پلاتر را باز کنید و با هر بار فشردن کلید وضعیت ورودی را بررسی کنید.

int button = 2;

void setup()
{
  Serial.begin(9600);
  pinMode(button, INPUT);
}

void loop()
{
  int Buttondata = digitalRead(button);
  Serial.println(Buttondata);
  delay(100);

}

 

سریال پلاتر در وضعیت استفاده از مقاومت پول آپ pullup - دیجی اسپارک

 

اتصال مقاومت پول آپ Pullup به کلید در آردوینو - دیجی اسپارک

 


استفاده از مقاومت خارجی PULLDOWN در آردوینو


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

استفاده از مقاومت خارجی PULLDOWN در آردوینو - دیجی اسپارک

 

در آموزش برنامه نویسی کلید Button برای انصال مقاومت Pulldown برای کلید در آردوینو همانند تصویر زیر اقدام کنید.

روش اتصال مقاومت خارجی PULLDOWN در آردوینو - دیجی اسپارک

 

در این تصویر یک مقاومت به صورت Pulldown به کلید متصل شده است. یک سمت مقاومت به GND و از همان پایه مشترک با کلید به شماره ۲ آردوینو متصل شده است. پایه مخالف هم به VCC متصل شده است. بدین صورت که کلید در ابتدا غیرفعال است و ولتاژ آن صفر خواهد بود. با فشردن کلید یک شده و فعال می‌شود. کد را کپی و به نرم افزار آردوینو انتقال دهید.

وضعیت سریال پلاتر در اتصال مقاومت پول داون PullDown - دیجی اسپارک

 

روش اتصال مقاومت پول داون pulldown در آردوینو - دیجی اسپارک

 

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

 


وسایل مورد نیاز


آردوینو Arduino UNO

کلید Button

مقاومت ۱۰ کیلو اهم

برد بورد BreadBoard

کابل فلت 

 

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

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۲ دیدگاه