🔀 کلید DPDT (دوپل دوطرفه) (DPDT Switch)

اسم انگلیسیDPDT Switch
در ووکوی (Wokwi)نسخه‌ی آماده‌ای سراغ نداریم
دسته🎛️ کلید، دکمه و ورودی
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

کلید DPDT (DPDT Switch) در واقع دو کلید دوطرفه است که با یک دسته با هم جابه‌جا می‌شوند: شش پایه، دو مدار کاملاً جدا، یک حرکت دست. معروف‌ترین کارش چپ‌گرد و راست‌گرد کردن موتور DC بدون هیچ برنامه‌ای است؛ ولی کنار آردوینو هم به کار می‌آید، وقتی می‌خواهی یک حرکت دسته هم یک مدار را عوض کند و هم به برنامه خبر بدهد.

کلید DPDT در ووکوی (Wokwi)

تا جایی که می‌دانیم ووکوی نسخه‌ی آماده‌ی این قطعه را ندارد؛ موتور DC هم در فهرست قطعه‌هایش نیست. نزدیک‌ترین جایگزین، کلید کشویی wokwi-slide-switch است که یک SPDT است، یعنی دقیقاً نصف یک DPDT. برای تمرین «خواندن وضعیت دسته» همین کافی است: پایه‌ی وسطش (2) را به GND و یکی از کناری‌ها (1) را به یک پین ورودی بزن؛ کد پایین با همین جایگزین هم کار می‌کند.

مدار کامل با خود DPDT را در تینکرکد فارسی بساز؛ آن‌جا این کلید هم در حالت ساده (2D) و هم در حالت آردوینو (3D) رایگان شبیه‌سازی می‌شود و مثال آماده‌ی جهت موتور با کلید DPDT را همان‌جا اجرا می‌کنی. اسم پایه‌ها در شبیه‌ساز: ردیف اول L1، M1، R1 و ردیف دوم L2، M2، R2. پایه‌ی M مشترک وسط است و دسته آن را در هر دو ردیف هم‌زمان یا به L می‌رساند یا به R.

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

در این مدار قطب ۱ به آردوینو می‌گوید دسته کدام طرف است و قطب ۲، بدون دخالت برنامه، یکی از دو LED نشانگر را روشن می‌کند. در پروژه‌ی واقعی به‌جای LEDها می‌شود با قطب ۲ تغذیه‌ی یک بخش از مدار را عوض کرد.

پایه‌ی کلیدوصل به
M1GND آردوینو
L1پین 2 (ورودی با INPUT_PULLUP)
R1پین 3 (ورودی با INPUT_PULLUP)
M25V آردوینو
L2مقاومت ۲۲۰ اهم، بعد آند LED سبز؛ کاتد به GND
R2مقاومت ۲۲۰ اهم، بعد آند LED قرمز؛ کاتد به GND

اگر فقط چپ‌گرد و راست‌گرد موتور را می‌خواهی، آردوینو لازم نیست: دو سیم موتور به M1 و M2، مثبت باتری به L1، منفی به L2، و دو سیم ضربدری از R1 به L2 و از R2 به L1. همین را درس جهت موتور در دوره‌ی برق قدم‌به‌قدم نشان می‌دهد.

کد نمونه

// DPDT switch: pole 1 is read by the Arduino, pole 2 lights its own LED.
// Wiring: M1 -> GND, L1 -> pin 2, R1 -> pin 3 (INPUT_PULLUP on both)
const int PIN_L = 2;
const int PIN_R = 3;
int lastPos = -1;

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

void loop() {
  int pos = 0;                                 // 0 = lever in between
  if (digitalRead(PIN_L) == LOW) pos = 1;      // lever on the L side
  if (digitalRead(PIN_R) == LOW) pos = 2;      // lever on the R side

  if (pos != lastPos) {                        // report changes only
    lastPos = pos;
    if (pos == 1) Serial.println("Position L: forward");
    else if (pos == 2) Serial.println("Position R: reverse");
    else Serial.println("Lever moving...");
  }
  delay(20);                                   // simple debounce
}

برنامه فقط وقتی چیزی چاپ می‌کند که وضعیت عوض شده باشد؛ برای همین سریال مانیتور با هزاران خط تکراری پر نمی‌شود. حالت صفر یعنی دسته وسط راه است و هیچ‌کدام از دو پین LOW نیست.

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

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

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

ووکوی کلید DPDT دارد؟

تا جایی که می‌دانیم نه. نزدیک‌ترین قطعه‌ی ووکوی کلید کشویی wokwi-slide-switch است که یک SPDT است، یعنی فقط نصف یک DPDT. مدار کامل چپ‌گرد و راست‌گرد موتور با DPDT را می‌توانی رایگان در تینکرکد فارسی بسازی.

چرا با کلید SPDT نمی‌شود جهت موتور را عوض کرد؟

برای برعکس شدن موتور باید هر دو سیمش هم‌زمان جابه‌جا شوند. SPDT فقط یک سیم را جابه‌جا می‌کند؛ DPDT دو کلید هم‌زمان است و هر دو سیم را با هم عوض می‌کند.

کلید DPDT را می‌شود به آردوینو وصل کرد؟

بله. یک قطب کلید را مثل یک کلید معمولی با INPUT_PULLUP بخوان تا آردوینو بفهمد دسته کدام طرف است، و قطب دیگر را برای یک مدار جدا مثل تغذیه‌ی موتور یا LED نشانگر نگه دار.

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

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

🔘

کلید راکر (گهواره‌ای)

Rocker Switch

🎚️

کلید چرخشی (سلکتوری)

Rotary Switch

🔲

کلید تکتایل (تک سوییچ)

Tactile Switch

🕹️

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

Joystick Module (KY-023)

🎛️

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

DIP Switch (4-position)

🔢

کی‌پد ۴×۴

4x4 Matrix Keypad

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

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