فهرست مطالب:

نحوه ایجاد مانع آردوینو برای جلوگیری از ربات در خانه: 4 مرحله
نحوه ایجاد مانع آردوینو برای جلوگیری از ربات در خانه: 4 مرحله

تصویری: نحوه ایجاد مانع آردوینو برای جلوگیری از ربات در خانه: 4 مرحله

تصویری: نحوه ایجاد مانع آردوینو برای جلوگیری از ربات در خانه: 4 مرحله
تصویری: اسید کاری و سولدرماسک،جلسه اول pcb آموزش چاپ | pcb print 2024, دسامبر
Anonim
Image
Image

سلام بچه ها ، در این دستورالعمل ، شما مانع جلوگیری از ربات می شوید. این دستورالعمل شامل ساخت یک ربات با سنسور اولتراسونیک است که می تواند اجسام نزدیک را تشخیص داده و جهت جلوگیری از این اجسام را تغییر دهد. سنسور اولتراسونیک به سروو موتور متصل می شود که دائماً در حال جستجو برای چپ و راست به دنبال اجسامی در سر راه خود است.

بنابراین ، بدون بحث بیشتر ، بیایید شروع کنیم!

مرحله 1: آنچه در این پروژه نیاز دارید:

آنچه در این پروژه نیاز دارید
آنچه در این پروژه نیاز دارید
آنچه در این پروژه نیاز دارید
آنچه در این پروژه نیاز دارید

در اینجا لیست قطعات است:

1) آردوینو اونو

2) سپر راننده موتور

3) موتور دنده ، قاب و چرخ تنظیم شده است

4) سرو موتور

5) سنسور اولتراسونیک

6) باتری لیتیوم یون (2 برابر)

7) نگهدارنده باتری

8) سیم بلوز نر و ماده

9) آهن لحیم کاری

10) شارژر

مرحله 2: نمودار مدار

مدار
مدار

کار کردن:

قبل از شروع به کار روی پروژه ، مهم است که نحوه عملکرد سنسور اولتراسونیک را درک کنید. اصل اساسی پشت سنسور اولتراسونیک به شرح زیر است:

با استفاده از یک سیگنال ماشه خارجی ، پین Trig روی سنسور اولتراسونیک حداقل 10 میکرومتر منطقی است. یک انفجار صوتی از ماژول فرستنده ارسال می شود. این شامل 8 پالس 40KHz است.

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

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

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

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

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

مرحله 3: برنامه نویسی Arduino UNO

#عبارتند از

#عبارتند از

#عبارتند از

# تعریف TRIG_PIN A1

# تعریف ECHO_PIN A0

# تعریف MAX_DISTANCE 200

# define MAX_SPEED 255 // سرعت موتورهای DC را تنظیم می کند

# تعریف MAX_SPEED_OFFSET 20

سونار NewPing (TRIG_PIN ، ECHO_PIN ، MAX_DISTANCE) ؛

موتور AF_DC موتور 3 (3 ، MOTOR34_1KHZ) ؛

موتور AF_DC موتور 4 (4 ، MOTOR34_1KHZ) ؛ Servo myservo؛

boolean goingForward = false؛

int فاصله = 100 ؛ int speedSet = 0؛

void setup () {

myservo.attach (10)؛

myservo.write (115)؛ تاخیر (2000) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ }

حلقه خالی () {

int distanceR = 0 ؛ int فاصله L = 0 ؛ تأخیر (40) ؛

if (فاصله <= 15) {moveStop ()؛ تأخیر (100) ؛ moveBackward ()؛ تأخیر (300) ؛ moveStop ()؛ تأخیر (200) ؛ distanceR = lookRight ()؛ تأخیر (200) ؛ distanceL = lookLeft ()؛ تأخیر (200) ؛

if (distanceR> = distanceL) {

بپیچ به راست()؛ moveStop ()؛ } else {turnLeft ()؛ moveStop ()؛ }} else {moveForward ()؛ } distance = readPing ()؛ }

int lookRight () {

myservo.write (50)؛ تأخیر (500) ؛ int distance = readPing ()؛ تأخیر (100) ؛ myservo.write (115)؛ فاصله بازگشت ؛ }

int lookLeft () {

myservo.write (170)؛ تأخیر (500) ؛ int distance = readPing ()؛ تأخیر (100) ؛ myservo.write (115)؛ فاصله بازگشت ؛ تأخیر (100) ؛ }

int readPing () {

تأخیر (70) ؛ int cm = sonar.ping_cm ()؛ اگر (cm == 0) {cm = 250؛ } بازگشت cm؛ }

void moveStop () {

motor3.run (انتشار) ؛

motor4.run (انتشار) ؛ }

void moveForward () {

if (! goingForward) {

goForward = true؛

motor3.run (FORWARD)؛

motor4.run (FORWARD)؛ برای (speedSet = 0 ؛ speedSet <MAX_SPEED؛ speedSet += 2) // به آرامی سرعت را بالا ببرید تا از بارگیری سریع باتری جلوگیری شود {

motor3.setSpeed (speedSet) ؛

motor4.setSpeed (speedSet) ؛ تأخیر (5) ؛ }}}

void moveBackward () {

goForward = false؛

motor3.run (BACKWARD) ؛

motor4.run (BACKWARD) ؛ برای (speedSet = 0 ؛ speedSet <MAX_SPEED ؛ speedSet += 2) // به آرامی سرعت را بالا ببرید تا از بارگیری سریع باتری جلوگیری شود {

motor3.setSpeed (speedSet) ؛

motor4.setSpeed (speedSet) ؛ تأخیر (5) ؛ }}

void turnRight () {

motor3.run (FORWARD)؛

motor4.run (BACKWARD) ؛ تأخیر (500) ؛

motor3.run (FORWARD)؛

motor4.run (FORWARD)؛ }

void turnLeft () {

motor3.run (BACKWARD) ؛

motor4.run (FORWARD)؛ تأخیر (500) ؛

motor3.run (FORWARD)؛

motor4.run (FORWARD)؛ }

1) Arduino Desktop IDE را بارگیری و نصب کنید

  • windows -
  • Mac OS X -
  • لینوکس -

2) فایل کتابخانه NewPing (کتابخانه عملکرد سنسور اولتراسونیک) را در پوشه کتابخانه های Arduino بارگیری و جایگذاری کنید.

  1. NewPing.rar را در زیر بارگیری کنید
  2. آن را در مسیر - C: / Arduino / libraries استخراج کنید

3) کد را از طریق کابل USB روی برد Arduino بارگذاری کنید

کد بارگیری:

مرحله 4: عالی است

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

خوشحال میشم به هر سوالی که دارید پاسخ بدم

ایمیل من: [email protected]

وب سایت:

مشترک شدن در کانال YouTube من:

اینستاگرام:

فیس بوک:

متشکرم:)

توصیه شده: