نحوه ساخت ربات در خانه (همراه با تصاویر)

فهرست مطالب:

نحوه ساخت ربات در خانه (همراه با تصاویر)
نحوه ساخت ربات در خانه (همراه با تصاویر)

تصویری: نحوه ساخت ربات در خانه (همراه با تصاویر)

تصویری: نحوه ساخت ربات در خانه (همراه با تصاویر)
تصویری: نکات و ترفندهای SketchUp: تصویر، بافت، گزینه‌های واردات عکس همسان 2024, ممکن است
Anonim

آیا می خواهید نحوه ساخت ربات خود را بیاموزید؟ انواع مختلفی از روبات ها وجود دارد که می توانید به تنهایی آنها را بسازید. اکثر مردم می خواهند یک ربات را مشاهده کنند که وظایف ساده حرکت از نقطه A به نقطه B را انجام می دهد. شما می توانید یک روبات را کاملاً از اجزای آنالوگ بسازید یا از ابتدا یک کیت استارت بخرید! ساخت ربات شخصی شما راهی عالی برای آموزش الکترونیک و برنامه نویسی کامپیوتر است.

مراحل

قسمت 1 از 6: مونتاژ ربات

1123333 1
1123333 1

مرحله 1. اجزای خود را جمع آوری کنید

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

  • Arduino Uno (یا میکروکنترلر دیگر)
  • 2 سروو چرخش مداوم
  • 2 چرخ مناسب سروو
  • 1 غلتک کاستور
  • 1 تخته نان کوچک بدون لحیم (به دنبال یک تخته نان باشید که در هر طرف دو خط مثبت و منفی داشته باشد)
  • 1 سنسور فاصله (با کابل اتصال چهار پین)
  • 1 سوئیچ مینی دکمه
  • 1 مقاومت 10 کیلو وات
  • 1 کابل USB A تا B
  • 1 مجموعه سربرگ جدا شده
  • 1 نگهدارنده باتری 6 x AA با جک برق 9V DC
  • 1 بسته سیم جامپر یا سیم قلاب 22 سنج
  • نوار قوی دو طرفه یا چسب حرارتی
1123333 2
1123333 2

مرحله 2. بسته باتری را بچرخانید تا پشت تخت به سمت بالا باشد

شما بدن ربات را با استفاده از بسته باتری به عنوان پایه می سازید.

1123333 3
1123333 3

مرحله 3. دو سروو را در انتهای بسته باتری تراز کنید

این باید به این معنا باشد که سیم باتری از سرو خارج می شود و سرویس ها باید به پایین برخورد کنند و مکانیسم های چرخشی هر کدام باید به طرف طرف بسته باتری باشد. سرویس ها باید به درستی تراز شوند تا چرخ ها مستقیماً حرکت کنند. سیم های سرویس ها باید از پشت باتری خارج شوند.

1123333 4
1123333 4

مرحله 4. سروها را با نوار یا چسب خود بچسبانید

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

سرووها باید نصف پشت باتری را بگیرند

1123333 5
1123333 5

مرحله 5. تخته نان را عمود بر فضای باز بسته باتری بچسبانید

باید کمی از جلوی باتری آویزان شود و از هر طرف فراتر رود. قبل از ادامه کار ، مطمئن شوید که محکم محکم شده است. ردیف "A" باید نزدیک به سروها باشد.

1123333 6
1123333 6

مرحله 6. میکروکنترلر آردوینو را به بالای سرویس ها وصل کنید

اگر سروها را به درستی وصل کرده اید ، باید یک فضای مسطح ایجاد شود که توسط آنها لمس می شود. برد آردوینو را روی این فضای مسطح بچسبانید تا کانکتورهای USB و Power آردوینو رو به پشت (دور از تخته نان) باشد. جلوی آردوینو باید به سختی روی تخته نان همپوشانی داشته باشد.

1123333 7
1123333 7

مرحله 7. چرخ ها را روی سروها قرار دهید

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

1123333 8
1123333 8

مرحله 8. کاستور را به پایین تخته نان متصل کنید

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

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

قسمت 2 از 6: سیم کشی ربات

1123333 9
1123333 9

مرحله 1. دو سرصفحه 3 پینی را جدا کنید

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

1123333 10
1123333 10

مرحله 2. دو سربرگ را در پین های 1-3 و 6-8 در ردیف E تخته ورقه وارد کنید

مطمئن شوید که آنها محکم درج شده اند.

1123333 11
1123333 11

مرحله 3. کابل های سروو را به هدرها و کابل سیاه در سمت چپ (پایه های 1 و 6) وصل کنید

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

1123333 12
1123333 12

مرحله 4. سیم های بلوز قرمز را از پایه های C2 و C7 به پایه های قرمز (مثبت) ریل وصل کنید

