Мазмұны:

Arduino 3D басылған Sumo Bot: 6 қадам
Arduino 3D басылған Sumo Bot: 6 қадам

Бейне: Arduino 3D басылған Sumo Bot: 6 қадам

Бейне: Arduino 3D басылған Sumo Bot: 6 қадам
Бейне: Как сделать радиоуправляемую машинку Dodge Challenger - 3D-печать радиоуправляемой машинки 2024, Шілде
Anonim
Arduino 3D басылған Sumo Bot
Arduino 3D басылған Sumo Bot

Сондықтан менің үйімнің айналасында көптеген бөлшектер болды. Мен бірнеше айдан кейін болатын сумо жарысына қатысқым келді, бірақ менде бот болмады. Бот сатып алудың немесе жобаға қажетті заттарды сатып алуды талап ететін қолданыстағы дизайнды пайдаланудың орнына, мен өз бөлшектерімнен өз дизайнымнан өз ботымды жасадым. Бұл оқулық үшін сізге төмендегілер қажет болады.

  1. 3D басып шығарылған әрбір бөліктің бірі осы жерден табылған.
  2. 7.4 вольтты батарея немесе екі 18650 батарея.
  3. Қажет болса, батарея ұстағыш.
  4. Arduino Uno.
  5. Arduino Uno сынғыш қалқаны.
  6. Arduino үшін USB кабелі.
  7. Үстел үстелі қуаты (міндетті емес).
  8. Зарядтағыш (міндетті емес).
  9. Сымдар мен олардың көпшілігі.
  10. Стандартты өлшемді металл редукторы үздіксіз айналмалы серво.
  11. Екі ажыратқыш датчик.
  12. 7 см серво дөңгелектері.
  13. Қосу және өшіру қосқышы.

Бұл код үнемі өзгеріп отырады. Бұл роботтың кодын мына жерден табуға болады. Бұл жоба кодының ең жаңа нұсқасы. Ләззат алыңыз!

1 -қадам: құрастыру

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
  1. Робот екі металл редукторды пайдаланады. Сіз оларды м3 болттары мен гайкалары арқылы шассидің ішіндегі серво екі жаққа қаратып бұрғыңыз келеді. Серво роботқа енудің бір ғана жолы бар, сондықтан бұл өте алға қарай.
  2. Серво дөңгелектерін бекітіңіз.
  3. Электр сенсорларын роботтың алдында төмен қарайтындай етіп бекітіңіз. Олар роботтың алдындағы M3 тесіктері арқылы екі бұрандамен бекітілген. Роботтың астыңғы жағында тесіктерді тесуге болады. Сіз абай болғыңыз келеді, сенсорлар шассиді көтермейді және саңылауларды көре алады. Сіз бұл туралы толығырақ білетін боласыз, біз роботты сіздің жұмысыңыздың жұмыс істегенін тексеру үшін тексереміз.
  4. HC-SR04 сенсорын роботтан сыртқа қарайтын екі тесіктің ішіне салыңыз. Тесіктер шассидің алдыңғы жағында орналасқан.
  5. Arduino Uno қалқаны бар шассидің ішіне салыңыз.
  6. Төмендегі таңбалауыш тізімге сәйкес бәрін біріктіріңіз.

    1. Сіз таңдаған қуат көзінен қуат қосқышына дейінгі қуат. Сіз қосқышқа оң немесе теріс сымды қосасыз. Егер сіз теріс сымды таңдасаңыз, бұл сіздің негізіңіз болады, ал егер сіз оң көзді таңдасаңыз, ол сіздің қуат көзіңіз болады. Оң немесе теріс екеніне байланысты басқа сым сіздің оң немесе теріс болады.
    2. Оң сымды Arduino -дағы vin -ге, ал сервостардағы позитивті сымдарды қосыңыз.
    3. Серво мен Arduino -ны жерге қосу.
    4. 5 вольтты Arduino -дегі 5 вольтты реттегіштен датчиктердің барлық оң терминалдарына қосыңыз.
    5. Сенсорларды Arduino -ға қосыңыз.
    6. Ақырында, Arduino -дегі 7 -түйреуішті оң жақ сенсорға, 6 -түйінді сол жақ ИҚ сенсорына, 8 -түйректі сервоприводтардың біреуіне, 9 -түйінді соңғы сервоға жалғаңыз.

Ескерту: роботты дұрыс сымға қоспау роботтың темекі шегуіне және электрониканың бұзылуына әкелуі мүмкін

2 -қадам: Өмірдің алғашқы белгілері

Ескерту: Роботты компьютерге қосылып, электр қуаты қосылып тұрғанда немесе серверлер қосылып тұрғанда қосуға болмайды. Олай болмаған жағдайда компьютердің зақымдалуы мүмкін

int режимі = 3;

Жоғарыдағы кодтың бұл жолы робот үшін шешуші айнымалы болып табылады. Ол төменде көрсетілген әрбір санға тең болса, ол келесі әрекеттерді орындайды.

  1. Нөлге тең болғанда робот белгілі бір үлгіде қозғалады.
  2. Егер режим біркелкі болса, робот әр сенсордың көрсеткішін компьютерге шығарады.
  3. Екіге тең болған кезде робот егер олар кездессе, шеттер мен кедергілерден аулақ болады.
  4. Робот басқа боттармен күреседі.

Бұл роботтың әр түрлі режимі, ол роботты сынауға және прогреске көмектесуге арналған. Бұл оқулықтың бірінші қадамы үшін сол «3» санын нөлге өзгерту қажет болады.

Енді кодты роботқа жүктеңіз. Сіз оның солға, артқа, солға және оңға қарай жылжып келе жатқанын көресіз.

3 -қадам: Ол көре алады

int режимі = 0;

Егер алдыңғы қадам аяқталған болса, келесі айнымалы мәнді «1» етіп өзгертіңіз. Енді Arduino -да сериялық мониторға қосылған кезде, ол сіздің робот көріп жатқан нәрсені басып шығарады. «0» - бұл сенсорлардың бір нәрсені көріп тұрғанын білдіреді. «1» - бұл оның шеттерін көрмейтінін білдіреді. Егер сіз логиканың кері айналғанын байқасаңыз, оны келесі қадамдар үшін ескеріңіз.

Пинг сенсоры туралы алаңдамаңыз. Менде бұл әлі жұмыс істемеді. Бұл робот күрделі дамуда.

4 -қадам: ол үстелдің шетінен аулақ бола алады

void Avoid () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

кешіктіру (50);

егер (Ping.ping_cm ()> = 15 && sensorStateLeft == 0 && sensorStateRight == 0) {

left.write (0); right.write (90);

}

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

left.write (90);

right.write (0); }

}

Бұл код екі режимге тең болғанда шақырылатын код. Егер алдыңғы қадам аяқталған болса, режимді «2» -ге өзгертіңіз.

Егер датчиктер төңкерілген болса, «if» операторларының әрқайсысында «sensorStateLeft» пен «sensorStateRight» төңкеруге болады, егер олар берілгеннен басқа санға тең болса, бұл «1» немесе «0».

Енді робот сумо аренасының шетінен аулақ бола алады. Ол дерлік шайқасқа дайын. Ол жұмыс істей ме, жоқ па, соны тексеріп көріңіз.

5 -қадам: BATTLE

Сіздің сумо қазір кодты өзгерту арқылы күресуге дайын. Режимді «3» -ке тең етіп өзгертіңіз және «Сумо» бос жерінде қажет болған жағдайда логиканы аударыңыз. Енді сіздің роботыңыз алаңның шетінен аулақ болуы керек, бірақ басқа роботтарды таба алмайды. Ол негізінен алаңның шетінен аулақ болады және роботты үстелдің шетінен итеріп жіберуі мүмкін болатындай жылдам қозғалады. Ләззат алыңыз!

6 -қадам: Қорытынды

Сіздің роботыңыз қазір дайын. Егер бұл жобаға қатысты қандай да бір проблемалар немесе түсініктемелер болса, маған хабарлаңыз. Мен сенбеймін, мен кері байланысқа ашықпын, өйткені мен бұл жақсы оқулық болды ма, жоқ па, білмеймін. Ләззат алыңыз!

Ұсынылған: