🚪 رید سوییچ (سوییچ ریدی) (Reed Switch)
| اسم انگلیسی | Reed Switch |
|---|---|
| در ووکوی (Wokwi) | نسخهی آمادهای سراغ نداریم |
| دسته | 🌡️ سنسورها |
| در شبیهساز فارسی | مود ساده (بدون کد) و مود آردوینو · رایگان |
رید سوییچ یا کلید مغناطیسی (Reed Switch) یک لولهی شیشهای کوچک است که داخلش دو تیغهی فلزی نازک با فاصلهی کمی از هم قرار دارند. وقتی آهنربا نزدیک شود، تیغهها مغناطیسی میشوند، همدیگر را جذب میکنند و مدار بسته میشود؛ آهنربا که دور شود، دوباره باز میشوند. همان سنسور سفید کوچکی که روی چهارچوب در و پنجرهی دزدگیرها میبینی، داخلش یک رید سوییچ دارد. در این صفحه با آن یک «نگهبان در» میسازیم که هر بار باز شدن را میشمارد و اگر در باز بماند بوق میزند.
رید سوییچ در ووکوی (Wokwi)
تا جایی که میدانیم ووکوی نسخهی آمادهی این قطعه را ندارد. چون رید سوییچ برای آردوینو فقط یک کلید دوپایه است، یک wokwi-slide-switch بهترین جایگزین است؛ برخلاف دکمه وضعیتش میماند، درست مثل دری که باز یا بسته میماند. پایهی وسط (2) را به پین 2 و پایهی 1 را به GND وصل کن و یک wokwi-buzzer هم روی پین 8 بگذار.
{
"parts": [
{ "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0, "attrs": {} },
{ "type": "wokwi-slide-switch", "id": "sw1", "top": -90, "left": 140, "attrs": {} },
{ "type": "wokwi-buzzer", "id": "bz1", "top": -110, "left": 300, "attrs": {} }
],
"connections": [
[ "sw1:2", "uno:2", "green", [] ],
[ "sw1:1", "uno:GND.1", "black", [] ],
[ "bz1:1", "uno:GND.1", "black", [] ],
[ "bz1:2", "uno:8", "red", [] ]
]
}
در تینکرکد فارسی خود رید سوییچ رایگان است؛ مدارهای آمادهی کلید آهنربایی و چراغ یخچال را ببین.
سیمکشی با آردوینو
آهنربا را روی لنگهی در و رید سوییچ را روی چهارچوب نصب کن، طوری که وقتی در بسته است کنار هم باشند. رید قطبیت ندارد.
| پایهی قطعه | وصل به |
|---|---|
| پایهی اول رید | پین 2 (با INPUT_PULLUP) |
| پایهی دوم رید | GND |
| بازر یا پیزو (+) | پین 8 |
| بازر یا پیزو (−) | GND |
با این سیمکشی، در بسته (آهنربا نزدیک، کلید بسته) یعنی LOW و در باز یعنی HIGH. یک مزیت امنیتی هم در همین هست: اگر کسی سیم سنسور را ببرد، پین HIGH میشود و مثل باز شدن در هشدار میگیری.
کد نمونه
برنامه هر باز شدن را با شماره گزارش میکند، موقع بسته شدن میگوید در چند ثانیه باز بوده، و اگر در بیش از ۱۰ ثانیه باز بماند، بازر را روشن میکند؛ مثل یخچالی که از باز ماندن درش شکایت میکند.
// Reed switch on pin 2: count door openings and beep if left open.
const int REED_PIN = 2;
const int BUZZER_PIN = 8;
const unsigned long OPEN_LIMIT = 10000; // warn after 10 s open
bool wasOpen = false;
unsigned long openedAt = 0;
int openings = 0;
void setup() {
Serial.begin(9600);
pinMode(REED_PIN, INPUT_PULLUP);
}
void loop() {
bool isOpen = digitalRead(REED_PIN) == HIGH; // magnet away = contacts open
if (isOpen && !wasOpen) {
openings++;
openedAt = millis();
Serial.print("Door opened, count = ");
Serial.println(openings);
}
if (!isOpen && wasOpen) {
noTone(BUZZER_PIN);
Serial.print("Door closed after ");
Serial.print((millis() - openedAt) / 1000);
Serial.println(" s");
}
if (isOpen && millis() - openedAt > OPEN_LIMIT) {
tone(BUZZER_PIN, 1500); // the door was left open
}
wasOpen = isOpen;
delay(20); // skip contact bounce
}
اشتباههای رایج
- شکستن شیشه: بدنهی رید شیشهی نازک است. پایهها را از نزدیک بدنه خم نکن؛ دستکم دو میلیمتر فاصله بگذار و موقع خم کردن، پایه را بین شیشه و محل خم با انبردست نگه دار.
- جهت اشتباه آهنربا: رید وقتی بهتر عمل میکند که آهنربا موازی طولش باشد. آهنربای عمود بر وسط شیشه ممکن است کلید را نبندد.
- انتظار حالت عادی بسته: بیشتر ریدها «عادی باز» (NO) هستند. بعضی سنسورهای آمادهی در، نوع NC یا سهسیمهاند؛ اگر منطق کد برعکس شد، نوع کلیدت را چک کن.
- پرش تیغهها: تیغهها هنگام بسته شدن چند بار میپرند.
delay(20)ته حلقه همین را میپوشاند؛ اگر شمارشها زیادی بود، بیشترش کن.
آموزشهای مرتبط
- سنسور اثر هال؛ حسگر مغناطیسی الکترونیکی
- دزدگیر با سنسور حرکت PIR
- قفل رمزدار با کیپد ۴×۴
- کلید کشویی در ووکوی
سؤالهای رایج
فرق رید سوییچ با سنسور هال چیست؟
رید سوییچ یک کلید مکانیکی واقعی است و برق نمیخواهد. سنسور هال الکترونیکی است، تغذیه لازم دارد، سریعتر است و قطعهی متحرکی ندارد که بپرد یا بشکند.
رید سوییچ را با چه مقاومتی به آردوینو وصل کنم؟
مقاومت جدا لازم نیست. یک پایه را به پین دیجیتال و دیگری را به GND وصل کن و در کد INPUT_PULLUP بگذار؛ بسته یعنی LOW و باز یعنی HIGH.
آموزشهایی که از این قطعه استفاده میکنند
قطعههای دیگرِ سنسورها
سنسور رطوبت خاک
Soil Moisture Sensor
سنسور خمش (فلکس)
Flex Sensor
سنسور لمسی TTP223
TTP223 Capacitive Touch Sensor
ماژول سنسور لرزش SW-420
SW-420 Vibration Sensor Module
سنسور فاصله اولتراسونیک (HC-SR04)
HC-SR04 Ultrasonic Sensor
سنسور دما و رطوبت DHT11 / DHT22
DHT22 / DHT11 Temperature & Humidity Sensor