مطمئن شوید که از ریل قرمز پشت تخته نان (نزدیک به بقیه شاسی) استفاده می کنید.

1123333 13
1123333 13

مرحله 5. سیم های بلوز سیاه را از پایه های B1 و B6 به پین های ریل آبی (زمینی) وصل کنید

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

1123333 14
1123333 14

مرحله 6. سیم های بلوز سفید را از پایه های 12 و 13 در آردوینو به A3 و A8 وصل کنید

این امر به آردوینو اجازه می دهد سرویس ها را کنترل کرده و چرخ ها را بچرخاند.

1123333 15
1123333 15

مرحله 7. سنسور را به جلوی تخته نان وصل کنید

به ریل های تغذیه بیرونی روی تخته نان متصل نمی شود ، بلکه به ردیف اول پین های حروف (J) متصل می شود. مطمئن شوید که آن را در مرکز دقیق قرار داده اید و تعداد پین های مساوی در هر طرف موجود است.

1123333 16
1123333 16

مرحله 8. یک سیم بلوز مشکی از پایه I14 را به اولین پین راه آهن آبی موجود در سمت چپ سنسور وصل کنید

با این کار سنسور زمین می خورد.

1123333 17
1123333 17

مرحله 9. یک سیم بلوز قرمز را از پین I17 به اولین پین ریل قرمز موجود در سمت راست سنسور وصل کنید

با این کار سنسور تغذیه می شود.

1123333 18
1123333 18

مرحله 10. سیم های بلوز سفید را از پین I15 به پین 9 در آردوینو و از I16 به پین 8 وصل کنید

این اطلاعات را از سنسور به میکروکنترلر منتقل می کند.

قسمت 3 از 6: سیم کشی برق

1123333 19
1123333 19

مرحله 1. روبات را به طرف دیگر بچرخانید تا بتوانید باتری های موجود در بسته را ببینید

جهت را طوری تنظیم کنید که کابل بسته باتری در پایین به سمت چپ بیرون بیاید.

1123333 20
1123333 20

مرحله 2. یک سیم قرمز را از سمت چپ در پایین به فنر دوم وصل کنید

اطمینان حاصل کنید که بسته باتری به درستی جهت گیری شده است.

1123333 21
1123333 21

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

این دو کابل به ارائه ولتاژ مناسب به آردوینو کمک می کند.

1123333 22
1123333 22

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

کابل مشکی باید در پین 30 به پین ریل آبی متصل شود. کابل قرمز باید در پین 30 به پین ریل قرمز متصل شود.

1123333 23
1123333 23

مرحله 5. یک سیم مشکی از پایه GND در آردوینو به ریل آبی عقب متصل کنید

آن را در پین 28 روی ریل آبی وصل کنید.

1123333 24
1123333 24

مرحله 6. یک سیم سیاه از ریل آبی عقب به ریل آبی جلو در پین 29 برای هر کدام وصل کنید

ریل های قرمز را به هم وصل نکنید ، زیرا احتمالاً به آردوینو آسیب می رسانید.

1123333 25
1123333 25

مرحله 7. یک سیم قرمز را از ریل قرمز جلو در پین 30 به پین 5 ولت در آردوینو وصل کنید

این امر به آردوینو قدرت می بخشد.

1123333 26
1123333 26

مرحله 8. کلید فشاری را در فاصله بین ردیف های پین 24-26 وارد کنید

این سوئیچ به شما امکان می دهد ربات را بدون نیاز به قطع برق خاموش کنید.

1123333 27
1123333 27

مرحله 9. یک سیم قرمز از H24 را به ریل قرمز در پین بعدی موجود در سمت راست سنسور وصل کنید

با این کار دکمه روشن می شود.

1123333 28
1123333 28

مرحله 10. از مقاومت برای اتصال H26 به ریل آبی استفاده کنید

آن را مستقیماً در کنار سیم مشکی که چند مرحله پیش وصل کرده اید ، وصل کنید.

1123333 29
1123333 29

مرحله 11. یک سیم سفید از G26 را به پین 2 در آردوینو وصل کنید

این به Arduino اجازه می دهد تا دکمه فشار را ثبت کند.

قسمت 4 از 6: نصب نرم افزار Arduino

1123333 30
1123333 30

مرحله 1. IDE آردوینو را بارگیری و استخراج کنید

این محیط توسعه Arduino است و به شما امکان می دهد دستورالعمل هایی را برنامه ریزی کنید که می توانید در میکروکنترلر Arduino خود بارگذاری کنید. می توانید آن را به صورت رایگان از arduino.cc/fa/main/software بارگیری کنید. فایل بارگیری شده را با دوبار کلیک کردن از حالت فشرده خارج کرده و پوشه را به مکانی آسان برای دسترسی منتقل کنید. شما در واقع برنامه را نصب نخواهید کرد. در عوض ، فقط با دوبار کلیک روی arduino.exe آن را از پوشه استخراج شده اجرا کنید.

