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

فهرست مطالب:

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

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

تصویری: نحوه ساخت ربات در خانه (همراه با تصاویر)
تصویری: احضار ویدر در Minecraft چگونه است 2024, ممکن است
Anonim

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

گام

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

1123333 1
1123333 1

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

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

  • Arduino Uno (یا میکروکنترلر دیگر)
  • 2 سرو 360 درجه
  • 2 چرخ سروو مطابقت دارد
  • 1 چرخ رایگان
  • 1 تخته آزمایش (تخته نان یا تخته پروژه) که لحیم نشده است (به دنبال یک تخته تست باشید که دو ردیف مثبت و منفی در هر طرف داشته باشد)
  • 1 سنسور مجاورت (با کابل اتصال چهار پین)
  • سوئیچ 1 دکمه فشاری
  • 1 مقاومت 10 کیلو وات
  • 1 کابل USB A تا B
  • 1 مجموعه سربرگ های شکستنی
  • 1 نگهدارنده باتری 6 x AA با سوکت برق 9 ولت 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 و آردوینو رو به پایین باشد (دور از برد آزمایش). جلوی آردوینو با تخته آزمایش همپوشانی دارد.

1123333 7
1123333 7

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

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

1123333 8
1123333 8

مرحله 8. چرخ رایگان را در پایین تخته آزمایش نصب کنید

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

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

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

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 از 5: نصب کابل برق

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 در آردوینو وصل کنید

این به آردوینو اجازه می دهد تا دکمه های فشاری را تشخیص دهد.

قسمت 4 از 5: نصب نرم افزار آردوینو

1123333 30
1123333 30

مرحله 1. Arduino 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. بر روی دستگاه ناشناس در قسمت Other devices راست کلیک کرده و 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. روی مرور کلیک کنید ، سپس پوشه ای را که قبلاً استخراج کرده اید باز کنید

پوشه driver را در آن خواهید یافت.

1123333 37
1123333 37

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

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

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

1123333 38
1123333 38

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

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

1123333 39
1123333 39

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

کد زیر آردوینو شما را سرپا نگه می دارد.

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

1123333 40
1123333 40

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

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

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

1123333 41
1123333 41

مرحله 4. تابع stop stop (kill switch) را اضافه کنید

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

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

1123333 42
1123333 42

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

با کد توقف توقف قبلاً اضافه شده ، می توانید کد را بارگذاری کرده و روبات را آزمایش کنید. ربات باید به جلو ادامه دهد تا زمانی که دکمه توقف را فشار دهید که باعث توقف ربات می شود. کد کامل به این شکل است:

#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)؛ }

مثال

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

#شامل سروو سمت چپ موتور ؛ سروو راست موتور؛ const int serialPeriod = 250؛ // این کد تأخیر زمانی خروجی کنسول را در هر 1/4 ثانیه (250 میلی ثانیه) بدون امضای طولانی مدت می دهدSerialDelay = 0؛ const int loopPeriod = 20؛ // این کد فرکانس خواندن سنسور را روی 20 میلی ثانیه تنظیم می کند ، که 50 هرتز بدون امضای طولانی مدت است 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) // این کد "" stop "را تشخیص می دهد {در حالی که (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 در صورت عدم وجود هیچ مانعی {// برای پیشبرد rightMotor.write (180) برای برخی از سونوگرافی ها منفی خواهد بود. leftMotor.write (0)؛ } else // اگر شیئی در مقابل ما باشد {state = TURN_LEFT؛ }} else if (state == TURN_LEFT) // اگر مانعی تشخیص داده شد ، به چپ بپیچید {unsigned long timeToTurnLeft = 500؛ // حدود 0.5 ثانیه طول می کشد تا 90 درجه بچرخد. در صورتی که اندازه چرخ های شما از نظر اندازه در مثال طولانی turnStartTime = millis () بدون علامت متفاوت باشد ، ممکن است نیاز به تنظیم این مقدار داشته باشید. // هنگامی که ربات شروع به چرخاندن می کند شرایط را حفظ کنید ((millis ()-turnStartTime) <timeToTurnLeft) // این چرخه را تا زمان گذراندن زمان TimeToTurnLeft (500) نگه دارید {// به چپ ، به یاد داشته باشید که هر دو "180" باشند ، ربات می چرخد rightMotor.write (180)؛ leftMotor.write (180)؛ } state = DRIVE_FORWARD؛ }} void readUltrasonicSensors () {// این برای اولتراسونیک 2 است. اگر از سنسور دیگری استفاده می کنید ، ممکن است لازم باشد این دستور را تغییر دهید. digitalWrite (ultrasonic2TrigPin ، HIGH) ؛ تاخیر میکروثانیه (10)؛ // پین TRIG را حداقل برای 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 = میلی ثانیه ()؛ }}

توصیه شده: