Мазмұны:
- 1 -қадам: компоненттер
- 2 -қадам: Әр компонент үшін қолдану
- 3 -қадам: Дизайн
- 4 -қадам: Ойын стратегиясы
- 5 -қадам: Бағдарламалау
Бейне: Arduino Sumo робот: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Біз бастамас бұрын
Сумо роботы дегеніміз не?
Бұл белгілі бір өлшемдері мен ерекшеліктері бар өзін-өзі басқаратын роботтар, ол басқа роботтармен жарыстар мен жарыстарға қатысуға жарамды дұшпандық формада жасалған.
«Сумо» атауы ескі жапон спортынан шыққан, ол рингте екі қарсылас күреседі, олардың әрқайсысы басқа қарсыласын итермелеуге тырысады, роботтар сумо жарыстарында да осылай істеу керек. роботтар рингте және бір -біріне қарсыласын ығыстыруға тырысады.
Ой:
Белгілі бір ерекшелігі бар және сол бәсекелестік заңдарына сәйкес робот жасаңыз (сумо), бұл робот ешқандай жағдайда сақинадан шықпау үшін күресуге және аман қалуға болатындай дәл өлшемде болуы керек.
Сонымен, Sumo роботтарының бәсекелестік заңдарын қарастырайық:
Мен сіздің жеке SUMO құру кезінде ескеруіңіз керек кейбір маңызды рөлдерді түсіндіремін, бұл сізге өз идеяңызды егжей -тегжейлі түсіндірместен елестетуге және жаңартуға көмектеседі.
1. Өлшемдері: Максималды ені 20 см, Максималды ұзындығы 20 см, Биіктігі көрсетілмеген.
2. Пішін: жарыс басталғаннан кейін роботтың пішіні өзгеруі мүмкін, бірақ біртұтас объект болып қалатындай.
3. Салмағы: 3 кг -нан аспайды.
4. Робот өзін-өзі басқара алатын болуы керек.
1 -қадам: компоненттер
1 Ардуино Ано3
2 Тұрақты ток қозғалтқышы
1 L298N Arduino үшін қос H көпірі
1 Ультрадыбыстық сенсор
2 IR TCRT5000
1 батарея 9v
АА батареясы 4 * 1,5 в дана + Батарея үйі
4 робот дөңгелегі
секіргіш сымдар
2 -қадам: Әр компонент үшін қолдану
Енді бізде қажетті компоненттер бар, сондықтан не үшін қолданылатынын білу үшін толығырақ тоқталайық.
1- Arduino Ano3
Бұл барлық бөліктерді басқаратын және оны байланыстыратын негізгі тақта
2- тұрақты ток қозғалтқышы
Бұл роботқа COMPETING шеңберінде маневр жасауға және қозғалуға көмектеседі
4- L298N Arduino үшін қос H көпірі
Бұл қозғалтқыштардың тұрақты кернеуін қамтамасыз ететін шағын панель, сонымен қатар қозғалыс пен кернеуді жақсы басқаратын Arduino пластинасының тірегі.
5- ультрадыбыстық сенсор
Ультрадыбыстық сенсор қарсыластың роботын табу үшін қолданылады және әдетте роботтың жоғарғы жағында орналасады.
6- IR TCRT5000
Жоғарыда айтқанымыздай, байқау сақинасы белгілі бір мөлшерде жасалған және оның екі түсі бар, толтыруы қара және жақтау ақ. Байқауға қатысушы сыртқа шықпауы керек. Сондықтан робот рингтен шықпайтынына көз жеткізу үшін ИК сенсорды қолданамыз. Бұл сенсор сақинаның түстерін ажырата алатын қасиетке ие).
7- батарея 9в
Ол негізгі кернеуді (Arduino) қолдайды.
8- АА батареясы 4 * 1,5 в дана + Батарея үйі
Ол маңызды кернеумен екі қозғалтқышты (тұрақты ток қозғалтқышы) қолдайды және дөңгелектерге толық күш беру үшін оны ажырату керек.
9- Өткізгіш сымдар
3 -қадам: Дизайн
Мен Google 3D эскизін қолдана отырып, екі сумо роботының конструкциясын жасадым, себебі мен роботтардың қағаздан жасалған модельдерін лазерлік кескіште акрилден кесіп алмас бұрын жасағанды ұнатамын. Барлық бөліктердің бір -біріне сәйкес келетінін тексеру үшін қағаз үлгілерін сызбалардың дәл өлшемінде басып шығару маңызды.
Мен бәсекелестік туралы заңдарды нақты өлшеуді ескеремін, сондықтан неғұрлым креативті дизайнмен ойлауға және өз моделіңізді жасауға тырысыңыз.
Роботтың салмағына неғұрлым сезімтал болу үшін аккумуляторды роботтың формасына 45 градус бұрышта алдыңғы қалқанымен роботтың алдына қойыңыз.
1 дизайнын мына жерден жүктеңіз
2 -ші дизайнды осы жерден жүктеп алыңыз
Сіз сондай -ақ қағаз үлгісін жүктей аласыз
PDF файлын Adobe Acrobat Reader көмегімен ашыңыз (ұсынылған бағдарламалық жасақтама)
4 -қадам: Ойын стратегиясы
Бұрын айтқанымыздай, роботтың өзін -өзі басқаруға қабілеті болуы керек, сондықтан ол бізге роботты рингте кез келген қарсылас сияқты рингте қалай ойнағысы келетініне байланысты, оны бірнеше жолмен бағдарламалау мүмкіндігін береді. ойында жеңіске жетуді шын ниетпен қалайды.
Ойын стратегиясы (1):
· Біз роботты айналасында үздіксіз жасаймыз.
· Робот айналу кезінде қашықтығын үнемі өлшеп отырады.
· Егер қарсыластың өлшенетін қашықтығы (мысалы, 10см) төмен болса, бұл қарсылас роботтың алдында тұрғанын білдіреді.
· Робот айналуды тоқтатуы керек, содан кейін шабуылды бастайды (толық күшпен алға қарай жылжытыңыз).
· Робот шекара шекарасынан өтпегенімізге сенімді болу үшін әрқашан инфрақызыл сенсорлардың көрсеткіштерін қабылдауы керек.
· Егер IR түсінің ақ түсі бар екенін оқысаңыз, ол роботты сенсордың қарама -қарсы бағытына тікелей жылжытуы керек (мысалы: егер роботтың ақ түсінің белгісін беретін алдыңғы сенсор артқа жылжиды)!
Ойын стратегиясы (2):
· Робот бастапқыда қашықтықты өлшейді.
· Робот дәл сол өлшенген қашықтыққа артқа жылжиды.
· Робот айналуды тоқтатады, содан кейін кенеттен шабуыл бастайды (толық күшпен алға жылжытыңыз).
· Егер қарсылас болса, робот 45 градусқа бұрылуы керек, ал рингтен құлап кетсе, аман қалу үшін.
· Робот шекара шекарасынан өтпегенімізге сенімді болу үшін әрқашан инфрақызыл сенсорлардың көрсеткіштерін қабылдауы керек.
· Егер IR түсінің ақ түсі бар екенін оқысаңыз, ол роботты сенсордың қарама -қарсы бағытына тікелей жылжытуы керек (мысалы: егер роботтың ақ түсінің белгісін берген алдыңғы сенсор артқа жылжиды)!
5 -қадам: Бағдарламалау
схеманы және кодты тексеріңіз
* 26.03.2019 жаңарту
Алдымен ультрадыбыстық кітапхананы осы жерден жүктеп алып, орнатыңыз:
github.com/ErickSimoes/Ultrasonic/blob/mas…
/*
авторы Ахмед Азуз
www.instructables.com/id/How-to-Make-Ardu…
Алдымен осы жерден lib жүктеп алыңыз
github.com/ErickSimoes/Ultrasonic/blob/ma…
*/
#ультрадыбысты қосыңыз
Ультрадыбыстық ультрадыбыстық (4, 3);
const int IN1 = 5;
const int IN2 = 6; const int IN3 = 9; const int IN4 = 10; #IR_sensor_front A0 анықтаңыз // алдыңғы сенсор #IR_sensor_back A1 анықтаңыз // артқы senson int қашықтығы;
жарамсыз орнату ()
{Serial.begin (9600); кешіктіру (5000); // сумо үйлесімділігі рөлдері бойынша} void loop () {int IR_front = analogRead (IR_sensor_front); int IR_back = analogRead (IR_sensor_back); қашықтық = ультрадыбыстық оқу (); БҰРУ (200); // start rotete if (қашықтық <20) {Stop (); while (қашықтық 650 || IR_back> 650) {үзіліс;} кешіктіру (10); } if (IR_front <650) // <650 ақ жолды білдіреді {Stop (); кешіктіру (50); АРТҚА (255); кешіктіру (500); } if (IR_back <650) // {Stop (); кешіктіру (50); АЛҒА (255); кешіктіру (500); } /* ----------- отладка ---------------- Serial.print (ультрадыбыстық. Өңдеу (CM)); Serial.println («см»); Serial.println («IR front:»); Serial.println (IR_front); Serial.println («IR back:»); Serial.println (IR_back); */
} //--------------------------------------------
void FORWARD (int Speed) {// Біз қозғалтқышты алға жылжытқымыз келсе, // бұл бөлікті цикл бөлімінде жойыңыз. analogWrite (IN1, Жылдамдық); analogWrite (IN2, 0); analogWrite (IN3, 0); analogWrite (IN4, Жылдамдық); } // -------------------------------------------- жарамсыз ӨТКІРУ (int Speed) {// Біз қозғалтқышты алға жылжытқымыз келсе, // бұл бөлікті цикл бөлімінде жойыңыз. analogWrite (IN1, 0); analogWrite (IN2, Жылдамдық); analogWrite (IN3, Жылдамдық); analogWrite (IN4, 0); } // -------------------------------------------- жарамсыз айналдыру (int Speed) {// Біз қозғалтқышты айналдыруға рұқсат бергіміз келсе, // бұл бөлікті цикл бөлімінде жойыңыз. analogWrite (IN1, Жылдамдық); analogWrite (IN2, 0); analogWrite (IN3, Жылдамдық); analogWrite (IN4, 0); } // -------------------------------------------- жарамсыз тоқтату () {// Біз қозғалтқышты тоқтатқымыз келсе, // бұл бөлікті цикл бөлімінен алып тастаңыз. analogWrite (IN1, 0); analogWrite (IN2, 0); analogWrite (IN3, 0); analogWrite (IN4, 0); }
Ұсынылған:
Ардуино - Лабиринтті шешетін робот (MicroMouse) Қабырғаға ілесетін робот: 6 қадам (суреттермен)
Ардуино | Лабиринтті шешетін робот (MicroMouse) Қабырғаға ілесетін робот: Қош келдіңіз, мен Исаакпын және бұл менің алғашқы роботым " Striker v1.0 " Бұл робот қарапайым лабиринтті шешуге арналған. Байқауда бізде екі лабиринт пен робот болды. Лабиринттегі кез келген басқа да өзгерістер оны өзгертуді талап етуі мүмкін
ҚАҒАЗ АШҚА РОБОТ - Pringles қайта өңдеу Arduino робот: 19 қадам (суреттермен)
PAPER HUNGRY ROBOT - Pringles Recycle Arduino роботы: Бұл 2018 жылы мен ашқан роботтың тағы бір нұсқасы. Сіз бұл роботты 3d принтерсіз жасай аласыз. Сізге тек банка Pringles, серво қозғалтқышы, жақындық сенсоры, ардуино және кейбір құралдарды сатып алу жеткілікті. Сіз бәрін жүктей аласыз
Теңестіруші робот / 3 дөңгелекті робот / STEM робот: 8 қадам
Теңдестіру роботы / 3 дөңгелекті робот / STEM робот: Біз мектептерде және мектептен кейінгі білім беру бағдарламаларында тәрбиелік мақсатта қолдануға арналған теңдестірілген және 3 дөңгелекті робот құрдық. Робот Arduino Uno, реттелетін қалқанға (құрылыстың барлық егжей -тегжейлері берілген), Li Ion аккумуляторлық батареясына негізделген (барлық құрылыстар
Ағаштан жасалған робот қолын қалай жинауға болады (2 -бөлім: кедергілерді болдырмауға арналған робот) - МИКРО: БИТ: 3 қадам
Ағаштан жасалған робот қолын қалай жинау керек (2-бөлім: кедергілерді болдырмауға арналған робот)-МИКРО: BIT: Бұрын біз Armbit желісін бақылау режимінде енгіздік. Әрі қарай, кедергілерден құтылу үшін Armbit -ті қалай орнатуға болатынын білеміз
5L тазалау контейнерінен ақысыз SUMO робот құрылымы: 10 қадам (суреттермен)
5L тазалау контейнерінен SUMO ROBOT ТЕГІН ҚҰРЫЛЫМЫ: Бұл нұсқаулықта мен сізге бос 5L пластикалық контейнерді қалай пайдалану керектігін және роботтың жақсы құрылымына айналуды көрсетемін