فهرست مطالب:

دنبال کردن سبک و اجتناب از ربات بر اساس آردوینو: 5 مرحله
دنبال کردن سبک و اجتناب از ربات بر اساس آردوینو: 5 مرحله

تصویری: دنبال کردن سبک و اجتناب از ربات بر اساس آردوینو: 5 مرحله

تصویری: دنبال کردن سبک و اجتناب از ربات بر اساس آردوینو: 5 مرحله
تصویری: آیا س*کس از پشت را دوست دارید ؟😱😂😂😱(زیرنویس فارسی) 2024, نوامبر
Anonim
دنبال کردن سبک و اجتناب از ربات بر اساس آردوینو
دنبال کردن سبک و اجتناب از ربات بر اساس آردوینو

این یک پروژه ساده است که از نور پیروی می کند یا از آن اجتناب می کند.

این شبیه سازی را در Proteus 8.6 pro انجام دادم. اجزای مورد نیاز: -1) Arduino uno.

2) 3 LDR.

3) 2 موتور گیربکس DC 4) یک سروو 5) سه مقاومت 1k. 6) یک H-Bridge l290D7) یک کلید روشن و خاموش [برای تغییر وضعیت برنامه]

8) 9 ولت و 5 ولت Battry

مرحله 1: کد Ardunio

کد آردوینو در تاریخ 23 فوریه 2016 تغییر یافته است]

این کد بسیار کامنت گذاری شده است من نمی خواهم توضیح دهم ، اما اگر به کمک احتیاج داشتید با من تماس بگیرید ([email protected])

توجه: -من در این برنامه از دو شرط اول برای Light Following استفاده می کنم.

