چرا در آردوینو از مقاومت‌ها همراه با دکمه‌های فشاری و کلیدها استفاده کنیم؟

چرا در آردوینو از مقاومت‌ها همراه با دکمه‌های فشاری و کلیدها استفاده کنیم؟

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

  • کلید ساده روشن/خاموش برای یک LED
  • دسته بازی تعاملی
  • ریموت کنترل برای لوازم خانگی
  • سیستم امنیتی با فعال‌سازی از طریق فشار دادن دکمه

بیایید دلایل استفاده از مقاومت‌ها در این مدارها را بررسی کنیم.

Arduino wiring for Push button wihthout resistor

سخت‌افزار/قطعات

اجزای اصلی مورد نیاز برای این پروژه حداقلی هستند: یک برد آردوینو، یک کلید فشاری و یک مقاومت (بیشتر از 300 اهم). مقدار مقاومت چندان حیاتی نیست؛ مقادیری مانند 1kΩ، 10kΩ یا حتی 100kΩ معمولاً به خوبی کار می‌کنند (در ویدئو در 00:41).

راهنمای سیم‌کشی

دو پیکربندی اصلی برای سیم‌کشی وجود دارد (در ویدئو، در 00:30):

  1. پیکربندی 1:دکمه فشاری را بین پایه آردوینو و +5V وصل کنید. سمت دیگر دکمه فشاری از طریق یک مقاومت به زمین متصل است. وقتی دکمه فشرده می‌شود، پایه مقدار HIGH را می‌خواند؛ وقتی رها شود، مقدار LOW را می‌خواند.
  2. پیکربندی 2:دکمه فشاری را بین پایه آردوینو و زمین متصل کنید. سمت دیگر دکمه فشاری از طریق یک مقاومت به +5V متصل است. وقتی دکمه فشاری فشرده می‌شود، پایه مقدار LOW را می‌خواند؛ وقتی رها می‌شود، مقدار HIGH را می‌خواند.

Arduino wriring for push button and LED
Arduino wriring for push button and LED

در اینجا یک نمودار سیم‌کشی تصویری مفید خواهد بود.

توضیح شِفر (کود)

شِفر (کود) آردوینو از ... استفاده می‌کندpinMode()تابعی برای پیکربندی پایه به‌عنوان ورودی. نکتهٔ کلیدی استفاده ازINPUT_PULLUP(در ویدئو در 04:06، 04:23). این مقاومت پول-آپ داخلی نیاز به مقاومت خارجی را در برخی پیکربندی‌ها حذف می‌کند و سیم‌کشی را ساده می‌کند. اینdigitalRead()این تابع وضعیت پایه را می‌خواند، و یک سادهif-elseاین دستور تعیین می‌کند که آیا دکمه فشار داده شده است (LOW) یا خیر (HIGH) (در ویدیو در 08:34).


pinMode(2, INPUT_PULLUP); // Configures pin 2 as input with internal pull-up resistor
int pushButton = digitalRead(2); // Reads the state of pin 2
if (pushButton == LOW) {
  // Button is pressed
} else {
  // Button is not pressed
}

پروژه/نمایش زنده

ویدئو هر دو پیکربندی سیم‌کشی و رفتار متناظر هر یک را نشان می‌دهد. آن مشکلاتی را که در صورت حذف مقاومت ممکن است رخ دهد، مانند خوانش‌های نامنظم ناشی از اغتشاش (نویز) و کوپلینگ خازنی، برجسته می‌کند (در ویدئو در 06:18، 06:39، 07:21). نمایش به‌وضوح عملکرد پایدار و قابل‌اطمینانی را که با قرار گرفتن مقاومت حاصل می‌شود نشان می‌دهد (در ویدئو در 08:08).

فصول

  • [00:00] مقدمه
  • [00:30] پیکربندی‌های سیم‌کشی
  • [04:12] توضیح شِفر (کود) با استفاده از INPUT_PULLUP
  • [05:36] برداشتن مقاومت: نمایش عملی
  • [08:33] توضیح شِفر (کود)

تصاویر

چرا باید از مقاومت با دکمه فشار در آردوینو استفاده کنیم؟
چرا باید از مقاومت با دکمه فشار در آردوینو استفاده کنیم؟
چرا باید از مقاومت با دکمه فشارنده در آردوینو استفاده کنیم؟
چرا باید از مقاومت با دکمه فشارنده در آردوینو استفاده کنیم؟
2 pin tactile push button switch
2 pin tactile push button switch
Arduino wriring for push button and LED
Arduino wriring for push button and LED
Arduino wiring for Push button with resistor-2
Arduino wiring for Push button with resistor-2
Arduino wiring for Push button with resistor-1
Arduino wiring for Push button with resistor-1
Arduino wiring for Push button wihthout resistor
Arduino wiring for Push button wihthout resistor
132-Code example using a resistor
زبان: C++
133-Code example using INPUT_PULLUP without a resistor
زبان: C++
کپی شد!

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

منابع و مراجع

هنوز هیچ منبعی موجود نیست.

فایل‌ها📁

هیچ فایلی موجود نیست.