در این آموزش، یاد خواهیم گرفت که چگونه از یک حساس(حس کننده) جلوگیری از مانع مادون قرمز با ماجیول ESP32 برای تشخیص موانع استفاده کنیم. این پروژه نشان خواهد داد که چگونه حساس(حس کننده) میتواند هنگام تشخیص یک مانع، یک بوق را فعال کند. این تنظیم همچنین وضعیت تشخیص را در مانیتور سری نمایش خواهد داد و راهی واضح و تعاملی برای مشاهده عملکرد حساس(حس کننده) فراهم میکند.
ما با کیت یادگیری اینترنت اشیا SunFounder ESP32 کار خواهیم کرد، که شامل میکروکنترلر ESP32 با قابلیتهای Wi-Fi و Bluetooth است. حساس(حس کننده) مادون قرمز با ارسال نور مادون قرمز کار میکند، که از موانع نزدیک بازتاب مییابد. زمانی که نور بازتاب میشود، حساس(حس کننده) سیگنال خروجی را فعال میکند که ما در شِفر (کود) خود میخوانیم. ما همچنین یک زنگ هشدار را اضافه خواهیم کرد که هنگام شناسایی موانع فعال میشود و هشدار شنیداری ارائه میدهد.
سختافزار شرح داده شده
اجزای اصلی این پروژه شامل ماجیول ESP32، حساس(حس کننده) موانع مادون قرمز و زنگ هشدار است. ماجیول ESP32 به عنوان واحد پردازش مرکزی عمل میکند و ورودیهای حساس(حس کننده) را مدیریت و خروجیها را کنترل میکند. این ماجیول میتواند با استفاده از یک باتری لیتیومی تغذیه شود که آن را در حمل و نقل و انعطافپذیری برای کاربردهای مختلف مناسب میسازد.
حساس(حس کننده) جلوگیری از موانع مادون قرمز از یک فرستنده و یک گیرنده تشکیل شده است. فرستنده نور مادون قرمز را ارسال میکند، در حالی که گیرنده نور بازتابیده شده از اشیاء نزدیک را تشخیص میدهد. زمانی که یک مانع وجود دارد، پای خروجی حساس(حس کننده) پایین میآید و به ESP32 سیگنال میدهد که اقدام کند، مانند روشن کردن زنگ.
جزئیات برگه مشخصات
تولیدکننده
سان فاندور
شماره قطعه
حساس(حس کننده) جلوگیری از موانع اینفرارد
ولتاژ عملیاتی
۳.۳ ولت - ۵ ولت
نوع خروجی
دیجیتال (پایین هنگام شناسایی مانع)
دامنه تشخیص
تا 20 سانتیمتر
زمان پاسخ
کمتر از ۱۰ میلیثانیه
بسته
ماجیول
منبع تغذیه: ۳.۳ ولت تا ۵ ولت برای عملکرد.
سیگنال خروجی زمانی که موانع شناسایی میشوند، پایین میرود.
حساسیت قابل تنظیم از طریق پتانسیومتر.
دامنه شناسایی معمولاً تا ۲۰ سانتیمتر است.
زمان پاسخ سریع کمتر از 10 میلیثانیه.
دستورات سیمکشی
ESP32-19-obstacle_voide-wiring
برای وصل کردن حساس(حس کننده) موانع فروسرخ به ESP32، ابتدا پایه VCC حساس(حس کننده) را به پایه 5V روی ESP32 وصل کنید. سپس، پایه GND حساس(حس کننده) را به یکی از پایههای GND روی ESP32 وصل کنید. در نهایت، پایه OUT حساس(حس کننده) را به پایه GPIO 14 روی ESP32 وصل کنید.
برای بوق، پایه منفی را به GND و پایه مثبت را به پایه GPIO 27 اتصال دهید. اطمینان حاصل کنید که تمام اتصالات ایمن هستند و حساس(حس کننده) به درستی تغذیه میشود. کابلکشی باید ساده باشد، زیرا حساس(حس کننده) و بوق فقط به اتصالات ساده قدرت و سیگنال نیاز دارند.
مثالهای شِفر (کود) و راهنمایی
در شِفر (کود)، ابتدا پایه متصل به حساس(حس کننده) جلوگیری از موانع را تعریف میکنیم. این کار با استفاده از شناساگر انجام میشود.avoidPinتنظیم به 14. ما همچنین یک متغیر اعلام میکنیمavoidStateبرای نگهداشتن وضعیت خروجی حساس(حس کننده).
const int avoidPin = 14; // the number of the avoid module pin
int avoidState = 0;
در تابع راهاندازی، ما ارتباط سریال را راهاندازی کرده و تنظیم میکنیمavoidPinبه عنوان ورودی. این امکان را به ESP32 میدهد تا وضعیت خروجی حساس(حس کننده) را بخواند.
در تابع حلقه، به طور مداوم خروجی حساس(حس کننده) را میخوانیم با استفاده ازdigitalRead(avoidPin)و نتیجه را در ذخیره کنیدavoidStateاین مقدار سپس بر روی نمایشگر مسلسل چاپ میشود و به ما اجازه میدهد تا ببینیم آیا مانع شناسایی شده است (خروجی ۰) یا خیر (خروجی ۱).
برای شِفر (کود) کامل، لطفاً به بخش بارگذاری در زیر مقاله مراجعه کنید.
نمایش / چه انتظاری باید داشت
زمانی که تنظیمات کامل شد و شِفر (کود) بارگذاری شد، باید نمایشگر مسلسل را ببینید که یا 0 یا 1 را نمایش میدهد که بسته به اینکه آیا مانع شناسایی شده است یا خیر. زمانی که مانع در محدوده شناسایی قرار دارد، خروجی 0 خواهد بود و بوق به صدا در خواهد آمد. اگر مانع حذف شود، خروجی 1 خواهد بود و بوق متوقف خواهد شد. این عملکرد در ویدیو نشان داده شده است (در ویدیو در 12:30).
مسائل رایج ممکن است شامل سیمکشی نادرست باشد که میتواند منجر به نادرست عمل کردن حساس(حس کننده) شود، یا نرخهای baud نامتناسب در نمایشگر مسلسل که مانع از نمایش دقیق دادهها میشود. اطمینان حاصل کنید که این جنبهها را بررسی کنید اگر به مشکلاتی برخوردید.
برچسبهای زمانی ویدیو
۰۰:۰۰ شروع
معرفی پروژه ۱:۵۷
۴:۳۳ سیمکشی جلوگیری از موانع
شِفر (کود) آردوینو برای اجتناب از موانع 5:55
انتخاب برد ESP32 و پورت COM در محیط Arduino IDE در ساعت 7:36
۹:۱۸ نمایش پروژه
۱۰:۴۲ تنظیم دامنه افزایش حساسیت
۱۲:۳۹ اقدام زمانی که مانع شناسایی میشود
استفاده از زنگ برای تشخیص مانع: 14:24
تصاویر
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module