رید سوئیچ چیست؟ آموزش اتصال رید رله به آردوینو + کد و مدار
رید سوئیچ آردوینو یکی از سادهترین روشها برای تشخیص حضور آهنربا، باز و بسته شدن در، حرکت یک قطعه مکانیکی یا عبور یک جسم از مقابل سنسور است. Reed Switch برخلاف بسیاری از سنسورهای الکترونیکی، ساختار بسیار سادهای دارد و با نزدیک شدن میدان مغناطیسی، دو کنتاکت داخلی آن میتوانند به یکدیگر متصل شوند.
به همین دلیل، برای ساخت پروژههایی مثل سنسور باز شدن در، شمارنده دور چرخ، سیستم هشدار، تشخیص موقعیت و حتی بعضی تجهیزات اتوماسیون میتوان از رید رله آردوینو استفاده کرد. با این حال، برای عملکرد مطمئن باید مفاهیمی مثل NO، مقاومت Pull-up، منطق Active-Low، Contact Bounce و نحوه صحیح قرار دادن آهنربا را بشناسید.
در این آموزش ابتدا بررسی میکنیم رید سوئیچ چیست و چگونه کار میکند. سپس آن را به Arduino متصل میکنیم، کد ساده و نسخه Debounce شده مینویسیم و در نهایت تفاوت Reed Switch با Hall Sensor و نکات مهم انتخاب آن را بررسی میکنیم.
🧲 رید سوئیچ در یک نگاه
مغناطیسی / مکانیکی
نزدیک شدن آهنربا
باز یا بسته شدن کنتاکت
ورودی دیجیتال
بله
تشخیص موقعیت و آهنربا
رید سوئیچ چیست؟
Reed Switch یک کلید الکترومکانیکی حساس به میدان مغناطیسی است. داخل لوله شیشهای کوچک آن معمولاً دو تیغه فلزی فرومغناطیسی قرار دارد که با نزدیک شدن میدان مغناطیسی میتوانند وضعیت خود را تغییر دهند.
محفظه شیشهای معمولاً بهصورت آببندیشده ساخته میشود تا کنتاکتها در برابر گردوغبار و آلودگی محیط محافظت شوند. علاوه بر این، داخل بسیاری از Reed Switchها از گاز بیاثر یا محیط کنترلشده استفاده میشود تا اکسید شدن کنتاکتها کاهش پیدا کند.
بنابراین برخلاف یک سنسور Hall که یک قطعه نیمههادی و الکترونیکی است، رید سوئیچ در اصل یک کلید مکانیکی فعالشونده با میدان مغناطیسی محسوب میشود.

رید رله با رید سوئیچ چه تفاوتی دارد؟
در بازار ایران گاهی قطعه شیشهای ساده Reed Switch با نام رید رله نیز فروخته میشود. با این حال، از نظر فنی Reed Switch و Reed Relay دقیقاً یک چیز نیستند.
Reed Switch همان کنتاکت مغناطیسی داخل شیشه است. در مقابل، یک Reed Relay واقعی معمولاً شامل Reed Switch به همراه یک سیمپیچ الکترومغناطیسی است؛ بنابراین با عبور جریان از Coil فعال میشود.
📌 درباره محصول RNGO
محصول 14 میلیمتری فروشگاه RNGO از نظر عملکرد همان Reed Switch مغناطیسی است: در حالت عادی کنتاکت باز است و با نزدیک شدن آهنربا بسته میشود. در بازار ممکن است همین قطعه را با نام «رید رله» نیز ببینید.
رید سوئیچ چگونه کار میکند؟
برای درک عملکرد رید سوئیچ کافی است دو تیغه فلزی داخل محفظه را تصور کنید. در حالت عادی و بدون میدان مغناطیسی، در یک Reed Switch نوع NO این دو کنتاکت از یکدیگر جدا هستند.
با نزدیک شدن آهنربا، تیغهها در میدان مغناطیسی قرار میگیرند. در نتیجه، دو سر آنها مانند قطبهای مغناطیسی مخالف رفتار میکنند و به یکدیگر جذب میشوند.
پس از تماس دو تیغه، مدار بسته میشود و جریان میتواند عبور کند. از طرف دیگر، وقتی آهنربا دور شود، خاصیت مغناطیسی مؤثر کاهش پیدا میکند و تیغهها دوباره به وضعیت اولیه برمیگردند.

NO و NC در رید سوئیچ یعنی چه؟
قبل از خرید یا طراحی مدار باید نوع کنتاکت را بررسی کنید. دو اصطلاح مهم در این زمینه NO و NC هستند.
| نوع | بدون آهنربا | با آهنربا |
|---|---|---|
| NO Normally Open |
باز | بسته |
| NC Normally Closed |
بسته | باز |
رید سوئیچ 14 میلیمتری معرفیشده در فروشگاه RNGO از نوعی است که بدون آهنربا باز و با نزدیک شدن آهنربا بسته میشود؛ بنابراین در کاربرد معمول میتوان آن را یک کنتاکت NO در نظر گرفت.
رید سوئیچ چه چیزی را اندازهگیری میکند؟
یک Reed Switch معمولی برای اندازهگیری مقدار دقیق میدان مغناطیسی طراحی نشده است. این قطعه بیشتر به شما میگوید که میدان مغناطیسی به اندازه کافی قوی شده است که کنتاکت تغییر وضعیت دهد یا خیر.
بنابراین خروجی آن مانند یک کلید دیجیتال است: باز یا بسته.
اگر هدف پروژه اندازهگیری شدت میدان مغناطیسی باشد، معمولاً یک Hall Sensor آنالوگ یا سنسور مغناطیسی مناسب انتخاب بهتری است.
رید سوئیچ آردوینو چه کاربردهایی دارد؟
سادگی و قیمت پایین Reed Switch باعث شده در پروژههای مختلف استفاده شود. علاوه بر این، چون برای تشخیص مکانیکی نیاز به تماس مستقیم با جسم ندارد، در بسیاری از کاربردها استهلاک مکانیکی خارجی کمتر میشود.
- تشخیص باز یا بسته بودن در و پنجره
- سیستمهای هشدار و امنیتی
- تشخیص موقعیت مکانیکی
- شمارنده دور چرخ
- سرعتسنج ساده
- تشخیص حرکت شناور در بعضی سنسورها
- شمارش عبور آهنربا
- تشخیص قرار گرفتن درپوش یا قطعه در محل مناسب
- پروژههای Arduino و رباتیک
وسایل مورد نیاز برای اتصال رید سوئیچ به آردوینو
- یک برد Arduino
- رید سوئیچ یا رید رله NO
- آهنربا
- Breadboard
- سیم جامپر
برای این پروژه به مقاومت Pull-up خارجی الزاماً نیاز نداریم؛ زیرا میتوان مقاومت Pull-up داخلی میکروکنترلر Arduino را فعال کرد.
🧲 رید سوئیچ 14 میلیمتری برای آزمایش مدار
اگر برای ساخت این پروژه به Reed Switch نیاز دارید، مدل 14 میلیمتری پایه طلایی RNGO در حالت عادی باز است و با نزدیک شدن آهنربا کنتاکت آن بسته میشود.
مدار اتصال رید سوئیچ به آردوینو
برای اتصال ساده رید سوئیچ آردوینو، یک پایه Reed Switch را به GND متصل کنید. سپس پایه دیگر را به یک ورودی دیجیتال، برای مثال D2، وصل کنید.
در برنامه نیز پایه D2 را بهصورت `INPUT_PULLUP` تعریف میکنیم. در نتیجه، وقتی رید سوئیچ باز است، مقاومت Pull-up داخلی ورودی را در وضعیت HIGH نگه میدارد.
با نزدیک شدن آهنربا، رید سوئیچ بسته شده و پایه D2 مستقیماً به GND متصل میشود؛ بنابراین `digitalRead()` مقدار LOW برمیگرداند.

