





ماژول شکست نوری
90,000 تومانهر عدد
ماژول شکست نوری یک سنسور مادون قرمز (IR) با عملکرد مجرای نوری است که از یک فرستنده و گیرنده IR در مقابل یکدیگر تشکیل شده است.
این ماژول قادر به تشخیص قطع شدن یا وصل شدن پرتو نور بین فرستنده و گیرنده میباشد و برای شمارش، تشخیص موقعیت، کنترل سرعت و سیستمهای امنیتی کاربرد گستردهای دارد.
| تعداد | قیمت | تخفیف |
|---|---|---|
| 10-49 | 88,200 تومان هر عدد | 2% |
| 50+ | 87,300 تومان هر عدد | 3% |
5,000,000 تومان را به سبد خرید اضافه کنید و ارسال رایگان دریافت کنید!
موجود در انبار
Size and packaging guidelines
| یکا (واحد) | علامت اختصاری | شرح انگلیسی | مقدار |
| 1 متر | m | Meter | 1 |
| 1 سانتی متر | cm | Canti Meter | 2-^10 |
| 1 میلی متر | mm | Mili Meter | 3-^10 |
| 1 اینچ | in | Inch | 2.54cm |
| 2 اینچ | in | Inch | 5.08cm |
| 3 اینچ | in | Inch | 7.62cm |
| 5 اینچ | in | Inch | 12.7cm |
ماژول شکست نوری
(Optical Breaking Module)
سنسور تشخیص قطع/وصل پرتو نور مادون قرمز
ماژول شکست نوری یک سنسور مادون قرمز (IR) با عملکرد مجرای نوری است که از یک فرستنده و گیرنده IR در مقابل یکدیگر تشکیل شده است. این ماژول قادر به تشخیص قطع شدن یا وصل شدن پرتو نور بین فرستنده و گیرنده میباشد و برای شمارش، تشخیص موقعیت، کنترل سرعت و سیستمهای امنیتی کاربرد گستردهای دارد.
ویژگیهای کلیدی
فناوری مادون قرمز: استفاده از نور IR برای عملکرد قابل اطمینان در شرایط نوری مختلف
مجرای نوری دقیق: طراحی کانال نوری برای دقت بالا در تشخیص
خروجی دیجیتال: سیگنال TTL سطح برای اتصال مستقیم به میکروکنترلر
حساسیت قابل تنظیم: پتانسیومتر برای تنظیم دقیق حساسیت
LED نشانگر: چراغ نشانگر وضعیت تشخیص
پاسخ سریع: زمان پاسخ کمتر از 0.1ms
نصب آسان: طراحی برای نصب روی ریل یا سطح صاف
مشخصات فنی
ولتاژ کاری: 3.3V – 5V DC
جریان مصرف: 15-30mA (تیپیکال)
طول موج IR: 940nm
فاصله تشخیص: 0 – 15mm (بسته به مدل)
سرعت پاسخ: < 0.1ms
خروجی: دیجیتال (TTL) – LOW هنگام تشخیص پرتو، HIGH هنگام قطع
دمای کاری: -25°C تا +85°C
فرکانس پاسخ: تا 10kHz
ابعاد: 32mm × 14mm × 10mm
فاصله شکاف: معمولاً 8-10mm
کاربردهای اصلی
شمارنده اشیاء در خطوط تولید و بستهبندی
تشخیص سرعت دوران موتورها و شفتها (انکودر نوری)
سیستمهای امنیتی و تشخیص نفوذ
کنترل موقعیت در پرینترهای سهبعدی و CNC
تشخیص سطح مایع در مخازن
سیستمهای پارکینگ و شمارش وسایل نقلیه
دستگاههای ورزشی (شمارش قدم، دوچرخه ثابت)
رباتیک (تشخیص مانع، موقعیتیابی)
اصول کارکرد
فرستنده IR گیرنده IR
| |
[====|===============|====] ← جسم
| |
نور IR ------> دریافت نور
• هنگامی که جسمی در شکاف قرار نمیگیرد: گیرنده نور را دریافت میکند → خروجی LOW
• هنگامی که جسمی شکاف را میبندد: نور قطع میشود → خروجی HIGHاتصال به آردوینو
ماژول شکست نوری ← آردوینو ------------------------- VCC → 5V GND → GND OUT → پایه دیجیتال (مثلاً D2)
کد پایه آردوینو (تشخیص ساده)
/* * تشخیص قطع و وصل پرتو نور با ماژول شکست نوری * اتصال: پایه OUT ماژول به D2 */ const int sensorPin = 2; // پایه اتصال سنسور const int ledPin = 13; // LED داخلی آردوینو const int buzzerPin = 8; // بوق هشدار (اختیاری) int sensorState = LOW; // وضعیت فعلی سنسور int lastState = LOW; // وضعیت قبلی unsigned long objectCount = 0; // شمارش اشیاء unsigned long lastBreakTime = 0; // زمان آخرین قطعی unsigned long totalBlockTime = 0; // مجموع زمان مسدود بودن void setup() { Serial.begin(9600); pinMode(sensorPin, INPUT); pinMode(ledPin, OUTPUT); pinMode(buzzerPin, OUTPUT); Serial.println("========================================="); Serial.println(" Optical Break Beam Sensor Test"); Serial.println("========================================="); Serial.println("Status | Count | Block Time | Total"); Serial.println("----------|-------|------------|------"); } void loop() { sensorState = digitalRead(sensorPin); // تشخیص شروع مسدود شدن (لبه بالارونده) if (sensorState == HIGH && lastState == LOW) { objectCount++; lastBreakTime = millis(); digitalWrite(ledPin, HIGH); tone(buzzerPin, 1000, 50); Serial.print("BLOCKED | "); Serial.print(objectCount); Serial.print(" | "); Serial.print(millis() / 1000.0, 1); Serial.print("s | "); Serial.print(totalBlockTime / 1000.0, 1); Serial.println("s"); } // تشخیص پایان مسدود شدن (لبه پایینرونده) if (sensorState == LOW && lastState == HIGH) { unsigned long blockDuration = millis() - lastBreakTime; totalBlockTime += blockDuration; digitalWrite(ledPin, LOW); Serial.print("CLEAR | "); Serial.print(objectCount); Serial.print(" | "); Serial.print(blockDuration); Serial.print("ms | "); Serial.print(totalBlockTime / 1000.0, 1); Serial.println("s"); } lastState = sensorState; // نمایش دورهای وضعیت static unsigned long lastDisplay = 0; if (millis() - lastDisplay > 5000) { Serial.println("----------|-------|------------|------"); Serial.print("SUMMARY | Total: "); Serial.print(objectCount); Serial.print(" | Avg Time: "); if (objectCount > 0) { Serial.print(totalBlockTime / objectCount); Serial.print("ms"); } else { Serial.print("N/A"); } Serial.print(" | Rate: "); Serial.print(objectCount / ((millis() / 1000.0) + 1), 1); Serial.println(" objects/sec"); Serial.println("========================================="); lastDisplay = millis(); } delay(1); // تأخیر بسیار کوتاه برای پاسخ سریع }
کد شمارنده سرعت بالا (با وقفه)
/* * شمارنده سرعت بالا با استفاده از وقفه * مناسب برای شمارش پرههای فن یا چرخدندهها */ const int sensorPin = 2; // باید پایه وقفه باشد (در Uno: D2 یا D3) const int ledPin = 13; volatile unsigned long pulseCount = 0; // volatile برای وقفه unsigned long lastCount = 0; unsigned long lastTime = 0; float rpm = 0.0; float frequency = 0.0; // پیکربندی const int SLOTS_PER_REVOLUTION = 20; // تعداد شکاف در چرخدنده const unsigned long DEBOUNCE_DELAY = 100; // میکروثانیه void setup() { Serial.begin(115200); pinMode(ledPin, OUTPUT); // تنظیم وقفه روی لبه بالارونده (قطع پرتو) attachInterrupt(digitalPinToInterrupt(sensorPin), pulseCounter, RISING); Serial.println("========================================="); Serial.println(" High-Speed Optical Tachometer"); Serial.println("========================================="); Serial.println("RPM | Frequency | Count | Rate"); Serial.println("--------|-----------|-------|------"); lastTime = millis(); } void loop() { unsigned long currentTime = millis(); unsigned long elapsedTime = currentTime - lastTime; // هر 500ms محاسبات را انجام بده if (elapsedTime >= 500) { // غیرفعال کردن وقفه هنگام خواندن متغیر مشترک noInterrupts(); unsigned long currentCount = pulseCount; interrupts(); unsigned long pulses = currentCount - lastCount; // محاسبات frequency = (pulses * 1000.0) / elapsedTime; // هرتز rpm = (frequency * 60.0) / SLOTS_PER_REVOLUTION; // نمایش نتایج Serial.print(rpm, 0); Serial.print(" | "); Serial.print(frequency, 1); Serial.print("Hz | "); Serial.print(currentCount); Serial.print(" | "); Serial.print(pulses * 2); // ×2 چون هر 500ms است Serial.println(" pulses/sec"); // چشمک زدن LED متناسب با سرعت if (rpm > 0) { int blinkDelay = constrain(1000 / (rpm / 60.0), 50, 500); digitalWrite(ledPin, HIGH); delay(10); digitalWrite(ledPin, LOW); } lastCount = currentCount; lastTime = currentTime; } // تنظیم مجدد شمارنده هر 60 ثانیه if (currentTime > 60000) { noInterrupts(); pulseCount = 0; interrupts(); lastCount = 0; lastTime = millis(); Serial.println("----- Counter Reset -----"); } } // تابع وقفه - باید کوتاه و سریع باشد void pulseCounter() { static unsigned long lastInterruptTime = 0; unsigned long interruptTime = micros(); // Debouncing سختافزاری/نرمافزاری if (interruptTime - lastInterruptTime > DEBOUNCE_DELAY) { pulseCount++; } lastInterruptTime = interruptTime; }
کد سیستم امنیتی با ماژول شکست نوری
/* * سیستم امنیتی با چندین ماژول شکست نوری * تشخیص نفوذ از پنجرهها، درها و ... */ const int numSensors = 4; // تعداد سنسورها const int sensorPins[] = {2, 3, 4, 5}; // پایههای سنسور const int zoneLEDs[] = {8, 9, 10, 11}; // LEDهای نمایش وضعیت زون const int alarmLED = 12; // LED هشدار اصلی const int alarmBuzzer = 13; // بوق هشدار const int resetButton = 6; // دکمه ریست const int armButton = 7; // دکمه فعالسازی سیستم // وضعیت زونها bool zoneStatus[numSensors] = {false, false, false, false}; bool zoneTripped[numSensors] = {false, false, false, false}; bool systemArmed = false; bool alarmActive = false; unsigned long alarmStartTime = 0; const unsigned long ALARM_DURATION = 300000; // 5 دقیقه // تایمر برای ضدحملات unsigned long lastTripTime[numSensors]; const unsigned long DEBOUNCE_TIME = 200; // ms void setup() { Serial.begin(9600); // تنظیم پایهها for (int i = 0; i < numSensors; i++) { pinMode(sensorPins[i], INPUT); pinMode(zoneLEDs[i], OUTPUT); digitalWrite(zoneLEDs[i], LOW); lastTripTime[i] = 0; } pinMode(alarmLED, OUTPUT); pinMode(alarmBuzzer, OUTPUT); pinMode(resetButton, INPUT_PULLUP); pinMode(armButton, INPUT_PULLUP); Serial.println("========================================="); Serial.println(" Multi-Zone Security System"); Serial.println("========================================="); Serial.println("Commands: A=Arm, D=Disarm, S=Status"); Serial.println("Zones: 1=Window, 2=Door, 3=Garage, 4=Hall"); Serial.println("-----------------------------------------"); } void loop() { // خواندن دکمهها checkButtons(); // خواندن سنسورها اگر سیستم Armed است if (systemArmed && !alarmActive) { readSensors(); } // کنترل هشدار if (alarmActive) { activateAlarm(); } // نمایش وضعیت static unsigned long lastDisplay = 0; if (millis() - lastDisplay > 2000) { displayStatus(); lastDisplay = millis(); } delay(50); } void checkButtons() { // دکمه فعالسازی if (digitalRead(armButton) == LOW) { delay(300); // Debouncing systemArmed = !systemArmed; if (systemArmed) { Serial.println("System ARMED"); // بوق کوتاه تأیید tone(alarmBuzzer, 1500, 100); delay(200); tone(alarmBuzzer, 2000, 100); // چک کردن سالم بودن همه سنسورها bool allClear = true; for (int i = 0; i < numSensors; i++) { if (digitalRead(sensorPins[i]) == HIGH) { Serial.print("WARNING: Zone "); Serial.print(i + 1); Serial.println(" is blocked!"); allClear = false; } } if (!allClear) { Serial.println("Cannot arm system - zones blocked"); systemArmed = false; tone(alarmBuzzer, 300, 500); } } else { Serial.println("System DISARMED"); tone(alarmBuzzer, 1000, 100); // خاموش کردن هشدار اگر فعال است alarmActive = false; digitalWrite(alarmLED, LOW); noTone(alarmBuzzer); } } // دکمه ریست هشدار if (digitalRead(resetButton) == LOW && alarmActive) { delay(300); alarmActive = false; digitalWrite(alarmLED, LOW); noTone(alarmBuzzer); Serial.println("Alarm reset by user"); } } void readSensors() { for (int i = 0; i < numSensors; i++) { int sensorState = digitalRead(sensorPins[i]); // اگر پرتو قطع شد (HIGH) و قبلاً در حالت clear بود if (sensorState == HIGH && !zoneTripped[i]) { // Debouncing if (millis() - lastTripTime[i] > DEBOUNCE_TIME) { zoneTripped[i] = true; lastTripTime[i] = millis(); Serial.print("INTRUSION DETECTED! Zone "); Serial.println(i + 1); Serial.print("Time: "); Serial.println(millis() / 1000.0, 1); // فعالسازی هشدار triggerAlarm(i); } } // اگر پرتو وصل شد (LOW) و قبلاً tripped بود if (sensorState == LOW && zoneTripped[i]) { zoneTripped[i] = false; Serial.print("Zone "); Serial.print(i + 1); Serial.println(" clear again"); } // بهروزرسانی LED زون digitalWrite(zoneLEDs[i], zoneTripped[i] ? HIGH : LOW); } } void triggerAlarm(int zone) { alarmActive = true; alarmStartTime = millis(); Serial.println("!!! ALARM ACTIVATED !!!"); Serial.print("Breach in Zone "); Serial.println(zone + 1); Serial.println("-----------------------------------------"); // روشن کردن LED هشدار digitalWrite(alarmLED, HIGH); } void activateAlarm() { // بوق هشدار الگویی static unsigned long lastBeep = 0; static bool beepState = false; if (millis() - lastBeep > (beepState ? 100 : 900)) { beepState = !beepState; if (beepState) { tone(alarmBuzzer, 1200, 100); } else { noTone(alarmBuzzer); } lastBeep = millis(); } // چشمکزدن LED digitalWrite(alarmLED, (millis() / 200) % 2 == 0); // پایان خودکار هشدار پس از مدت معین if (millis() - alarmStartTime > ALARM_DURATION) { alarmActive = false; digitalWrite(alarmLED, LOW); noTone(alarmBuzzer); Serial.println("Alarm auto-disarmed after 5 minutes"); } } void displayStatus() { Serial.print("Status: "); Serial.print(systemArmed ? "ARMED" : "DISARMED"); Serial.print(" | Alarm: "); Serial.print(alarmActive ? "ACTIVE" : "INACTIVE"); Serial.print(" | Zones: "); for (int i = 0; i < numSensors; i++) { Serial.print(digitalRead(sensorPins[i]) == HIGH ? "B" : "C"); if (i < numSensors - 1) Serial.print(","); } Serial.println(); } // کنترل از طریق سریال مانیتور void serialEvent() { while (Serial.available()) { char command = Serial.read(); switch (command) { case 'A': case 'a': systemArmed = true; Serial.println("System armed via serial"); break; case 'D': case 'd': systemArmed = false; alarmActive = false; Serial.println("System disarmed via serial"); break; case 'S': case 's': displayDetailedStatus(); break; case 'R': case 'r': // تست هر زون for (int i = 0; i < numSensors; i++) { Serial.print("Zone "); Serial.print(i + 1); Serial.print(": "); Serial.println(digitalRead(sensorPins[i]) == HIGH ? "BLOCKED" : "CLEAR"); } break; } } } void displayDetailedStatus() { Serial.println(); Serial.println("=== SYSTEM STATUS ==="); Serial.print("Uptime: "); Serial.print(millis() / 1000.0 / 60.0, 1); Serial.println(" minutes"); Serial.println("\nZone Status:"); Serial.println("No | Sensor | Tripped | Description"); Serial.println("---|--------|---------|------------"); String zoneNames[] = {"Window", "Door", "Garage", "Hall"}; for (int i = 0; i < numSensors; i++) { Serial.print(i + 1); Serial.print(" | "); Serial.print(digitalRead(sensorPins[i]) == HIGH ? "BLOCKED " : "CLEAR "); Serial.print(" | "); Serial.print(zoneTripped[i] ? "YES " : "NO "); Serial.print(" | "); Serial.println(zoneNames[i]); } Serial.println("====================="); Serial.println(); }
کد انکودر نوری برای موقعیتیابی
/* * انکودر نوری با دو کانال برای تشخیص جهت * نیاز به دو ماژول شکست نوری با فاصله مناسب */ const int CHANNEL_A = 2; // کانال A (پایه وقفه) const int CHANNEL_B = 3; // کانال B (پایه وقفه) volatile long encoderCount = 0; volatile long lastEncoderCount = 0; int lastA = LOW; int lastB = LOW; float position = 0.0; // موقعیت بر حسب واحد دلخواه float velocity = 0.0; // سرعت // پیکربندی انکودر const int PULSES_PER_REVOLUTION = 400; // پالس در هر دور const float DISTANCE_PER_PULSE = 0.1; // میلیمتر در هر پالس const unsigned long VELOCITY_INTERVAL = 100; // ms برای محاسبه سرعت unsigned long lastVelocityTime = 0; long lastCountForVelocity = 0; void setup() { Serial.begin(115200); pinMode(CHANNEL_A, INPUT_PULLUP); pinMode(CHANNEL_B, INPUT_PULLUP); // تنظیم وقفهها برای هر دو کانال attachInterrupt(digitalPinToInterrupt(CHANNEL_A), handleEncoder, CHANGE); attachInterrupt(digitalPinToInterrupt(CHANNEL_B), handleEncoder, CHANGE); Serial.println("========================================="); Serial.println(" Optical Encoder - Position & Velocity"); Serial.println("========================================="); Serial.println("Position (mm) | Velocity (mm/s) | RPM"); Serial.println("--------------|-----------------|-----"); } void loop() { // محاسبه موقعیت position = encoderCount * DISTANCE_PER_PULSE; // محاسبه سرعت unsigned long currentTime = millis(); if (currentTime - lastVelocityTime >= VELOCITY_INTERVAL) { long deltaCount = encoderCount - lastCountForVelocity; float deltaTime = (currentTime - lastVelocityTime) / 1000.0; // ثانیه if (deltaTime > 0) { velocity = (deltaCount * DISTANCE_PER_PULSE) / deltaTime; // mm/s // محاسبه RPM float rpm = (abs(velocity) * 60.0) / (PI * 2.0 * 10.0); // فرض قطر 20mm Serial.print(position, 1); Serial.print(" | "); Serial.print(velocity, 1); Serial.print(" | "); Serial.println(rpm, 0); } lastCountForVelocity = encoderCount; lastVelocityTime = currentTime; } // کنترل نمایش بر اساس سرعت int displayDelay = map(abs(velocity), 0, 1000, 500, 50); delay(displayDelay); // ریست موقعیت با دکمه (اختیاری) if (Serial.available()) { char c = Serial.read(); if (c == 'r' || c == 'R') { encoderCount = 0; Serial.println("Position reset to zero"); } } } void handleEncoder() { int a = digitalRead(CHANNEL_A); int b = digitalRead(CHANNEL_B); // تشخیص جهت بر اساس تغییرات if (a != lastA) { // کانال A تغییر کرده if (a == HIGH) { if (b == LOW) { encoderCount++; // حرکت در جهت مثبت } else { encoderCount--; // حرکت در جهت منفی } } else { if (b == HIGH) { encoderCount++; // حرکت در جهت مثبت } else { encoderCount--; // حرکت در جهت منفی } } } else if (b != lastB) { // کانال B تغییر کرده if (b == HIGH) { if (a == HIGH) { encoderCount++; // حرکت در جهت مثبت } else { encoderCount--; // حرکت در جهت منفی } } else { if (a == LOW) { encoderCount++; // حرکت در جهت مثبت } else { encoderCount--; // حرکت در جهت منفی } } } lastA = a; lastB = b; }
نکات فنی و راهنمای استفاده
انتخاب فاصله نصب صحیح:
| کاربرد | فاصله توصیه شده | نکات |
|---|---|---|
| شمارش قطعات کوچک | 5-8mm | دقت بالا برای اشیاء 2mm+ |
| کنترل سرعت موتور | 8-12mm | فاصله بیشتر برای پرههای فن |
| سیستمهای امنیتی | 10-15mm | پوشش دهانههای بزرگتر |
| ماشینآلات صنعتی | 15-20mm | مقاوم در برابر لرزش |
عیبیابی مشکلات رایج:
| مشکل | علت احتمالی | راهحل |
|---|---|---|
| عدم تشخیص | آلودگی روی لنزها | تمیز کردن لنزها با الکل |
| تشخیص نادرست | نور محیط قوی | استفاده از hood یا فیلتر |
| پاسخ آهسته | مقاومت pull-up نامناسب | اضافه کردن مقاومت 10kΩ بین OUT و VCC |
| نویز در خروجی | منبع تغذیه ناپایدار | اضافه کردن خازن 100µF به منبع |
افزایش دقت در محیطهای پرنور:
// کد فیلتر نویز برای محیطهای پر نور bool readFilteredSensor(int pin, int samples = 5, int threshold = 3) { int highCount = 0; for (int i = 0; i < samples; i++) { if (digitalRead(pin) == HIGH) { highCount++; } delayMicroseconds(100); } // اگر بیشتر از threshold نمونه HIGH بودند، واقعاً قطع شده return (highCount >= threshold); }
کالیبراسیون برای مواد مختلف:
// تنظیم آستانه برای مواد شفاف یا نیمهشفاف void calibrateForMaterial() { Serial.println("Calibration: Clear the sensor and press any key"); while (!Serial.available()); Serial.read(); int clearReading = 0; for (int i = 0; i < 100; i++) { clearReading += digitalRead(sensorPin); delay(10); } clearReading /= 100; Serial.println("Now place material and press any key"); while (!Serial.available()); Serial.read(); int materialReading = 0; for (int i = 0; i < 100; i++) { materialReading += digitalRead(sensorPin); delay(10); } materialReading /= 100; Serial.print("Clear level: "); Serial.print(clearReading); Serial.print(" | Material level: "); Serial.println(materialReading); // ذخیره تفاوت برای استفاده در تشخیص EEPROM.write(0, materialReading - clearReading); }
پروژههای پیشنهادی
1. دستگاه شمارش قطعات صنعتی
// با صفحه نمایش LCD و قابلیت تنظیم batch size2. تردمیل هوشمند ورزشی
// اندازهگیری سرعت، مسافت و کالری مصرفی3. سیستم کنترل سطح مایع
// تشخیص سطح در چندین نقطه از مخزن4. پرینتر سهبعدی با Endstop نوری
// موقعیتیابی دقیق بدون تماس فیزیکی5. دستگاه تست سرعت واکنش
// اندازهگیری زمان واکنش افرادجدول مقایسه با سنسورهای مشابه
| سنسور | دقت | فاصله | قیمت | کاربرد |
|---|---|---|---|---|
| شکست نوری | بسیار بالا | 0-15mm | اقتصادی | شمارش، سرعتسنجی |
| سنسور القایی | بالا | 0-8mm | متوسط | فلزات فقط |
| سنسور خازنی | متوسط | 0-10mm | متوسط | مواد غیرفلزی |
| اولتراسونیک | متوسط | 2cm-4m | گرانتر | فاصلههای طولانی |
| لیزر | بسیار بالا | تا 100m | بسیار گران | صنایع دقیق |
پکیج خرید
پکیج پایه:
1x ماژول شکست نوری با کابل
1x براکت نصب adjustable
1x صفحه تست با شکافهای مختلف
راهنمای نصب فارسی
پکیج صنعتی:
4x ماژول شکست نوری با shield
1x برد interface با خروجیهای relay
1x منبع تغذیه 12V/2A
1x کابلبندی کامل
پکیج آموزشی:
2x ماژول شکست نوری
1x دیسک انکودر با 20 شکاف
1x موتور DC با شفت
1x برد آزمایشی پروژه
کتابچه 10 پروژه عملی
گارانتی و پشتیبانی
گارانتی: 24 ماه تعویض
پشتیبانی فنی: رایگان از طریق واتساپ
آموزش: ویدیوهای نصب و راهاندازی
بهروزرسانی: دسترسی به کتابخانههای آپدیت شده
سؤالات متداول
Q1: آیا در محیط بیرون (نور خورشید) کار میکند؟
بله، اما باید از hood محافظ استفاده کرد یا سنسور را در سایه نصب کرد. مدلهای صنعتی با فیلتر نوری ویژه برای محیط بیرون موجود است.
Q2: حداقل اندازه جسم قابل تشخیص چقدر است؟
حدود 0.5mm تا 1mm بسته به کیفیت سنسور و تنظیمات.
Q3: آیا میتوان برای تشخیص شیشه استفاده کرد؟
برای مواد شفاف باید از مدلهای مخصوص با طول موجهای مختلف استفاده کرد.
Q4: حداکثر سرعت تشخیص چقدر است؟
تا 10,000 بار در ثانیه (10kHz) در مدلهای سریع.
Q5: چگونه میتوانم سنسور را برای مواد نیمهشفاف تنظیم کنم؟
با استفاده از پتانسیومتر روی ماژول، حساسیت را کاهش دهید تا فقط مواد کاملاً مات را تشخیص دهد.
توجه: این ماژول در برابر گرد و غبار و رطوبت مقاوم نیست. برای محیطهای صنعتی خشن، از مدلهای IP67 استفاده کنید. برای مشاوره فنی و انتخاب سنسور مناسب برای کاربرد خاص خود، با مهندسان ما تماس بگیرید.
| ابعاد | 2 × 2 × 2 سانتیمتر |
|---|---|
| ساختار محصول تعیین نوع محصول فیزیکی و مجازی ( شامل نقشه ی شماتیک، مدار چاپی و .. بصورت دانلودی ) | |
| لایه های مدارچاپی | |
| نوع مدار | |
| کشور سازنده |
.فقط مشتریانی که این محصول را خریداری کرده اند و وارد سیستم شده اند میتوانند برای این محصول دیدگاه ارسال کنند.
در تهران فقط
پیک موتوری
تحویل حضوری
اداره پست جمهوری اسلامی ایران
پست سفارشی، پیشتاز، بینالمللی، تیپاکس و پست پیشتاز خارج از کشور
در حال حاضر امکان رهگیری مرسوله های پستی با کد مرسوله، دریافت گواهی کد پستی، مشاهده تعرفه های پستی به صورت آنلاین و ... در سایت شرکت ملی پست جمهوری اسلامی ایران فراهم شده است. تمامی مردم می توانند با ورود به این سایت، از خدمات مربوط به شرکت و اداره پست استفاده کنند.
در اداره پست جمهوری اسلامی ایران، برای ارسال مرسولات، روشهای مختلفی وجود دارد که عبارتند از:
۱. پست سفارشی: این روش برای ارسال کالاهای کوچک و سبک و با ارزش کمتر از ۱۰۰ هزار تومان استفاده میشود. در این روش، هزینه ارسال بر اساس وزن و مسافت محاسبه میشود و زمان تحویل ۳ تا ۷ روز کاری است.
۲. پیشتاز: این روش برای ارسال کالاهایی با ارزش بیشتر از ۱۰۰ هزار تومان و یا کالاهایی که به سرعت باید تحویل داده شوند، استفاده میشود. در این روش، هزینه ارسال بر اساس وزن و مسافت محاسبه میشود و زمان تحویل ۱ تا ۳ روز کاری است.
۳. بینالمللی: این روش برای ارسال کالاهایی به خارج از کشور استفاده میشود. در این روش، هزینه ارسال بر اساس وزن و مسافت و هزینه گمرکی محاسبه میشود و زمان تحویل بسته به مقصد و روش ارسال، متفاوت است.
۴. تیپاکس: این روش برای ارسال کالاهایی است که به سرعت باید تحویل داده شوند. در این روش، هزینه ارسال بر اساس وزن و مسافت و زمان تحویل مورد نظر مشتری محاسبه میشود.
۵. پست پیشتاز خارج از کشور: این روش برای ارسال کالاها به خارج از کشور استفاده میشود و هزینه ارسال بر اساس وزن و مسافت و هزینه گمرکی محاسبه میشود.
در کل، برای ارسال مرسوله در اداره پست جمهوری اسلامی ایران، میتوانید یکی از روشهای فوق را انتخاب کنید که بسته به نیاز و شرایط شما، مناسبتر است.





































دیدگاهها
پاککردن فیلترهاهیچ دیدگاهی برای این محصول نوشته نشده است.