تا جایی که این شرایط برآورده شود ، ربات از نور پیروی می کند یا از آن اجتناب می کند. [این حداقل مقدار LDR است که من انتخاب می کنم. در نور معمولی ، محدوده آن 80 تا 95 است ، اما با افزایش شدت ولتاژهای بیشتر و بیشتر در هنگام کار بر روی اصل تقسیم ولتاژ در a = 400 ؛ // مقدار تحمل]

مرحله 2: فایل های پروتئوس

برای کتابخانه آردوینو از آن پیوند بارگیری کنید

مرحله 3: چگونه پل H شما کار می کند

پل H شما چگونه کار می کند
پل H شما چگونه کار می کند
پل H شما چگونه کار می کند
پل H شما چگونه کار می کند

L293NE/SN754410 یک پل H بسیار اساسی است. دارای دو پل ، یکی در سمت چپ تراشه و دیگری در سمت راست ، و می تواند 2 موتور را کنترل کند. می تواند تا 1 آمپر جریان داشته باشد و بین 4.5 ولت تا 36 ولت کار کند. موتور DC کوچک که در این آزمایشگاه استفاده می کنید می تواند با خیال راحت از ولتاژ پایین کار کند ، بنابراین این پل H به خوبی کار می کند. پل H دارای پین ها و ویژگی های زیر است: پین 1 (1 ، 2EN) موتور ما را فعال یا غیرفعال می کند که آیا HIGH یا LOW می دهد پین 2 (1A) یک پین منطقی برای موتور ما است (ورودی یا HIGH یا LOW است) 3 (1Y) برای یکی از پایانه های موتور پین 4-5 برای زمین است پین 6 (2Y) برای پایانه های موتور دیگر پین 7 (2A) یک پین منطقی برای موتور ما است (ورودی یا بالا یا پایین است) پین 8 (VCC2) منبع تغذیه موتور ما است ، باید به آن ولتاژ نامی موتور شما داده شود پین 9-11 وصل نیست زیرا شما فقط از یک موتور در این آزمایشگاه استفاده می کنید پین 12-13 برای زمین است پین 14-15 بدون اتصال است پین 16 (VCC1) است به 5V متصل شده است. در بالا نمودار H-bridge است و کدام پین ها در مثال ما کاری انجام می دهند. همراه نمودار یک جدول حقیقت وجود دارد که نحوه عملکرد موتور را بر اساس وضعیت پایه های منطقی (که توسط آردوینو ما تنظیم شده است) نشان می دهد.

در این پروژه ، پین فعال به یک پین دیجیتالی در Arduino شما متصل می شود ، بنابراین می توانید آن را به صورت HIGH یا LOW ارسال کرده و موتور را روشن یا خاموش کنید. پین های منطقی موتور نیز به پین های دیجیتالی تعیین شده در آردوینو متصل هستند ، بنابراین می توانید آن را HIGH و LOW ارسال کنید تا موتور در یک جهت بچرخد ، یا LOW و HIGH برای چرخاندن آن در جهت دیگر. ولتاژ منبع تغذیه به منبع ولتاژ موتور متصل می شود که معمولاً منبع تغذیه خارجی است. اگر موتور شما می تواند با 5 ولت و کمتر از 500 میلی آمپر کار کند ، می توانید از خروجی 5 ولت آردوینو استفاده کنید. اکثر موتورها به ولتاژ بالاتر و جریان بیشتری از این نیاز دارند ، بنابراین شما به منبع تغذیه خارجی نیاز دارید.

موتور را به پل H متصل کنید موتور را به پل H وصل کنید همانطور که در تصویر 2 نشان داده شده است.

یا اگر از منبع تغذیه خارجی برای آردوینو استفاده می کنید ، می توانید از پین Vin استفاده کنید.

مرحله 4: نحوه عملکرد LDR

اکنون اولین چیزی که ممکن است نیاز به توضیح بیشتری داشته باشد ، استفاده از مقاومت های وابسته به نور است. مقاومت های وابسته به نور (یا LDR) مقاومت هایی هستند که مقدار آنها بسته به میزان نور محیط تغییر می کند ، اما چگونه می توان با آردوینو مقاومت را تشخیص داد؟ خوب ، واقعاً نمی توانید ، با این حال می توانید سطوح ولتاژ را با استفاده از پین های آنالوگ ، که می تواند بین 0 تا 5 ولت اندازه گیری شود ، تشخیص دهید. اکنون ممکن است بپرسید "خوب چگونه مقادیر مقاومت را به تغییرات ولتاژ تبدیل می کنیم؟" ، ساده است ، ما تقسیم ولتاژ را ایجاد می کنیم. تقسیم کننده ولتاژ ولتاژ را وارد می کند و سپس بخشی از آن را متناسب با ولتاژ ورودی و نسبت دو مقدار مقاومت استفاده شده ، خروجی می دهد. معادله ای که برای آن آمده است:

ولتاژ خروجی = ولتاژ ورودی * (R2 / (R1 + R2)) که R1 مقدار مقاومت اول و R2 مقدار مقاومت دوم است.

اکنون این س theال مطرح است "اما LDR چه ارزشهای مقاومتی دارد؟" ، سوال خوبی است. هرچه میزان نور محیط کمتر باشد مقاومت بیشتر است ، نور محیط بیشتر به معنای مقاومت کمتر است. در حال حاضر برای LDR های خاص من از محدوده مقاومت آنها بین 200 تا 10 کیلو اهم استفاده می کنم ، اما این برای موارد مختلف تغییر می کند ، بنابراین مطمئن شوید که از کجا آنها را خریداری کرده اید و سعی کنید یک برگه داده یا چیزی از این دست پیدا کنید. در حال حاضر در این مورد R1 در واقع LDR ما است ، بنابراین بیایید این معادله را برگردانیم و جادوی ریاضی (جادوی الکتریکی ریاضی) انجام دهیم. در حال حاضر ابتدا باید این مقادیر کیلو اهم را به اهم تبدیل کنیم: 200 کیلو اهم = 200 ، 000 اهم 10 kilo-ohms = 10، 000 اهم بنابراین برای پیدا کردن ولتاژ خروجی در حالت سیاه رنگ ، اعداد زیر را وصل می کنیم: 5 * (10000 / (200000 + 10000)) ورودی 5V است ، همان چیزی است که ما دریافت می کنیم از آردوینو بالا 0.24V (گرد) می دهد. در حال حاضر با استفاده از اعداد زیر می بینیم که ولتاژ خروجی در حداکثر روشنایی چیست: 5 * (10000 / (10000 + 10000)) و این به ما دقیقاً 2.5 ولت می دهد. بنابراین این مقادیر ولتاژ است که ما قصد داریم به پین های آنالوگ آردوینو وارد کنیم ، اما این مقادیری نیست که در برنامه نشان داده می شود ، "اما چرا؟" ممکن است بپرسید آردوینو از تراشه آنالوگ به دیجیتال استفاده می کند که ولتاژ آنالوگ را به داده های دیجیتالی قابل استفاده تبدیل می کند. برخلاف پین های دیجیتالی در آردوینو که فقط می توانند حالت بالا یا پایین 0 و 5 ولت را بخوانند ، پین های آنالوگ می توانند از 0-5 ولت بخوانند و این عدد را به محدوده اعداد 0-1023 تبدیل کنند. به ما در واقع می توانیم محاسبه کنیم که آردوینو واقعاً چه مقادیری را می خواند.

از آنجا که این یک تابع خطی خواهد بود ، می توانیم از فرمول زیر استفاده کنیم: Y = mX + C Where؛ Y = ارزش دیجیتال در کجا ؛ m = شیب ، (افزایش / اجرا) ، (ارزش دیجیتال / مقدار آنالوگ) کجا ؛ رهگیری Y 0 است به طوری که به ما می دهد: Y = mXm = 1023 /5 = 204.6 بنابراین: ارزش دیجیتال = 204.6 * مقدار آنالوگ بنابراین در سیاه و سفید مقدار دیجیتال برابر خواهد بود: 204.6 * 0.24 که تقریبا 49 می دهد. و در روشنایی اوج آن: چرخاندن ربات به آن سمت

توصیه شده: