در این آموزش، ما یاد خواهیم گرفت که چگونه از ماجیول ESP32 همراه با ماجیول ردیابی خط برای شناسایی خطوط سیاه روی یک سطح سفید استفاده کنیم. این قابلیت برای برنامههایی مانند خودروهای رباتیک که نیاز به دنبال کردن یک مسیر مشخص دارند، ضروری است. علاوه بر این، ما یک بوق را ادغام خواهیم کرد که زمانی که ماجیول ردیابی خط، خط سیاه را شناسایی میکند، فعال میشود و مکانیسم بازخورد پروژه ما را تقویت میکند. برای توضیحات بیشتر، لطفاً به ویدیو مراجعه کنید (در ویدیو در 0:00).
خط ردیابی
توضیحات سختافزار
اجزای اصلی این پروژه شامل ماجیول ESP32، ماجیول ردیابی خط و زنگ هشدار است. ماجیول ESP32 یک میکروکنترلر قوی است که دارای قابلیتهای Wi-Fi و Bluetooth داخلی میباشد و امکان استفاده در دامنه وسیعی از کاربردهای IoT را فراهم میکند. ماجیول ردیابی خط از یک ساطعکننده مادون قرمز و مقاومت نوری برای شناسایی تفاوتهای رنگ سطح بر اساس شدت نور مادون قرمز بازتاب شده استفاده میکند.
ماجیول رهگیری خط با انتشار نور مادون قرمز که از سطح زیر آن بازتاب میشود، عمل میکند. سطح تیرهتر، مانند سیاه، نور بیشتری را جذب میکند و منجر به شدت بازتاب پایینتری میشود، در حالی که سطح روشنتر، مانند سفید، نور بیشتری را بازتاب میکند و شدت بالاتری را تولید میکند. این تفاوت توسط یک تقویتکننده عملیاتی پردازش میشود تا وضعیت سطح (سیاه یا سفید) را تعیین کرده و سیگنال مرتبط را خروجی دهد.
جزئیات برگه داده
سازنده
سانفاندر
شماره قطعه
TCRT5000
ولتاژ منطقی/ورودی و خروجی
۳.۳ ولت تا ۵ ولت
ولتاژ خروجی (به ازای هر کانال)
۲۰ میلی آمپر
جریان اوج (برای هر کانال)
50 میلی آمپر
زمان پاسخ
کمتر از ۱۰ میلیثانیه
دامنه شناسایی
1 سانتیمتر تا 5 سانتیمتر
بسته
ماجیول با پایههای هدر
یادداشتها / انواع
معمولاً در رباتهای پیرو خط استفاده میشود
اطمینان حاصل کنید که منبع تغذیه مناسب باشد (3.3 ولت یا 5 ولت).
حساس(حس کننده) را تمیز نگه دارید تا خوانشهای دقیقی داشته باشید.
حساسیت را با استفاده از پتانسیومتر داخلی تنظیم کنید.
اتصالات را بررسی کنید تا از ورودیهای شناور جلوگیری شود.
در صورت لزوم از مقاومتهای بالا برنده استفاده کنید تا خوانشها پایدار باشند.
حداقل کردن تداخل از منابع مادون قرمز محیطی.
دستورالعملهای سیمکشی
ESP32-20_line-tracking-wiring
برای وصل کردن ماجیول پیگیری خط به ESP32، ابتدا پایه زمین ماجیول را به یک پایه زمین روی ESP32 متصل کنید. سپس، پایه V+ ماجیول پیگیری خط را به یک منبع تغذیه مناسب، یا ۳.۳ ولت یا ۵ ولت روی ESP32 وصل کنید. پایه سیگنال (علامتگذاری شده به عنوانS) باید به GPIO 14 بر روی ESP32 متصل شود. قبل از ادامه، اطمینان حاصل کنید که این اتصالات ایمن هستند.
اگر از یک زنگ استفاده میکنید، پایه منفی آن را به زمین و پایه مثبت را به GPIO 27 در ESP32 متصل کنید. این تنظیمات اجازه میدهد تا زنگ زمانی که ماجیول ردیابی خط یک خط سیاه را تشخیص میدهد، فعال شود. حتماً تمام اتصالات را دوباره بررسی کنید تا مطمئن شوید که با پایههای مشخص شده در شِفر (کود) مطابقت دارند.
ESP32-20_طرح-دنبال-خط
نمونههای شِفر (کود) و راهنما
متن خالی است.linePinتعریف شده است که نمایانگر پایه متصل به ماجیول ردیابی خط باشد.
const int linePin = 14; // The number of the line track module pin
این خط راهاندازی میکندlinePinبه عنوان پایه 14، که برای خواندن وضعیت خط استفاده خواهد شد.lineStateمتغیر نتیجهای که از حساس(حس کننده) به دست میآید را نگه میدارد.
در setup()عملکرد، ما حالت پایه را برای تنظیم میکنیمlinePinبه عنوان ورودی.
این حلقه بررسی میکند که آیاlineStateاین مقدار HIGH (نشانهگذاری سیاه) یا LOW (نشانهگذاری سفید) است و نتیجه را به نمایشگر مسلسل چاپ میکند. شِفر (کود) کامل در زیر مقاله برای ارجاع شما بارگذاری میشود.
نمایش / چه انتظاری باید داشت
زمانی که سیمکشی کامل شد و شِفر (کود) بارگذاری گردید، شما باید مشاهده کنید که ESP32 عبارت "سیاه" را زمانی که ماجیول ردیابی خط بر روی یک سطح سیاه قرار دارد، چاپ میکند و "سفید" را زمانی که بر روی یک سطح سفید قرار دارد. علاوه بر این، هنگامی که ماجیول خط سیاه را تشخیص میدهد، بوق به صدا در میآید و یک هشدار شنیداری فراهم میکند. از تنظیمات پتانسیومتر احتیاط کنید، زیرا تنظیمات بیش از حد حساس میتواند منجر به رفتار نامنظم شود (در ویدیو در 10:00).
زمانبندی ویدیو
۰۰:۰۰ شروع
معرفی ماجیول ردیابی خط ۲:۲۲
صفحه مستندات 5:10
9:20 توضیح سیمکشی
شِفر (کود) آردوینو توضیح داده شده در 10:49
انتخاب برد ESP32 و پورت COM در IDE آردوینو 13:36
۱۵:۱۸ نمایشگاه
۱۸:۱۵ پروژه: پیگیری خط با بوق
19:52 شِفر (کود) آردوینو برای دنبال کردن خط و بوزر
۲۰:۵۲ نمایش
تصاویر
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
line_track
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
line_track
819-ESP32 Tutorial 20/55- Arduino code line tracking