🔘 کلید راکر (گهوارهای) (Rocker Switch)
| اسم انگلیسی | Rocker Switch |
|---|---|
| در ووکوی (Wokwi) | نسخهی آمادهای سراغ نداریم |
| دسته | 🎛️ کلید، دکمه و ورودی |
| در شبیهساز فارسی | مود ساده (بدون کد) و مود آردوینو · رایگان |
کلید راکر یا گهوارهای (Rocker Switch) همان کلید روشن و خاموشی است که روی سهراهی برق و کیس کامپیوتر دیدهای: یک طرفش را فشار میدهی وصل میشود، طرف دیگر را قطع. از نظر برقی یک کلید سادهی SPST است و در پروژهها دو جای اصلی دارد: کلید اصلی تغذیهی ربات و جعبهی پروژه، یا یک ورودی «حالت» برای آردوینو، مثل فعال و غیرفعال کردن دزدگیر.
کلید راکر در ووکوی (Wokwi)
تا جایی که میدانیم ووکوی نسخهی آمادهی این قطعه را ندارد. نزدیکترین جایگزین wokwi-slide-switch است: پایهی وسط (2) را مثل یک سر کلید راکر و پایهی کناری (1) را مثل سر دیگرش در نظر بگیر و پایهی 3 را خالی بگذار. کد پایین بدون هیچ تغییری با همین جایگزین در ووکوی کار میکند:
{
"version": 1,
"parts": [
{ "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0 },
{ "type": "wokwi-slide-switch", "id": "sw1", "top": -90, "left": 120 }
],
"connections": [
[ "uno:2", "sw1:2", "green", [] ],
[ "sw1:1", "uno:GND.1", "black", [] ]
]
}
خود کلید راکر، با دو پایهی A و B، در تینکرکد فارسی هم در حالت ساده (2D) و هم در حالت آردوینو (3D) رایگان شبیهسازی میشود.
سیمکشی با آردوینو
در این مدار کلید راکر یک «کلید آمادهباش» است: وقتی روشن است، LED خود برد (پین ۱۳) چشمک میزند و برنامه کارش را میکند؛ وقتی خاموش است، همهچیز آرام است.
| پایهی کلید | وصل به |
|---|---|
| A | پین 2 آردوینو (ورودی با INPUT_PULLUP) |
| B | GND آردوینو |
اگر کلید را بهعنوان کلید اصلی تغذیه میخواهی، جایش بین مثبت جاباتری و ورودی تغذیهی مدار است، مثلاً پایهی VIN آردوینو یا ورودی رگولاتور ۷۸۰۵؛ در این حالت به هیچ پینی وصل نمیشود. برای انتخاب منبع مناسب، راهنمای تغذیهی آردوینو را بخوان.
کد نمونه
// Rocker switch as an "armed / off" input.
// Wiring: switch pin A -> pin 2, pin B -> GND. Uses the on-board LED.
const int SWITCH_PIN = 2;
bool wasOn = false;
void setup() {
pinMode(SWITCH_PIN, INPUT_PULLUP);
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
bool isOn = digitalRead(SWITCH_PIN) == LOW; // closed switch pulls the pin LOW
if (isOn != wasOn) { // print only when it changes
wasOn = isOn;
Serial.println(isOn ? "System ON" : "System OFF");
}
if (isOn) {
digitalWrite(LED_BUILTIN, (millis() / 500) % 2); // blink without delay()
} else {
digitalWrite(LED_BUILTIN, LOW);
}
}
عبارت (millis() / 500) % 2 هر نیم ثانیه بین صفر و یک عوض میشود؛ یعنی چشمکزنی که برنامه را با delay قفل نمیکند و کلید هر لحظه خوانده میشود. توضیح بیشترش در millis یا delay آمده است.
اشتباههای رایج
- برق شهر: کلیدهای راکر سهراهی برای ۲۲۰ ولت ساخته شدهاند، ولی پروژهی آموزشی فقط با باتری و آداپتور کمولتاژ انجام میشود. هیچوقت سیم برق شهر را باز نکن.
- مدل چراغدار مثل دوپایه: اگر پایهی چراغ را جای پایهی خروجی ببندی، یا کلید کار نمیکند یا چراغ مدار را از راه خودش نیمهروشن نگه میدارد.
- خواندن بدون INPUT_PULLUP: وقتی کلید باز است، پین معلق میماند و عددهای تصادفی میخوانی.
- کلید اصلی در مسیر GND: کار میکند، ولی وقتی خاموش است بخشهایی که از راه دیگری زمین دارند (مثل کابل USB) هنوز برق میگیرند. کلید اصلی را در مسیر مثبت بگذار.
آموزشهای مرتبط
- کلید کشویی (Slide Switch)، جایگزین این کلید در ووکوی
- کلید فشاری (Push Button)، وقتی کلید لحظهای میخواهی
- کلید SPDT، برای انتخاب بین دو مسیر
- ۱۵ مدار پایهی الکترونیک، از مقاومت بالاکش تا رگولاتور
سؤالهای رایج
کلید راکر در ووکوی هست؟
تا جایی که میدانیم نه. بهجایش از کلید کشویی wokwi-slide-switch استفاده کن؛ از نظر برقی همان کار وصل و قطع را میکند. خود کلید راکر در تینکرکد فارسی رایگان شبیهسازی میشود.
کلید راکر سهپایه را چطور ببندم؟
مدل سهپایه معمولاً چراغدار است: یک پایه ورودی، یکی خروجی و سومی برای چراغ داخلی که به منفی میرود. چون علامتگذاری مدلها فرق دارد، اول با مولتیمتر یا برچسب روی بدنه مطمئن شو. چراغ خیلی از این مدلها برای برق شهر ساخته شده و با باتری روشن نمیشود.
کلید راکر را بین باتری و آردوینو بگذارم یا به پین ورودی؟
هر دو درست است ولی دو کار متفاوتاند. بین باتری و مدار، کلید اصلی خاموش و روشن است. روی پین ورودی، فقط به برنامه میگوید حالت روشن است یا خاموش و خود آردوینو روشن میماند.