🔲 کلید تکتایل (تک سوییچ) (Tactile Switch)

اسم انگلیسیTactile Switch
در ووکوی (Wokwi)wokwi-pushbutton
دسته🎛️ کلید، دکمه و ورودی
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

کلید تکتایل یا تک سوییچ (Tactile Switch) همان دکمه‌ی کوچک چهارپایه‌ای است که دکمه‌ی ریست آردوینو هم از همین نوع است و در ریموت و ماوس هم پیدایش می‌کنی؛ تا وقتی فشارش می‌دهی وصل است و رها کنی قطع. برای هر ورودی دستی، از شمارنده و بازی واکنش تا منوی LCD، اولین انتخاب است.

کلید تکتایل در ووکوی (Wokwi)

در ووکوی این دکمه با شناسه‌ی wokwi-pushbutton اضافه می‌شود و رنگ کلاهکش را با ویژگی color عوض می‌کنی. چهار پایه دارد: 1.l، 2.l، 1.r و 2.r. پایه‌هایی که عدد یکسان دارند (مثلاً 1.l و 1.r) از داخل به هم وصل‌اند و فشار دکمه، اتصال ۱ را به اتصال ۲ می‌رساند. این تکه‌ی diagram.json دکمه را قطری می‌بندد:

{
  "version": 1,
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0 },
    { "type": "wokwi-pushbutton", "id": "btn1", "top": -90, "left": 120, "attrs": { "color": "green" } }
  ],
  "connections": [
    [ "uno:2", "btn1:1.l", "green", [] ],
    [ "btn1:2.r", "uno:GND.1", "black", [] ]
  ]
}
پایه در ووکویوصل بهتوضیح
1.luno:2ورودی با INPUT_PULLUP
2.runo:GND.1قطری نسبت به 1.l، پس حتماً در جفت دیگر است
1.r و 2.lخالیهم‌جفت دو پایه‌ی بالا

در تینکرکد فارسی همین دکمه با پایه‌های A1، A2، B1 و B2 رایگان شبیه‌سازی می‌شود؛ جفت A یک اتصال است و جفت B اتصال دیگر.

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

پایه‌ی قطعهوصل به
یک پایه (مثلاً A1)پین 2 آردوینو
پایه‌ی قطری (B2)GND

روی بردبورد دکمه را روی شکاف وسط بگذار تا هر جفت پایه در یک نیمه بیفتد. قاعده‌ی طلایی: از دو پایه‌ی قطری استفاده کن؛ همیشه در دو جفت مختلف‌اند و جهت نصب دیگر مهم نیست. خروجی این مثال LED خود برد روی پین ۱۳ است.

کد نمونه

هر فشار، LED را خاموش و روشن می‌کند (Toggle) و تعداد فشارها را چاپ می‌کند. لرزش کنتاکت با مقایسه‌ی زمان حذف شده، بدون delay:

// Tactile switch toggles the on-board LED, with software debounce.
// Wiring: one pin -> pin 2, the diagonal pin -> GND
const int BTN = 2;
const unsigned long DEBOUNCE_MS = 30;

int stableState = HIGH;          // HIGH = released (pull-up)
int lastReading = HIGH;
unsigned long lastChange = 0;
bool ledOn = false;
int presses = 0;

void setup() {
  pinMode(BTN, INPUT_PULLUP);
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int reading = digitalRead(BTN);
  if (reading != lastReading) {          // contact moved: restart the timer
    lastChange = millis();
    lastReading = reading;
  }
  if (millis() - lastChange > DEBOUNCE_MS && reading != stableState) {
    stableState = reading;
    if (stableState == LOW) {            // a clean new press
      ledOn = !ledOn;
      digitalWrite(LED_BUILTIN, ledOn);
      presses++;
      Serial.print("Presses: ");
      Serial.println(presses);
    }
  }
}

چرا ۳۰ میلی‌ثانیه؟ لرزش بیشتر دکمه‌ها در کمتر از ۱۰ تا ۲۰ میلی‌ثانیه تمام می‌شود و انگشت آدم هم سریع‌تر از حدود ۵۰ میلی‌ثانیه دو بار فشار نمی‌دهد؛ پس ۳۰ هم لرزش را می‌پوشاند و هم فشار واقعی را جا نمی‌اندازد. چون برنامه هیچ‌جا منتظر نمی‌ماند، کنار همین کد می‌توانی LED دیگری را چشمک بزنی یا یک سنسور بخوانی.

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

چرا کلید تکتایل چهار پایه دارد؟

پایه‌ها دوبه‌دو از داخل به هم وصل‌اند و فقط دو اتصال واقعی وجود دارد؛ چهار پایه برای محکم نشستن روی برد است. در ووکوی هم 1.l و 1.r یک اتصال‌اند و 2.l و 2.r اتصال دیگر.

چرا هر بار فشار دادن دکمه چند بار شمرده می‌شود؟

کنتاکت فلزی دکمه هنگام فشار چند میلی‌ثانیه می‌لرزد (Bounce) و آردوینو هر لرزش را یک فشار می‌بیند. با مقایسه‌ی زمان با millis این را حذف کن؛ کد همین صفحه این کار را می‌کند.

دکمه را به 5V وصل کنم یا GND؟

ساده‌ترین روش این است که یک پایه به پین و پایه‌ی قطری به GND برود و در کد INPUT_PULLUP بنویسی؛ آن‌وقت فشردن یعنی LOW. وصل به 5V هم شدنی است ولی یک مقاومت پایین‌کش ۱۰ کیلواهم لازم دارد.

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: کلید تکتایل (تک سوییچ) آمده است.

قطعه‌های دیگرِ کلید، دکمه و ورودی

🕹️

ماژول جوی‌استیک

Joystick Module (KY-023)

🎛️

دیپ سوییچ چهارتایی

DIP Switch (4-position)

🔢

کی‌پد ۴×۴

4x4 Matrix Keypad

🪛

تریمر (پتانسیومتر تنظیمی)

Trimmer Potentiometer (Trimpot)

🎚️

پتانسیومتر کشویی (اسلایدی)

Slide Potentiometer

🔘

دکمه فشاری

Push Button

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

کلید تکتایل (تک سوییچ) را در شبیه‌ساز امتحان کن 🚀