⚠️ چرا منطق مدار برعکس به نظر میرسد؟
با فعال بودن `INPUT_PULLUP` وضعیت عادی پایه HIGH است. وقتی Reed Switch بسته میشود، ورودی به GND وصل شده و LOW خوانده میشود.
بنابراین در این مدار LOW یعنی آهنربا تشخیص داده شده و کنتاکت بسته است. به این نوع منطق Active-Low گفته میشود.
INPUT_PULLUP در آردوینو چیست و چرا به آن نیاز داریم؟
یک ورودی دیجیتال نباید در حالت Floating رها شود. اگر پایه ورودی به هیچ سطح مشخصی متصل نباشد، نویز محیط میتواند باعث خواندن تصادفی HIGH و LOW شود.
برای جلوگیری از این مشکل از مقاومت Pull-up یا Pull-down استفاده میشود.
در Arduino میتوان Pull-up داخلی را با دستور زیر فعال کرد:
pinMode(REED_PIN, INPUT_PULLUP);
در نتیجه دیگر برای این مدار ساده به مقاومت Pull-up خارجی نیاز نداریم.
کد ساده رید سوئیچ آردوینو
در این مثال از پایه D2 برای Reed Switch استفاده میکنیم. علاوه بر این، LED داخلی برد نیز وضعیت آهنربا را نشان میدهد.
const byte REED_PIN = 2;
const byte LED_PIN = LED_BUILTIN;
void setup() {
Serial.begin(9600);
pinMode(REED_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
int reedState = digitalRead(REED_PIN);
if (reedState == LOW) {
digitalWrite(LED_PIN, HIGH);
Serial.println("Magnet detected - Reed closed");
} else {
digitalWrite(LED_PIN, LOW);
Serial.println("No magnet - Reed open");
}
}
کد رید سوئیچ آردوینو چگونه کار میکند؟
در ابتدای برنامه، پایه D2 به Reed Switch اختصاص داده میشود. سپس `LED_BUILTIN` برای نمایش وضعیت انتخاب شده است.
در تابع `setup()` ورودی Reed Switch با `INPUT_PULLUP` تنظیم میشود. بنابراین تا زمانی که کنتاکت باز باشد، مقدار ورودی HIGH خواهد بود.
در `loop()` وضعیت D2 توسط `digitalRead()` خوانده میشود. اگر مقدار LOW باشد، یعنی Reed Switch بسته شده است و در این مدار میتوان نتیجه گرفت آهنربا به محدوده تحریک رسیده است.
در این حالت LED روشن میشود. در مقابل، با دور شدن آهنربا و باز شدن Reed Switch، مقدار ورودی دوباره HIGH شده و LED خاموش میشود.
فاصله عملکرد رید سوئیچ چقدر است؟
نمیتوان یک فاصله ثابت مثل «1 سانتیمتر» برای همه Reed Switchها اعلام کرد. فاصله عملکرد به چند عامل مهم بستگی دارد.
- قدرت آهنربا
- نوع آهنربا
- اندازه آهنربا
- جهت قرارگیری آهنربا
- حساسیت Reed Switch
- موقعیت آهنربا نسبت به تیغههای داخلی
- وجود فلزات فرومغناطیسی در اطراف
بنابراین بهترین روش این است که فاصله واقعی را با همان آهنربا و همان موقعیت نصب پروژه آزمایش کنید.
جهت آهنربا نسبت به رید سوئیچ مهم است؟
بله. شکل میدان مغناطیسی و جهت قرارگیری آهنربا روی فاصله و نقطه تحریک تأثیر دارد.
به همین دلیل، در پروژههایی مثل سنسور در باید ابتدا محل مناسب Reed Switch و آهنربا را بهصورت آزمایشی پیدا کنید. سپس بعد از مشخص شدن نقطه عملکرد مطمئن، قطعات را در جای خود ثابت کنید.
در نتیجه طراحی مکانیکی این سنسور تقریباً بهاندازه کدنویسی اهمیت دارد.
آیا قطب N و S آهنربا برای رید سوئیچ مهم است؟
برای یک Reed Switch ساده NO معمولاً نیاز نیست مانند بعضی Hall Sensorها قطب خاصی از آهنربا را حتماً مقابل سنسور قرار دهید.
با این حال، جهت و موقعیت آهنربا همچنان روی شدت میدان عبوری از Reed Switch و در نتیجه فاصله تحریک اثر میگذارد.
Contact Bounce در رید سوئیچ چیست؟
یکی از نکات مهمی که در پروژههای واقعی نباید نادیده گرفته شود، Contact Bounce است.
رید سوئیچ یک قطعه مکانیکی است. بنابراین وقتی دو تیغه به یکدیگر برخورد میکنند، ممکن است بهجای ایجاد یک تغییر تمیز از OPEN به CLOSED، برای مدت کوتاهی چند بار باز و بسته شوند.
برای روشن کردن LED معمولاً این مسئله مشکل بزرگی ایجاد نمیکند. با این حال، اگر Reed Switch برای شمارش دور موتور، چرخ، تعداد عبور یا Interrupt استفاده شود، Bounce میتواند یک رویداد واقعی را چند بار بشمارد.
⚡ مثال واقعی Contact Bounce
فرض کنید روی چرخ یک آهنربا قرار دادهاید و هر بار عبور آهنربا از مقابل Reed Switch باید یک دور ثبت شود.
اگر Contact Bounce کنترل نشود، Arduino ممکن است یک عبور را بهصورت 2 یا 3 پالس مختلف تشخیص دهد؛ در نتیجه مقدار RPM محاسبهشده اشتباه خواهد بود.
Debounce رید سوئیچ در آردوینو
یکی از روشهای ساده برای کاهش اثر Bounce، استفاده از Debounce نرمافزاری است.
برای مثال میتوان فقط زمانی تغییر وضعیت را معتبر دانست که ورودی برای مدت مشخصی پایدار باقی مانده باشد.
کد زیر یک نمونه ساده مبتنی بر `millis()` است:
const byte REED_PIN = 2;
bool stableState = HIGH;
bool lastReading = HIGH;
unsigned long lastChangeTime = 0;
const unsigned long debounceTime = 30;
void setup() {
Serial.begin(9600);
pinMode(REED_PIN, INPUT_PULLUP);
}
void loop() {
bool reading = digitalRead(REED_PIN);
if (reading != lastReading) {
lastChangeTime = millis();
lastReading = reading;
}
if ((millis() - lastChangeTime) > debounceTime) {
if (reading != stableState) {
stableState = reading;
if (stableState == LOW) {
Serial.println("Magnet detected");
} else {
Serial.println("Magnet removed");
}
}
}
}
در این مثال عدد 30 میلیثانیه فقط یک مقدار شروع برای آزمایش است و یک عدد استاندارد برای تمام Reed Switchها نیست. بنابراین اگر پروژه حساس است، مقدار مناسب را با قطعه و شرایط واقعی خودتان آزمایش کنید.
چرا millis بهتر از delay برای Debounce است؟
میتوان با `delay()` نیز یک Debounce بسیار ساده ساخت. با این حال، `delay()` اجرای برنامه را متوقف میکند.
در پروژهای که همزمان باید سنسورهای دیگر خوانده شوند، موتور کنترل شود یا ارتباط سریال انجام شود، این توقف میتواند مشکلساز باشد.
در مقابل، روش مبتنی بر `millis()` غیرمسدودکننده است؛ بنابراین سایر بخشهای برنامه میتوانند همزمان به کار خود ادامه دهند.
مثال کاربردی: تشخیص باز شدن در با آردوینو
یکی از بهترین کاربردهای رید رله آردوینو تشخیص وضعیت در یا پنجره است.
Reed Switch را روی قسمت ثابت چارچوب و آهنربا را روی بخش متحرک در نصب کنید. زمانی که در بسته است، آهنربا نزدیک Reed Switch قرار میگیرد.
با باز شدن در، آهنربا دور میشود و وضعیت کنتاکت تغییر میکند. در نتیجه Arduino میتواند رویداد باز شدن در را تشخیص دهد.
سپس میتوان بر اساس این وضعیت:
- بیزر را فعال کرد،
- پیام ارسال کرد،
- چراغ روشن کرد،
- زمان باز ماندن در را ثبت کرد،
- یا سیستم امنیتی را فعال نمود.
مثال کاربردی: شمارش دور چرخ با رید سوئیچ
کاربرد جالب دیگر، شمارش تعداد دور یک چرخ یا محور است. برای این کار یک آهنربای کوچک روی قسمت متحرک قرار میگیرد و Reed Switch روی بخش ثابت نصب میشود.
با هر بار عبور آهنربا، Reed Switch یک تغییر وضعیت ایجاد میکند. بنابراین با شمارش این رویدادها میتوان تعداد دور را محاسبه کرد.
اگر زمان بین پالسها نیز اندازهگیری شود، میتوان سرعت چرخش یا RPM را به دست آورد.
⚠️ برای RPM حتماً Bounce را جدی بگیرید
برای شمارنده دور، کیلومترشمار یا Anemometer، استفاده مستقیم از هر تغییر ورودی بدون Debounce میتواند تعداد پالسها را بیشتر از مقدار واقعی نشان دهد.
رید سوئیچ یا Hall Sensor؛ کدام بهتر است؟
| ویژگی | Reed Switch | Hall Sensor |
|---|---|---|
| ساختار | مکانیکی | نیمههادی |
| نیاز به تغذیه برای خود سنسور | معمولاً خیر | معمولاً بله |
| Contact Bounce | ممکن است داشته باشد | کنتاکت مکانیکی ندارد |
| سرعت سوئیچ | کمتر | معمولاً بیشتر |
| اندازهگیری شدت میدان | خیر | در مدل مناسب بله |
| سادگی مدار | بسیار ساده | وابسته به نوع سنسور |
بنابراین اگر فقط یک تشخیص ساده «آهنربا هست یا نیست» نیاز دارید، Reed Switch گزینهای ساده و کمهزینه است.
از طرف دیگر، اگر سرعت سوئیچ بالا، عمر بسیار زیاد بدون کنتاکت مکانیکی یا اندازهگیری میدان مغناطیسی اهمیت دارد، Hall Sensor میتواند انتخاب مناسبتری باشد.
آیا رید سوئیچ جهت دارد؟
Reed Switch ساده دوپایه معمولاً مانند دیود قطب مثبت و منفی ندارد. بنابراین از نظر الکتریکی میتوانید دو سر کنتاکت را جابهجا کنید.
با این حال، این موضوع به معنی بیاهمیت بودن جهت مکانیکی نیست. جهت بدنه نسبت به میدان آهنربا روی حساسیت و فاصله عملکرد تأثیر میگذارد.
آیا میتوان رید سوئیچ را مستقیماً به 220 ولت وصل کرد؟
نباید صرفاً به دلیل اینکه Reed Switch یک «کلید» است، آن را برای هر بار و ولتاژی مناسب بدانیم.
هر Reed Switch محدودیتهایی برای موارد زیر دارد:
- حداکثر ولتاژ سوئیچینگ
- حداکثر جریان
- توان قابل سوئیچ
- جریان لحظهای
- نوع بار
بنابراین قبل از عبور هر بار قدرت باید دیتاشیت همان مدل بررسی شود. برای پروژه Arduino معمولاً بهتر است Reed Switch فقط بهعنوان ورودی کمجریان استفاده شود و کنترل بار توسط مدار مناسب دیگری انجام گیرد.
🔌 Reed Switch سنسور است، درایور موتور نیست
اگر میخواهید با نزدیک شدن آهنربا موتور، رله قدرت، شیر برقی یا بار پرجریان فعال شود، Reed Switch را به ورودی کنترل متصل کنید و بار را با ترانزیستور، MOSFET، رله یا درایور مناسب راهاندازی کنید.
هنگام خرید رید سوئیچ به چه مشخصاتی توجه کنیم؟
انتخاب Reed Switch فقط بر اساس طول شیشه یا ظاهر قطعه انجام نمیشود. برای یک پروژه جدی باید چند پارامتر مهم بررسی شود.
| پارامتر | چرا مهم است؟ |
|---|---|
| نوع NO / NC | وضعیت پیشفرض مدار را مشخص میکند |
| حساسیت مغناطیسی | روی فاصله تحریک اثر دارد |
| ولتاژ مجاز | نباید از محدوده کنتاکت عبور کند |
| جریان مجاز | برای جلوگیری از آسیب کنتاکت مهم است |
| ابعاد | برای نصب مکانیکی اهمیت دارد |
| نوع بار | بارهای القایی و خازنی شرایط سوئیچینگ متفاوتی دارند |
نکات مهم هنگام نصب و لحیمکاری رید سوئیچ
محفظه شیشهای Reed Switch شکننده است. بنابراین هنگام خم کردن پایهها نباید نیرو مستقیماً به محل خروج پایه از شیشه منتقل شود.
بهتر است پایه را با یک انبردست یا ابزار مناسب در نزدیکی بدنه نگه دارید و خم را کمی دورتر ایجاد کنید. در نتیجه تنش مکانیکی کمتری به شیشه وارد میشود.
همچنین هنگام نصب موارد زیر را رعایت کنید:
- پایه را از محل اتصال به شیشه نپیچانید.
- قطعه را زیر فشار مکانیکی نصب نکنید.
- مدت لحیمکاری را بیدلیل طولانی نکنید.
- بعد از نصب، محل واقعی تحریک آهنربا را آزمایش کنید.
- در محیط لرزشی، قطعه را به شکل مناسب مهار کنید.
چرا رید سوئیچ آردوینو همیشه HIGH یا LOW میماند؟
اگر مدار کار نمیکند، قبل از تغییر کد چند مورد ساده را بررسی کنید.
| مشکل | علت احتمالی | راهحل |
|---|---|---|
| همیشه HIGH | آهنربا Reed را فعال نمیکند | فاصله و جهت آهنربا را تغییر دهید |
| همیشه HIGH | مدار قطع است | سیمکشی و Reed Switch را تست کنید |
| همیشه LOW | کنتاکت دائماً بسته است | آهنربا و سلامت قطعه را بررسی کنید |
| مقادیر تصادفی | ورودی Floating | Pull-up را فعال کنید |
| چند پالس برای یک عبور | Contact Bounce | Debounce اضافه کنید |
چگونه رید سوئیچ را با مولتیمتر تست کنیم؟
قبل از اتصال قطعه به Arduino میتوانید سلامت آن را با مولتیمتر بررسی کنید.
- مولتیمتر را روی Continuity یا اندازهگیری مقاومت قرار دهید.
- پرابها را به دو پایه Reed Switch متصل کنید.
- در Reed Switch نوع NO، بدون آهنربا باید مدار باز باشد.
- آهنربا را به قطعه نزدیک کنید.
- با فعال شدن Reed Switch، مقاومت باید بسیار کم شود یا بیزر Continuity فعال شود.
اگر با تغییر موقعیت آهنربا هیچ تغییری مشاهده نشد، ابتدا آهنربای قویتر و جهتهای مختلف را امتحان کنید. سپس در صورت نیاز سلامت قطعه را بررسی کنید.
برای پروژه رید سوئیچ کدام Arduino مناسب است؟
این پروژه از نظر پردازشی بسیار ساده است؛ بنابراین تقریباً هر برد Arduino دارای ورودی دیجیتال برای اجرای آن مناسب است.
برای آموزش و نمونهسازی، UNO انتخاب سادهای است. از طرف دیگر، اگر ابعاد پروژه اهمیت دارد، Nano گزینه جمعوجورتری خواهد بود.
اگر پروژه در ادامه به امکانات ارتباطی، ورودیهای بیشتر یا ویژگیهای دیگری نیاز داشته باشد، میتوانید برد را متناسب با کل سیستم انتخاب کنید.
🤖 برد Arduino مناسب پروژهتان را انتخاب کنید
برای تست Reed Switch به برد قدرتمندی نیاز ندارید. UNO، Nano و بسیاری از بردهای دیگر Arduino میتوانند این پروژه را اجرا کنند؛ بنابراین انتخاب برد را بر اساس ابعاد، تعداد ورودیها و نیازهای ادامه پروژه انجام دهید.
چه زمانی رید سوئیچ انتخاب خوبی نیست؟
Reed Switch بسیار ساده و کاربردی است، اما برای تمام پروژهها بهترین انتخاب نیست.
اگر پروژه به سوئیچینگ بسیار سریع نیاز دارد، تعداد تحریک بسیار زیاد است یا Contact Bounce قابل قبول نیست، بهتر است Hall Sensor یا سنسور الکترونیکی دیگری را بررسی کنید.
همچنین اگر قصد دارید شدت میدان مغناطیسی را اندازهگیری کنید، Reed Switch اطلاعات کافی در اختیارتان قرار نمیدهد.
در مقابل، برای یک سنسور ساده، کممصرف و ارزان که فقط حضور آهنربا یا موقعیت یک قطعه را تشخیص دهد، Reed Switch میتواند انتخاب بسیار مناسبی باشد.
جمعبندی؛ رید سوئیچ آردوینو ساده است اما چند نکته مهم دارد
رید سوئیچ آردوینو یکی از سادهترین روشها برای تشخیص حضور آهنربا و موقعیت مکانیکی است. در نوع NO، کنتاکت در حالت عادی باز است و با نزدیک شدن میدان مغناطیسی مناسب بسته میشود.
برای اتصال آن به Arduino میتوان یک پایه را به GND و پایه دیگر را به ورودی دیجیتال متصل کرد. سپس با فعال کردن `INPUT_PULLUP`، نیاز به مقاومت خارجی در مدار ساده از بین میرود.
با این حال، چون Reed Switch یک کلید مکانیکی است، مواردی مثل Contact Bounce، جهت و فاصله آهنربا، محدودیت جریان کنتاکت و شکننده بودن محفظه شیشهای باید در طراحی واقعی در نظر گرفته شوند.
در نتیجه، اگر پروژه شما فقط نیاز دارد حضور یک آهنربا، باز شدن در یا عبور یک جسم را تشخیص دهد، رید سوئیچ راهحلی ساده و کمهزینه است. اما برای اندازهگیری دقیق میدان یا سوئیچینگ سریع، بهتر است Hall Sensor را نیز بررسی کنید.
💬 شما با Reed Switch چه چیزی میسازید؟
سنسور در، دورسنج، شمارنده، سیستم امنیتی یا پروژه دیگری؟
سوالات متداول درباره رید سوئیچ آردوینو
آیا رید سوئیچ بدون آهنربا کار میکند؟
Reed Switch برای تغییر وضعیت به میدان مغناطیسی کافی نیاز دارد. در مدل NO، بدون آهنربا کنتاکت باز است و با رسیدن میدان مناسب بسته میشود.
چرا هنگام اتصال رید سوئیچ به Arduino از INPUT_PULLUP استفاده میکنیم؟
INPUT_PULLUP ورودی را زمانی که Reed Switch باز است در یک سطح مشخص HIGH نگه میدارد. در نتیجه پایه Floating نمیشود و نویز باعث خواندن تصادفی وضعیت ورودی نخواهد شد.
رید سوئیچ بهتر است یا Hall Sensor؟
برای تشخیص ساده حضور آهنربا، Reed Switch بسیار ساده و کمهزینه است. با این حال، برای سوئیچینگ سریعتر، حذف Contact Bounce یا اندازهگیری میدان مغناطیسی، Hall Sensor میتواند انتخاب مناسبتری باشد.







