ماژول کلیدجیوهای
ماژول سوئیچ جیوهای (Mercury Switch Module) – حسگر شیب و حرکت
ماژول سوئیچ جیوهای یک حسگر مکانیکی ساده و قابلاطمینان برای تشخیص شیب، حرکت و موقعیت است. این ماژول با استفاده از یک حباب جیوه که درون یک لوله شیشهای محصور شده، هنگام شیب یا تکان، اتصال الکتریکی ایجاد میکند.
⚠️ هشدار مهم ایمنی
جیوه یک ماده سمی و خطرناک است! این ماژول فقط برای مصارف آموزشی و تحقیقاتی تحت نظارت مناسب است.
از شکستن لوله جیوه خودداری کنید و در صورت شکستگی، فوراً با مرکز کنترل مسمومیت تماس بگیرید.
🌡️ ویژگیهای اصلی
🔹 حساسیت قابل تنظیم – زاویه فعالسازی از 10° تا 60°
🔹 بدون مصرف برق در حالت عادی – مکانیکی خالص
🔹 طول عمر بالا – بیش از 1,000,000 بار عملکرد
🔹 واکنش سریع – پاسخ در کمتر از 10ms
🔹 قابل اطمینان – عملکرد در شرایط سخت
🔹 ساده و ارزان – بدون نیاز به الکترونیک پیچیده
📊 مشخصات فنی دقیق
مشخصات مکانیکی:
-
نوع سوئیچ: جیوهای (Mercury Tilt Switch)
-
جنس لوله: شیشه بوروسیلیکات مقاوم
-
قطر لوله: 3.0mm – 5.0mm
-
طول لوله: 15mm – 25mm
-
مقدار جیوه: 0.1g – 0.3g
-
زاویه عملکرد: 10° – 60° (بسته به مدل)
-
دمای کاری: -10°C تا +70°C
-
ولتاژ شکست: 1000V DC
-
مقاومت تماس: کمتر از 100mΩ
مشخصات الکتریکی ماژول:
-
ولتاژ کاری: 3.3V تا 24V DC
-
جریان سوئیچینگ: حداکثر 1A در 24V DC
-
جریان لحظهای: تا 3A (کمتر از 1 ثانیه)
-
مقاومت Pull-up: 10KΩ روی برد
-
خروجی: دیجیتال HIGH/LOW + آنالوگ
-
LED نشانگر: قرمز (فعال بودن سوئیچ)
-
پایهها: 3 پین (VCC, GND, OUT)
انواع مدلها بر اساس زاویه:
| مدل | زاویه فعالسازی | کاربرد |
|---|---|---|
| MS-10 | 10°±2° | سیستمهای حساس، آلارم دقیق |
| MS-30 | 30°±5° | کاربردهای عمومی، اسباببازی |
| MS-45 | 45°±5° | تشخیص افتادن، دستگاههای دستی |
| MS-60 | 60°±10° | تشخیص شیب شدید، ماشینآلات |
ابعاد فیزیکی:
-
ابعاد ماژول: 20mm × 15mm × 10mm
-
طول پایهها: 2.54mm استاندارد
-
وزن: 3-5 گرم (با جیوه)
-
رنگ PCB: آبی با ماسک
-
سوراخ نصب: 2.5mm
🔌 پیکربندی و اتصالات
پینهای ماژول:
پین 1 (چپ): VCC (3.3V - 24V) پین 2 (وسط): OUT (خروجی دیجیتال/آنالوگ) پین 3 (راست): GND (زمین) *LED قرمز: وقتی سوئیچ بسته است روشن میشود
اتصال به آردوینو:
// اتصال ساده ماژول → آردوینو VCC → 5V OUT → پین دیجیتال (مثلاً D2) GND → GND // با مقاومت Pull-up داخلی (پیشفرض) pinMode(mercuryPin, INPUT_PULLUP);
مدار نمونه با مقاومت خارجی:
آردوینو 5V → مقاومت 10KΩ → پین OUT ماژول → پین D2 آردوینو
↓
پین GND ماژول → GND آردوینو
💻 کدهای نمونه آردوینو
کد پایه تشخیص شیب:
// تعریف پین سوئیچ جیوهای #define MERCURY_PIN 2 // متغیرهای وضعیت bool lastState = HIGH; bool currentState; unsigned long lastToggleTime = 0; const unsigned long debounceDelay = 50; // زمان دبنانس void setup() { Serial.begin(9600); pinMode(MERCURY_PIN, INPUT_PULLUP); Serial.println("سوئیچ جیوهای راهاندازی شد"); Serial.println("=========================="); } void loop() { // خواندن وضعیت سوئیچ bool reading = digitalRead(MERCURY_PIN); // دبنانس برای حذف نویز if (reading != lastState) { lastToggleTime = millis(); } if ((millis() - lastToggleTime) > debounceDelay) { if (reading != currentState) { currentState = reading; // نمایش وضعیت if (currentState == LOW) { Serial.println("وضعیت: شیب تشخیص داده شد! (سوئیچ بسته)"); Serial.println("LED روشن است"); } else { Serial.println("وضعیت: عادی (سوئیچ باز)"); Serial.println("LED خاموش است"); } } } lastState = reading; delay(10); // تأخیر کوچک }
کد پیشرفته با زاویهسنجی:
#include <EEPROM.h> #define MERCURY_PIN 2 #define BUZZER_PIN 8 #define LED_PIN 13 // متغیرهای کالیبراسیون int calibrationCount = 0; float totalAngle = 0; bool isCalibrating = false; // آستانهها const float CRITICAL_ANGLE = 45.0; // زاویه بحرانی const unsigned long TILT_DURATION_THRESHOLD = 5000; // 5 ثانیه unsigned long tiltStartTime = 0; bool isTilted = false; void setup() { Serial.begin(9600); pinMode(MERCURY_PIN, INPUT_PULLUP); pinMode(BUZZER_PIN, OUTPUT); pinMode(LED_PIN, OUTPUT); // خواندن کالیبراسیون از EEPROM loadCalibration(); Serial.println("سیستم تشخیص شیب پیشرفته"); Serial.println("دستورات:"); Serial.println("c - شروع کالیبراسیون"); Serial.println("s - نمایش وضعیت"); Serial.println("r - ریست کالیبراسیون"); } void loop() { static unsigned long lastCheck = 0; // خواندن وضعیت هر 100ms if (millis() - lastCheck >= 100) { lastCheck = millis(); bool tilted = (digitalRead(MERCURY_PIN) == LOW); if (tilted && !isTilted) { // شیب شروع شد tiltStartTime = millis(); isTilted = true; Serial.println("شیب تشخیص داده شد"); } else if (!tilted && isTilted) { // شیب پایان یافت isTilted = false; unsigned long duration = millis() - tiltStartTime; if (duration > TILT_DURATION_THRESHOLD) { Serial.print("هشدار: شیب طولانی مدت! مدت: "); Serial.print(duration / 1000.0); Serial.println(" ثانیه"); triggerAlarm(); } tiltStartTime = 0; } // نمایش وضعیت LED digitalWrite(LED_PIN, isTilted ? HIGH : LOW); } // پردازش دستورات سریال if (Serial.available()) { char command = Serial.read(); processCommand(command); } } void triggerAlarm() { // فعال کردن آلارم for (int i = 0; i < 3; i++) { digitalWrite(BUZZER_PIN, HIGH); digitalWrite(LED_PIN, HIGH); delay(200); digitalWrite(BUZZER_PIN, LOW); digitalWrite(LED_PIN, LOW); delay(200); } } void processCommand(char cmd) { switch (cmd) { case 'c': // کالیبراسیون startCalibration(); break; case 's': // وضعیت showStatus(); break; case 'r': // ریست resetCalibration(); break; } } void startCalibration() { Serial.println("کالیبراسیون شروع شد..."); Serial.println("سوئیچ را در زوایای مختلف قرار دهید"); Serial.println("پس از 10 نمونه، کالیبراسیون پایان مییابد"); calibrationCount = 0; totalAngle = 0; isCalibrating = true; } void showStatus() { Serial.print("وضعیت سوئیچ: "); Serial.println(digitalRead(MERCURY_PIN) == LOW ? "شیب" : "عادی"); Serial.print("مدت شیب فعلی: "); Serial.println(isTilted ? (millis() - tiltStartTime) / 1000.0 : 0); Serial.println(" ثانیه"); } void resetCalibration() { // ریست EEPROM for (int i = 0; i < 10; i++) { EEPROM.write(i, 0); } Serial.println("کالیبراسیون ریست شد"); } void loadCalibration() { // بارگذاری از EEPROM // کد بارگذاری کالیبراسیون }
سیستم مانیتورینگ چند نقطهای:
// مانیتورینگ 4 سوئیچ جیوهای #define NUM_SWITCHES 4 int switchPins[NUM_SWITCHES] = {2, 3, 4, 5}; String switchNames[NUM_SWITCHES] = {"جلو", "عقب", "چپ", "راست"}; bool switchStates[NUM_SWITCHES] = {HIGH, HIGH, HIGH, HIGH}; bool lastStates[NUM_SWITCHES] = {HIGH, HIGH, HIGH, HIGH}; void setup() { Serial.begin(9600); for (int i = 0; i < NUM_SWITCHES; i++) { pinMode(switchPins[i], INPUT_PULLUP); } Serial.println("سیستم مانیتورینگ چند جهته"); Serial.println("-------------------------"); } void loop() { bool systemStable = true; for (int i = 0; i < NUM_SWITCHES; i++) { bool currentState = digitalRead(switchPins[i]); if (currentState != lastStates[i]) { delay(50); // دبنانس currentState = digitalRead(switchPins[i]); if (currentState != switchStates[i]) { switchStates[i] = currentState; Serial.print("سوئیچ "); Serial.print(switchNames[i]); Serial.print(": "); if (currentState == LOW) { Serial.println("فعال (شیب)"); systemStable = false; } else { Serial.println("غیرفعال (عادی)"); } } } lastStates[i] = currentState; } // بررسی پایداری کلی سیستم static bool lastSystemStable = true; if (systemStable != lastSystemStable) { if (systemStable) { Serial.println("✅ سیستم پایدار است"); } else { Serial.println("⚠️ سیستم ناپایدار است!"); } lastSystemStable = systemStable; } delay(100); }
🎯 کاربردهای عملی
1. سیستمهای ایمنی و هشدار:
-
آلارم ضد سرقت خودرو (تشخیص حرکت غیرمجاز)
-
هشدار افتادن افراد مسن (دستبندهای ایمنی)
-
سیستم اعلام حریق (تشخیص خروج از وضعیت عادی)
-
محافظ تجهیزات گرانقیمت (هشدار جابجایی)
2. صنعت و ماشینآلات:
-
محدودکننده زاویه جرثقیلها
-
سنسور سطح در مخازن
-
تشخیص وضعیت ماشینآلات
-
کنترل موقعیت رباتهای صنعتی
3. پروژههای آموزشی و تحقیقاتی:
-
آزمایشهای فیزیک (قوانین حرکت)
-
پروژههای دانشآموزی (آلارم ساده)
-
تحقیقات لرزهشناسی (مقدماتی)
-
آموزش الکترونیک (سوئیچهای مکانیکی)
4. اسباببازی و سرگرمی:
-
ساخت مازهای هوشمند
-
کنترلرهای بازی حرکتی
-
پازلهای الکترونیکی
-
اسباببازیهای تعادلی
5. سیستمهای خانگی:
-
تشخیص باز شدن پنجره
-
کنترل روشنایی اتوماتیک (چراغ قوه)
-
هشدار ریزش اجسام
-
سنسور سطح آب در آکواریوم
⚠️ ملاحظات ایمنی و زیستمحیطی
راهنمای استفاده ایمن:
-
هرگز لوله جیوه را نشکنید
-
در صورت شکستگی:
-
محل را ترک کنید
-
پنجرهها را باز کنید
-
با مرکز کنترل مسمومیت تماس بگیرید
-
از جاروبرقی استفاده نکنید
-
-
دور از دسترس کودکان نگهداری شود
-
در دمای بالای 70°C استفاده نشود
-
از اعمال ضربه شدید خودداری کنید
جایگزینهای ایمنتر:
-
سوئیچهای ساکنالکترولیتی (Electrolytic Tilt Sensor)
-
شتابسنجهای MEMS (مثل MPU6050)
-
سوئیچهای ساکنتوپی (Ball Tilt Switch)
-
ژیروسکوپهای دیجیتال
🔧 نحوه نصب و کالیبراسیون
مراحل نصب:
1. انتخاب محل نصب: جایی که شیب مورد نظر را تشخیص دهد 2. جهتدهی: لوله جیوه باید در راستای محور شیب قرار گیرد 3. نصب افقی: در حالت عادی سوئیچ باید باز باشد 4. فیکس کردن: با چسب حرارتی یا پیچ محکم شود 5. تست: دستگاه را کج کرده و LED ماژول را بررسی کنید
کالیبراسیون زاویه:
// کد کالیبراسیون زاویه float calibrateAngle() { Serial.println("کالیبراسیون زاویه شروع شد"); Serial.println("دستگاه را در زاویه مورد نظر قرار دهید"); Serial.println("سپس کلید 'c' را فشار دهید"); while (!Serial.available()); char cmd = Serial.read(); if (cmd == 'c') { // ذخیره زاویه فعلی float angle = readCurrentAngle(); // از سنسور دیگر Serial.print("زاویه کالیبره: "); Serial.println(angle); return angle; } return 0.0; }
📈 مقایسه با سایر سنسورهای شیب
| سنسور | دقت | قیمت | مصرف برق | ایمنی | عمر مفید |
|---|---|---|---|---|---|
| سوئیچ جیوهای | متوسط | بسیار کم | صفر | پایین | بالا |
| شتابسنج MEMS | بالا | متوسط | کم | بالا | بالا |
| سوئیچ توپی | پایین | کم | صفر | بالا | متوسط |
| ژیروسکوپ | بسیار بالا | بالا | متوسط | بالا | بالا |
🛠️ پروژههای پیشنهادی
پروژه 1: آلارم ضدسرقت ساده
// با ماژول جیوهای + بوزر + آردوینو Nano
پروژه 2: تراز لیزری دیجیتال
// 2 سوئیچ جیوهای عمود بر هم + نمایشگر OLED
پروژه 3: کنترلر بازی تعادلی
// 4 سوئیچ در جهات مختلف + ارتباط بلوتوث
پروژه 4: سیستم هشدار زلزله مقدماتی
// سوئیچ حساس + SD Card برای لاگ دادهها
⚠️ اخطار مجدد
این محصول فقط برای مصارف آموزشی تحت نظارت بزرگسالان مجاز است.
💡 نکات مهم نگهداری
ذخیرهسازی:
-
در دمای اتاق (15-25°C)
-
دور از نور مستقیم خورشید
-
در ظرف دربدار پلاستیکی
-
جدا از مواد غذایی
دفع صحیح:
-
به سطل زباله معمولی نیندازید
-
به مراکز بازیافت الکترونیک تحویل دهید
-
در صورت شکستگی، با مرکز 190 تماس بگیرید
🎓 مناسب برای:
-
آزمایشگاههای آموزشی مدارس
-
پروژههای دانشگاهی تحت نظارت
-
موزههای علوم و فناوری
-
تحقیقات تاریخی الکترونیک
🚫 غیرمناسب برای:
-
استفاده خانگی بدون نظارت
-
پروژههای کودکان
-
محیطهای غذایی و پزشکی
-
سیستمهای حیاتی
📞 پشتیبانی و مشاوره ایمنی
- مرکز کنترل مسمومیت: 190
-
پیامرسان ایمنی: @MercurySafety_IR
-
وبینارهای آموزشی رایگان ماهانه
توجه: خرید این محصول به منزله پذیرش کلیه شرایط ایمنی و مسئولیتهای مربوطه است.









ترانزیستورها
خازنها
دیودها
رگولاتورها
مقاومتها
کریستال و اسیلاتور
مدارات مجتمع
ابزارها
تجهیزات
تجهیزات لحیمکاری
مولتیمتر و ابزار اندازهگیری
منبع تغذیه و باتری
تستر