1123333 31
1123333 31

مرحله 2. بسته باتری را به آردوینو وصل کنید

جک عقب باتری را به کانکتور آردوینو وصل کنید تا به آن نیرو دهد.

1123333 32
1123333 32

مرحله 3. Arduino را از طریق USB به رایانه خود وصل کنید

ویندوز به احتمال زیاد دستگاه را تشخیص نمی دهد.

1123333 33
1123333 33

مرحله 4. فشار دهید

⊞ Win+R و تایپ کنید devmgmt.msc.

با این کار Device Manager راه اندازی می شود.

1123333 34
1123333 34

مرحله 5. روی "دستگاه ناشناس" در بخش "سایر دستگاهها" راست کلیک کرده و "Update Driver Software" را انتخاب کنید

" اگر این گزینه را نمی بینید ، روی "Properties" کلیک کنید ، برگه "Driver" را انتخاب کنید و سپس "Update Driver" را کلیک کنید.

1123333 35
1123333 35

مرحله 6. گزینه "Browse my computer for software drivers" را انتخاب کنید

" این به شما امکان می دهد درایور همراه با Arduino IDE را انتخاب کنید.

1123333 36
1123333 36

مرحله 7. روی "مرور" کلیک کنید و سپس به پوشه ای که قبلاً استخراج کرده اید بروید

داخل آن یک پوشه "drivers" پیدا خواهید کرد.

1123333 37
1123333 37

مرحله 8. پوشه "drivers" را انتخاب کرده و روی "OK" کلیک کنید

" در صورت هشدار در مورد نرم افزار ناشناخته ، تأیید کنید که می خواهید ادامه دهید.

قسمت 5 از 6: برنامه نویسی ربات

1123333 38
1123333 38

مرحله 1. Arduino IDE را با دوبار کلیک روی فایل arduino.exe در پوشه IDE شروع کنید

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

1123333 39
1123333 39

مرحله 2. کد زیر را بچسبانید تا ربات شما مستقیماً حرکت کند

کد زیر باعث می شود آردوینو شما به طور مداوم به جلو حرکت کند.

#include // این کتابخانه "Servo" را به برنامه اضافه می کند // موارد زیر دو سروو شی ایجاد می کند Servo leftMotor؛ سروو راست موتور؛ void setup () {leftMotor.attach (12)؛ // اگر به طور تصادفی شماره های پین را برای سرویس های خود تغییر داده اید ، می توانید اعداد را در اینجا با rightMotor.attach (13) عوض کنید. } void loop () {leftMotor.write (180)؛ // با چرخش مداوم ، 180 به سروو می گوید که با سرعت کامل "به جلو" حرکت کند. rightMotor نوشتن (0) ؛ // اگر هر دوی اینها در 180 باشند ، ربات به صورت دایره ای حرکت می کند زیرا سرووها چرخانده می شوند. "0" ، به آن می گوید که با سرعت تمام "عقب" حرکت کند. }

1123333 40
1123333 40

مرحله 3. برنامه را بسازید و بارگذاری کنید

روی دکمه پیکان سمت راست در گوشه بالا سمت چپ کلیک کنید تا برنامه را در Arduino متصل شده بارگذاری کرده و بارگذاری کنید.

ممکن است بخواهید ربات را از سطح زمین بلند کنید ، زیرا هنگامی که برنامه بارگذاری شد ، به حرکت خود ادامه می دهد

1123333 41
1123333 41

مرحله 4. قابلیت kill kill را اضافه کنید

کد زیر را به بخش "void loop ()" کد خود اضافه کنید تا سوئیچ kill در بالای توابع "write ()" فعال شود.

if (digitalRead (2) == HIGH) // این زمانی ثبت می شود که دکمه روی پین 2 آردوینو فشار داده شود {while (1) {leftMotor.write (90)؛ // "90" برای سروها موقعیت خنثی است ، که به آنها می گوید از چرخش به سمت راست متوقف نشوید. Motor.write (90)؛ }}

1123333 42
1123333 42

مرحله 5. کد خود را بارگذاری و آزمایش کنید

با افزودن کد kill kill می توانید ربات را بارگذاری و آزمایش کنید. تا زمانی که سوئیچ را فشار ندهید باید به جلو حرکت کند ، در این هنگام حرکت آن متوقف می شود. کد کامل باید به این شکل باشد:

#include // موارد زیر دو سروو شی ایجاد می کند Servo leftMotor؛ سروو راست موتور؛ void setup () {leftMotor.attach (12)؛ rightMotor.attach (13)؛ } void loop () {if (digitalRead (2) == HIGH) {while (1) {leftMotor.write (90)؛ rightMotor.write (90)؛ }} leftMotor.write (180)؛ rightMotor.write (0)؛ }

قسمت 6 از 6: مثال

مرحله 1. یک مثال را دنبال کنید

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

#شامل سروو سمت چپ موتور ؛ سروو راست موتور؛ const int serialPeriod = 250؛ // این امر خروجی کنسول را به یک بار در هر 1/4 ثانیه بدون امضای طولانی مدت محدود می کندSerialDelay = 0؛ const int loopPeriod = 20؛ // این تنظیم می کند که سنسور هر چند وقت یک بار خوانده شده را به 20ms می رساند ، که فرکانس 50Hz بدون امضای طولانی مدت است LoopDelay = 0؛ // این تابع TRIG و ECHO را به پین های آردوینو اختصاص می دهد. اگر به طور متفاوتی const int ultrasonic2TrigPin = 8 را متصل کردید ، اعداد را در اینجا تنظیم کنید. const int ultrasonic2EchoPin = 9؛ int ultrasonic2Distance؛ int ultrasonic2Duration؛ // این دو حالت ممکن برای ربات را تعریف می کند: رانندگی به جلو یا گردش به چپ #تعریف DRIVE_FORWARD 0 #تعریف TURN_LEFT 1 int حالت = DRIVE_FORWARD؛ // 0 = رانندگی به جلو (پیش فرض) ، 1 = گردش به چپ void setup () {Serial.begin (9600) ؛ // این تنظیمات پین سنسور pinMode (ultrasonic2TrigPin، OUTPUT) ؛ pinMode (ultrasonic2EchoPin ، INPUT) ؛ // این موتورها را به پین های Arduino leftMotor.attach (12) اختصاص می دهد. rightMotor.attach (13)؛ } void loop () {if (digitalRead (2) == HIGH) // این سوئیچ kill را تشخیص می دهد {while (1) {leftMotor.write (90)؛ rightMotor.write (90)؛ }} debugOutput ()؛ // این پیامهای اشکال زدایی را در کنسول سریال if (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors () چاپ می کند // این به سنسور دستور می دهد تا فاصله های اندازه گیری شده stateMachine () را بخواند و ذخیره کند. timeLoopDelay = میلی ثانیه ()؛ }} void stateMachine () {if (state == DRIVE_FORWARD) // در صورت عدم وجود موانع {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // اگر در جلوی ربات چیزی وجود ندارد. ultrasonicDistance در صورتی که مانعی وجود نداشته باشد برای برخی از سونوگرافی ها منفی خواهد بود {// drive rightMotor.write (180)؛ leftMotor.write (0)؛ } else // اگر شیئی در مقابل ما باشد {state = TURN_LEFT؛ }} else if (state == TURN_LEFT) // اگر مانعی تشخیص داده شد ، به چپ بپیچید {unsigned long timeToTurnLeft = 500؛ // برای چرخش 90 درجه حدود 0.5 ثانیه طول می کشد. اگر اندازه چرخ های شما متفاوت از نمونه turnStartTime = millis () باشد ، ممکن است نیاز به تنظیم آن داشته باشید. // صرفه جویی در زمانی که ما شروع به چرخاندن کردیم در حالی که ((millis ()-turnStartTime) <timeToTurnLeft) // در این حلقه بمانید تا زمانی که timeToTurnLeft سپری شود {// به چپ بپیچید ، به یاد داشته باشید که وقتی هر دو روی "180" تنظیم می شوند ، تبدیل می شود به rightMotor.write (180)؛ leftMotor.write (180)؛ } state = DRIVE_FORWARD؛ }} void readUltrasonicSensors () {// این برای اولتراسونیک 2 است. اگر از سنسور دیگری استفاده می کنید ممکن است نیاز به تغییر این دستورات داشته باشید. digitalWrite (ultrasonic2TrigPin ، HIGH) ؛ تاخیر میکروثانیه (10)؛ // پین ماشه را حداقل 10 میکروثانیه digitalWrite (ultrasonic2TrigPin، LOW) بالا نگه می دارد ؛ ultrasonic2Duration = pulseIn (ultrasonic2EchoPin، HIGH)؛ ultrasonic2Distance = (ultrasonic2Duration/2)/29 ؛ } // موارد زیر برای اشکال زدایی خطاها در کنسول است. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:")؛ Serial.print (ultrasonic2Distance) ؛ Serial.print ("cm") ؛ Serial.println ()؛ timeSerialDelay = میلی ثانیه ()؛ }}

توصیه شده: