راهنمای آردوینو و حل مشکلات رایج

خانه ‹ وبلاگ ‹ رباتیک ‹ آشنایی با سنسورهای پرکاربرد در رباتیک

سنسور چیست؟ آشنایی با سنسورهای پرکاربرد در رباتیک و خطاهای رایج

سنسورها چشم و گوش پروژه‌های رباتیکی هستند. آن‌ها اطلاعاتی مثل نور، رطوبت، حرکت، رنگ یا فاصله را از محیط می‌گیرند و به برد کنترلر می‌دهند تا برنامه بتواند تصمیم بگیرد. در این مقاله مهم‌ترین سنسورهایی را که هنرجویان در پروژه‌های رباتیک با آن‌ها روبه‌رو می‌شوند معرفی می‌کنیم؛ از ژیروسکوپ و فتوسل تا رطوبت‌سنج، تشخیص رنگ و IR.

هدف این راهنما ورود به جزئیات سنگین الکترونیک نیست. می‌خواهیم بدانیم هر سنسور چه کاری انجام می‌دهد، کجا استفاده می‌شود، چطور به پروژه اضافه می‌شود و وقتی درست کار نکرد، از کجا باید عیب‌یابی را شروع کنیم.

راهنمای آموزشی سیگما • مناسب هنرجویان رباتیک و والدین

نکته مهم: اگر یک سنسور عدد اشتباه نشان می‌دهد، همیشه خود سنسور خراب نیست. تغذیه، نوع پایه، سیم‌کشی، کالیبراسیون، نور محیط، فاصله سنسور تا جسم و نحوه خواندن داده در برنامه همگی می‌توانند روی نتیجه اثر بگذارند.
🔍

۱. سنسور چیست و در رباتیک چه کاری انجام می‌دهد؟

سنسور قطعه‌ای است که یک ویژگی از محیط را اندازه‌گیری یا تشخیص می‌دهد و آن را به داده‌ای تبدیل می‌کند که برد کنترلر بتواند بخواند. مثلاً فتوسل میزان نور را تغییر می‌دهد، سنسور رطوبت شرایط محیط را گزارش می‌کند و سنسور IR می‌تواند وجود مانع یا خط تیره و روشن را تشخیص دهد.

در یک پروژه رباتیکی معمولاً مسیر کار ساده است: سنسور اطلاعات را دریافت می‌کند → برد داده را می‌خواند → برنامه تصمیم می‌گیرد → خروجی اجرا می‌شود. مثلاً در یک ربات مانع‌گریز، سنسور مانع را تشخیص می‌دهد و برنامه به موتور فرمان می‌دهد مسیر را تغییر دهد.

سنسورهای پرکاربردی که بیشتر با آن‌ها روبه‌رو می‌شویم

ژیروسکوپ و شتاب‌سنج: برای تشخیص حرکت، زاویه و تغییر وضعیت ربات؛ ماژول MPU6050 یکی از نمونه‌های رایج آموزشی است.
فتوسل (LDR): به نور واکنش نشان می‌دهد و در چراغ خودکار و پروژه‌های وابسته به روشنایی کاربرد دارد.
رطوبت‌سنج: برای اندازه‌گیری رطوبت محیط و در بعضی مدل‌ها دما؛ DHT11 و DHT22 نمونه‌های رایج هستند.
تشخیص رنگ: برای تشخیص تقریبی رنگ‌ها و دسته‌بندی اشیا در پروژه‌های آموزشی استفاده می‌شود.
IR: برای تشخیص مانع، تشخیص خط و بعضی سیستم‌های کنترل از راه دور کاربرد دارد.
اولتراسونیک: با ارسال و دریافت موج صوتی فاصله را تخمین می‌زند؛ HC-SR04 از نمونه‌های معروف است.

چند سنسور دیگر که در پروژه‌ها زیاد می‌بینیم

سنسور صدا برای تشخیص شدت یا وجود صدا و سنسور PIR برای تشخیص حرکت انسان یا حیوان کاربرد دارند. لازم نیست هنرجو همه سنسورها را حفظ کند؛ مهم‌تر این است که برای هر سنسور بداند چه چیزی را اندازه می‌گیرد، خروجی آن چیست و چگونه باید آن را به برد متصل کند.

💡

۲. سنسورها چه کاربردی در پروژه‌های رباتیک دارند؟

سنسورها باعث می‌شوند پروژه فقط یک برنامه ثابت نباشد و بتواند به محیط واکنش نشان دهد. هر سنسور نوعی اطلاعات را وارد برنامه می‌کند و بر اساس همان اطلاعات می‌توان رفتار ربات یا مدار را تغییر داد.

  • ژیروسکوپ برای تشخیص زاویه و حرکت در ربات‌های متعادل و کنترل وضعیت.
  • فتوسل برای تشخیص روشنایی و ساخت چراغ یا سیستم واکنش‌گرا به نور.
  • رطوبت‌سنج برای پروژه‌های محیطی، گلخانه و نمایش شرایط هوا.
  • سنسور رنگ برای دسته‌بندی اشیا یا تشخیص رنگ در مسیر.
  • IR برای تشخیص خط، مانع و بعضی کنترل‌های مادون قرمز.
  • اولتراسونیک برای اندازه‌گیری فاصله و ربات مانع‌گریز.

در آموزش بهتر است ابتدا فقط یک سنسور را به پروژه اضافه کنیم، مقدار آن را ببینیم و بعد آن را با موتور، بیزر یا نمایشگر ترکیب کنیم. این روش باعث می‌شود دانش‌آموز دقیقاً متوجه شود هر بخش چه نقشی دارد.

🚀

۳. سنسورها چطور در پروژه استفاده می‌شوند؟

روش اتصال سنسورها بسته به مدل متفاوت است، اما یک روند کلی می‌تواند جلوی بسیاری از خطاهای ابتدایی را بگیرد.

1
نام و پایه‌های سنسور را مشخص کنید.
قبل از اتصال بدانید VCC، GND و خروجی سنسور کدام پایه‌ها هستند.
2
نوع خروجی را بررسی کنید.
ببینید سنسور آنالوگ، دیجیتال یا از نوع ارتباطی مثل I2C است.
3
اول یک برنامه ساده اجرا کنید.
فقط مقدار سنسور را بخوانید و در Serial Monitor مشاهده کنید.
4
بعد سنسور را وارد پروژه اصلی کنید.
وقتی از عملکرد سنسور مطمئن شدید، موتور، بیزر یا بخش‌های دیگر را اضافه کنید.

کالیبراسیون چیست و چرا مهم است؟

بعضی سنسورها در محیط‌های مختلف عددهای متفاوتی می‌دهند. کالیبراسیون یعنی مقدار واقعی سنسور را در همان شرایط پروژه بررسی کنیم و حد یا Offset مناسب را در برنامه تنظیم کنیم. سنسور رنگ، ژیروسکوپ، فتوسل و IR از مواردی هستند که ممکن است به این کار نیاز داشته باشند.

int sensorValue = analogRead(A0);
Serial.println(sensorValue);

// ابتدا مقدار خام سنسور را ببینید،
// سپس شرط و آستانه مناسب را تعیین کنید.

۴. سنسورهای آنالوگ

سنسورهای آنالوگ معمولاً یک مقدار متغیر تولید می‌کنند. فتوسل نمونه ساده‌ای است؛ با تغییر نور، مقدار خوانده‌شده هم تغییر می‌کند. در این سنسورها بهتر است ابتدا عدد خام را در Serial Monitor ببینیم و بعد Threshold مناسب را بر اساس شرایط واقعی محیط انتخاب کنیم.

مقدار خام سنسور چه کمکی می‌کند؟

وقتی مقدار خام را می‌بینیم متوجه می‌شویم سنسور در تاریکی، روشنایی یا شرایط مختلف چه عددی می‌دهد. این اطلاعات برای نوشتن شرط درست بسیار مهم‌تر از حدس زدن یک عدد ثابت است.

برای سنسورهای آنالوگ، ابتدا چند مقدار در شرایط مختلف یادداشت کنید و بعد آستانه مناسب را انتخاب کنید.

۵. سنسورهای دیجیتال و ارتباطی

بعضی سنسورها داده را به شکل دیجیتال ارسال می‌کنند یا از ارتباط‌هایی مثل I2C استفاده می‌کنند. در این حالت علاوه بر سیم‌کشی، نوع ارتباط و کتابخانه مناسب هم باید بررسی شود. ژیروسکوپ‌ها و بسیاری از سنسورهای رنگ از این گروه هستند.

اگر سنسور با کتابخانه کار می‌کند

نام دقیق ماژول و کتابخانه سازگار با همان مدل را بررسی کنید. کدی که برای یک مدل نوشته شده ممکن است برای مدل دیگری بدون تغییر کار نکند.

قبل از استفاده از کد آماده، نام سنسور، ولتاژ کاری و پایه‌های ارتباطی آن را با ماژولی که در دست دارید مقایسه کنید.

۶. خطاها و مشکلات رایج سنسورها

در زمان عیب‌یابی هر بار فقط یک مورد را تغییر دهید. اگر چند چیز را هم‌زمان عوض کنید، حتی اگر مشکل حل شود مشخص نمی‌شود علت اصلی چه بوده است.

ابتدا VCC و GND را بررسی کنید، سپس پایه خروجی را با کدی که نوشته‌اید مقایسه کنید. اتصال اشتباه یا نبود تغذیه می‌تواند باعث مقدار ثابت شود.
نوسان همیشه نشانه خرابی نیست. نویز، نور، فاصله جسم و کیفیت اتصال می‌توانند روی داده اثر بگذارند. در صورت نیاز از میانگین‌گیری یا فیلتر ساده استفاده کنید.
ژیروسکوپ ممکن است Drift داشته باشد. در شروع سنسور را ثابت نگه دارید و Offset اولیه یا کالیبراسیون را انجام دهید.
نحوه قرار گرفتن LDR در تقسیم ولتاژ روی جهت تغییر مقدار اثر دارد. عدد سنسور را در روشنایی و تاریکی ببینید و شرط را بر اساس همان داده واقعی بنویسید.
پایه Data، تغذیه، نوع سنسور و کتابخانه را بررسی کنید. اگر مدل DHT11 یا DHT22 در کد اشتباه انتخاب شده باشد، خواندن داده می‌تواند مشکل پیدا کند.
نور محیط، فاصله سنسور تا جسم و سطح براق روی نتیجه اثر دارند. فاصله را ثابت کنید و برای رنگ‌های موردنظر کالیبراسیون انجام دهید.
حساسیت ماژول، رنگ سطح و نور شدید مخصوصاً نور خورشید می‌تواند روی IR اثر بگذارد. ابتدا حساسیت و فاصله را در محیط کنترل‌شده تنظیم کنید.
ممکن است پایه‌ها تداخل داشته باشند، تغذیه کافی نباشد یا برنامه زمان‌بندی مناسبی نداشته باشد. سنسور را دوباره جداگانه تست کنید و قطعات را مرحله‌ای اضافه کنید.

چک‌لیست سریع عیب‌یابی سنسورها

VCC و GND درست وصل شده‌اند؟
نوع پایه سنسور را درست انتخاب کرده‌ایم؟
پایه داخل کد با سیم‌کشی یکی است؟
مقدار خام در Serial Monitor دیده می‌شود؟
سنسور به کتابخانه خاص نیاز دارد؟
نیاز به کالیبراسیون یا Threshold دارد؟
نور، فاصله یا محیط روی نتیجه اثر گذاشته؟
سنسور به تنهایی تست شده است؟

۷. پرسش‌های متداول

فتوسل، IR و سنسور فاصله برای شروع مناسب‌اند چون نتیجه آن‌ها سریع و قابل مشاهده است.
خیر. ولتاژ، نوع خروجی و روش ارتباط هر سنسور باید بررسی شود. بعضی سنسورها کتابخانه یا اتصال خاص دارند.
نور، دما، تغذیه، فاصله و کالیبراسیون می‌توانند نتیجه را تغییر دهند. مقدار سنسور باید در شرایط واقعی همان پروژه بررسی شود.
ژیروسکوپ بیشتر تغییرات چرخش را اندازه می‌گیرد و شتاب‌سنج شتاب و جهت گرانش را حس می‌کند. بعضی ماژول‌ها هر دو را با هم دارند.
معمولاً مقدار آن از ورودی آنالوگ خوانده می‌شود و با یک حد مشخص مقایسه می‌شود تا روشن یا تاریک بودن محیط تشخیص داده شود.
نور خورشید مادون قرمز زیادی دارد و می‌تواند روی گیرنده IR اثر بگذارد. زاویه، فاصله و تنظیم حساسیت اهمیت دارند.
چون نور محیط، جنس سطح و فاصله سنسور از جسم روی مقادیر رنگ اثر می‌گذارند.
اول مقدار خام را با یک برنامه ساده و جدا از پروژه اصلی ببینید، بعد تغذیه، سیم‌کشی، نوع پایه و شرایط محیط را بررسی کنید.
🎯

جمع‌بندی

سنسورها به پروژه رباتیکی اجازه می‌دهند محیط اطراف را حس کند. ژیروسکوپ حرکت و زاویه را بررسی می‌کند، فتوسل به نور واکنش نشان می‌دهد، رطوبت‌سنج شرایط محیط را می‌سنجد و سنسورهای رنگ، IR و فاصله هر کدام نوع متفاوتی از اطلاعات را در اختیار برنامه قرار می‌دهند.

مهم‌تر از حفظ کردن نام همه سنسورها این است که هنرجو برای هر سنسور بداند چه چیزی را می‌سنجد، چه نوع خروجی دارد و اگر داده اشتباه بود، چگونه مرحله‌به‌مرحله علت را پیدا کند.

ژیروسکوپ

فتوسل

رطوبت‌سنج

تشخیص رنگ

IR

Ultrasonic