Mundarija:

Arduino 3D bosma sumo bot: 6 qadam
Arduino 3D bosma sumo bot: 6 qadam

Video: Arduino 3D bosma sumo bot: 6 qadam

Video: Arduino 3D bosma sumo bot: 6 qadam
Video: REAL RACING 3 LEAD FOOT EDITION 2024, Noyabr
Anonim
Arduino 3D bosma sumo bot
Arduino 3D bosma sumo bot

Shunday qilib, mening uyim atrofida bir nechta qismlar yotardi. Men bir necha oy ichida bo'ladigan sumo musobaqasida qatnashmoqchi edim, lekin menda bot yo'q edi. Bot sotib olish yoki loyiha uchun zarur bo'lgan narsalarni sotib olishni talab qiladigan mavjud dizayndan foydalanish o'rniga men o'z qismlarimdan o'z dizaynimdan o'z botimni yasadim. Bu darslik uchun sizga quyidagilar kerak bo'ladi.

  1. 3D bosilgan har bir qismdan biri bu erda.
  2. 7.4 voltli batareya yoki ikkita 18650 ta batareya.
  3. Agar kerak bo'lsa, batareya ushlagichi.
  4. Arduino bilan.
  5. Arduino uno himoyachisi.
  6. Arduino uchun USB kabel.
  7. Stol usti quvvat manbai (ixtiyoriy).
  8. Zaryadlovchi (ixtiyoriy).
  9. Simlar va ularning ko'pchiligi.
  10. Standart o'lchamli metall tishli uzluksiz aylanish servolari.
  11. Ikkita elektr o'tkazgich sensori.
  12. 7 sm servo g'ildiraklar.
  13. Yoqish va o'chirish tugmasi.

Bu kod doimiy ravishda o'zgarib turadi. Bu robotning kodini bu erda topishingiz mumkin. Bu loyiha kodining eng dolzarb versiyasidir. Xursand bo'ling!

1 -qadam: yig'ish

O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
  1. Robot ikkita metall tishli servolardan foydalanadi. Siz ularni shassi ichidagi servolari har ikki tomonga qaragan holda, m3 murvat va yong'oq yordamida burab qo'ymoqchisiz. Robotga servolarni kiritishning faqat bitta yo'li bor, shuning uchun bu juda to'g'ri bo'ladi.
  2. Servo g'ildiraklarini mahkamlang.
  3. Datchiklarni robotning old tomoniga qaragan qilib ulang. Ular ikkita vint bilan robotning old qismidagi M3 teshiklari orqali biriktiriladi. Robotning pastki qismida ular ko'zdan kechirishlari uchun teshiklar mavjud. Diqqatli bo'lishni xohlaysizki, sensorlar shassisni ko'tarmaydilar va uni teshiklar bo'ylab ko'radilar. Siz bu haqda ko'proq bilib olasiz, chunki biz robotni sizning qulay ishingiz ishlaganligini tekshiramiz.
  4. HC-SR04 sensorini robotning ichkarisidan tashqariga qaragan ikkita teshikka joylashtiring. Teshiklar korpusning old tomonida joylashgan.
  5. Arduino Uno -ni shassi ichiga qalqon bilan joylashtiring.
  6. Quyidagi o'qlar ro'yxatiga muvofiq hamma narsani birlashtiring.

    1. Quvvat siz tanlagan quvvat manbaidan quvvat kalitiga. Siz kalitga ijobiy yoki salbiy simni o'tkazasiz. Agar siz salbiy simni tanlagan bo'lsangiz, bu sizning asosingiz bo'ladi, agar siz ijobiy manbani tanlasangiz - bu sizning quvvat manbai bo'ladi. Boshqa sim ijobiy yoki salbiy bo'lishiga qarab sizning ijobiy yoki salbiy bo'ladi.
    2. Ijobiy simni Arduino -dagi vinga va servo -dagi postiv simlarni ulang.
    3. Servo va Arduino -ni erga ulang.
    4. 5 voltli Arduino -dagi 5 voltli regulyatordan sensorlarning har birining ijobiy terminallariga ulang.
    5. Sensorlarni Arduino -ga ulang.
    6. Nihoyat, Arduino -dagi 7 -pinli simni o'ng datchigiga, 6 -pinni chap IQ sensori, 8 -pinni servolardan biriga, 9 -pinni oxirgi servoga ulang.

Ogohlantirish: Robotga simni to'g'ri ulamaslik robotning chekishiga va elektronikaning yo'q qilinishiga olib kelishi mumkin

2 -qadam: Hayotning birinchi belgilari

Ogohlantirish: Robotni elektr tarmog'iga ulanganda yoki servo tarmoqqa ulangan holda kompyuteringizga ulamang. Agar bu bajarilmasa, bu sizning kompyuteringizga zarar etkazishi mumkin

int rejimi = 3;

Yuqoridagi kod qatori robot uchun hal qiluvchi ahamiyatga ega. Quyida keltirilgan har bir raqamga teng bo'lsa, u quyidagilarni bajaradi.

  1. Nolga teng bo'lsa -da, robot ma'lum bir shaklda harakat qiladi.
  2. Agar rejim bir xil bo'lsa, robot har bir sensorning o'qishini kompyuterga chiqaradi.
  3. Robot ikkiga teng bo'lganda, agar ular duch kelsa, qirralar va to'siqlardan qochadi.
  4. Robot boshqa botlarga qarshi kurashadi.

Bu robotni sinab ko'rish va uning rivojlanishiga yordam berish uchun ishlatiladigan robotning har xil usullari. Ushbu darslikning birinchi bosqichi uchun siz "3" raqamini nolga o'zgartirishingiz kerak bo'ladi.

Endi kodni robotga yuklang. Siz bu tartibda oldinga, orqaga, chapga va o'ngga harakatlanayotganini ko'rasiz.

3 -qadam: ko'rish mumkin

int rejimi = 0;

Agar oldingi qadam bajarilgan bo'lsa, quyidagi o'zgaruvchini "1" ga o'zgartiring. Endi Arduino -da ketma -ket monitorga ulanganingizda, u sizning robotingiz ko'rayotgan narsalarni chop etadi. "0" - bu chekka datchiklar uchun nimanidir ko'rayotganini anglatadi. "1" - bu chekkalarni ko'rmaslikni anglatadi. Agar siz mantiq teskari o'girilganini sezsangiz, buni keyingi harakatlar uchun esda tuting.

Ping sensori haqida tashvishlanmang. Menda bu hali ishlamagan. Bu robot og'ir rivojlanish bosqichida.

4 -qadam: Bu stol chetidan qochishi mumkin

void Avoid () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

kechikish (50);

agar (Ping.ping_cm ()> = 15 && sensorStateLeft == 0 && sensorStateRight == 0) {

left.write (0); o'ng.yozish (90);

}

agar (Ping.ping_cm () <= 15 && Ping.ping_cm ()! = 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

left.write (90);

right.write (0); }

}

Yuqoridagi kod - bu rejim ikkiga teng bo'lganda chaqiriladigan kod. Agar oldingi qadam bajarilgan bo'lsa, rejimni "2" ga o'zgartiring.

Agar sensorlar teskari o'girilsa, "if" iboralarining har birida "sensorStateLeft" va "sensorStateRight" ni teskari aylantirish mumkin, ular "1" yoki "0" ga teng.

Endi robot sumo arenasining chetidan qochishi mumkin. U deyarli jangga tayyor. Ishlayaptimi yoki yo'qmi, buni sinab ko'ring.

5 -qadam: BATTLE

Sizning sumoingiz bir nechta kod o'zgarishi bilan jang qilishga tayyor. "3" ga teng bo'lgan rejimni o'zgartiring va "Sumo" bo'shligida mantiqni kerak bo'lganda o'zgartiring. Endi sizning robotingiz maydon chetidan qochishi kerak, lekin boshqa robotlarni aniqlay olmaydi. U asosan arenaning chetidan qochadi va etarlicha tez harakat qiladi, shunda robotni stol chetidan itarib yuboradi. Xursand bo'ling!

6 -qadam: Xulosa

Sizning robotingiz hozir tayyor. Agar ushbu loyiha bo'yicha muammolar yoki izohlar bo'lsa, menga xabar bering. Men aql bovar qilmas darajada fikrdaman, chunki men bu darslik yaxshi bajarilganmi yoki yo'qmi, bilmayman. Xursand bo'ling!

Tavsiya: