Мазмуну:

Arduino 3D Басылган Сумо Боту: 6 кадам
Arduino 3D Басылган Сумо Боту: 6 кадам

Video: Arduino 3D Басылган Сумо Боту: 6 кадам

Video: Arduino 3D Басылган Сумо Боту: 6 кадам
Video: Как сделать радиоуправляемую машинку Dodge Challenger - 3D-печать радиоуправляемой машинки 2024, Ноябрь
Anonim
Arduino 3D Басылган Сумо Бот
Arduino 3D Басылган Сумо Бот

Ошентип, менин үйүмдүн тегерегинде тетиктер көп болчу. Мен бир нече айдан кийин келе жаткан сумо мелдешине катышкым келди, бирок менде бот жок болчу. Ботту сатып алуунун же бар болгон дизайнды колдонуунун ордуна, мен долбоорго керектүү нерселерди сатып алууну талап кылдым. Бул үйрөткүч үчүн сизге төмөнкүлөр керек болот.

  1. Бул жерде 3D басылган ар бир бөлүктүн бири.
  2. 7.4 вольттуу батарея же эки 18650 батарея.
  3. Керек болсо батарея кармагыч.
  4. Arduino uno.
  5. Arduino uno калканч.
  6. USB кабели Arduino үчүн.
  7. Үстөл үстүндөгү ыйгарым укуктар (милдеттүү эмес).
  8. Заряддоочу (милдеттүү эмес).
  9. Зымдар жана алардын көбү.
  10. Стандарттык өлчөмдөгү металл тиш үзгүлтүксүз айлануу.
  11. Эки ир сенсор.
  12. 7 см servo дөңгөлөктөр.
  13. Күйгүзүү жана өчүрүү.

Бул код дайыма өзгөрүп турат. Бул роботтун кодун бул жерден тапса болот. Бул долбоордун кодунун эң акыркы версиясы. Ырахат алыңыз!

1 -кадам: Ассамблея

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
  1. Робот эки металл редукторду колдонот. Сиз аларды шасси ичиндеги servo менен m3 болттор менен гайкаларды колдонуп, эки жакка сыртка караткыңыз келет. Серволор роботко кире турган бир гана жол бар, бул абдан алдыга карай болот.
  2. Серво дөңгөлөктөрүн бекиткиле.
  3. Темир сенсорлорду тиркеңиз, алар роботтун алдына ылдый карайт. Алар роботтун маңдайындагы M3 тешиктери аркылуу эки бурама менен бекитилет. Роботтун ылдый жагында тешиктер бар. Сиз этият болгуңуз келет, сенсорлор шассиди көтөрбөйт жана тешиктер аркылуу бүт нерсени көрө алышат. Кийинчерээк биз роботту сиздин колуңуздун иштегенин текшерип көргөндө, бул тууралуу көбүрөөк биле аласыз.
  4. HC-SR04 сенсорун роботтун сыртынан караган эки тешиктин ичине салыңыз. Тешиктер шассинин маңдайында жайгашкан.
  5. Ардуино Унону калканч менен шассинин ичине коюңуз.
  6. Төмөндөгү ок тизмесине ылайык баарын бириктириңиз.

    1. Сиз тандаган кубат булагынан кубат которгучка чейин. Сиз которууга оң же терс коргошун өткөрөсүз. Эгерде сиз терс коргошун тандасаңыз, бул сиздин негизиңиз болот, эгер сиз позитивдүү коргошунду тандасаңыз, анда сиздин энергия булагыңыз болот. Оң же терс экендигине жараша башка зым сиздин оң же терс болот.
    2. Позитивдүү коргошун Arduinoдогу виного жана сервостордогу позитивдүү алып баруучуларга туташтырыңыз.
    3. Жерди servo менен Arduino жерге туташтырыңыз.
    4. 5 вольтту Arduinoдогу 5 вольт жөндөгүчтөн сенсорлордун бардык оң терминалдарына туташтырыңыз.
    5. Сенсорлорду Arduino жерге туташтырыңыз.
    6. Акырында Arduino'догу 7 -пин оң сенсорго, 6 -IR сол сенсоруна, 8 -түйүндү серволордун бирине, 9 -пин акыркы сервого.

Эскертүү: роботту туура зымга албоо роботтун тамеки чегүүсүнө жана электрониканын бузулушуна алып келиши мүмкүн

2 -кадам: Жашоонун биринчи белгилери

Эскертүү: Роботту компьютериңизге туташтырып же сервопроводдорду туташтырбаңыз. Муну аткарбоо компьютериңиздин бузулушуна алып келиши мүмкүн

int режими = 3;

Жогорудагы бул код робот үчүн эң маанилүү өзгөрмө. Ал төмөндө көрсөтүлгөн ар бир санга барабар болсо, төмөнкүлөрдү кылат.

  1. Нөлгө барабар болсо да, робот белгилүү бир калыпта кыймылдайт.
  2. Эгерде режим бирдей болсо, робот ар бир сенсордун окуусун компьютерге чыгарат.
  3. Экиге барабар болгондо робот четтерден жана тоскоолдуктардан качат.
  4. Робот башка боттор менен күрөшөт.

Бул роботту текшерүү жана роботтун алга жылышына жардам берүү үчүн колдонулган ар кандай режимдер. Бул үйрөткүчтүн биринчи кадамы үчүн "3" дегенди нөлгө алмаштырышыңыз керек.

Эми кодду роботко жүктөңүз. Сиз анын ирети менен артка, солго жана оңго жылышын көрөсүз.

3 -кадам: Бул көрө алат

int mode = 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" ге алмаштырыңыз.

Эгерде сенсорлор тескери бурулган болсо, анда "sensorStateLeft" менен "sensorStateRight" терсине "1" же "0" деп берилгенден башка санга барабар болот.

Эми робот сумо аренасынын четинен оолак боло алат. Бул согушка дээрлик даяр. Иштейби же жокпу, аны сынап көрүңүз.

5 -кадам: BATTLE

Сиздин сумо азыр бир нече кодду өзгөртүү менен согушууга даяр. Режимди "3" барабар кылып өзгөртүңүз жана боштуктагы "Сумо" логикасын керектүү жерге буруңуз. Эми сиздин робот аренанын четинен качышы керек, бирок башка роботторду таба албайт. Бул негизинен аренанын четинен оолак болот жана роботту столдун четинен түртүп жибере турганчалык тез кыймылдайт. Ырахат алыңыз!

6 -кадам: Жыйынтык

Сиздин робот азыр жасалды. Эгерде бул долбоор боюнча кандайдыр бир көйгөйлөр же комментарийлер болсо, мага тартынбаңыз. Мен ишеничтен тышкары пикирге ачыкмын, анткени бул жакшы жасалган окуу куралыбы же жокпу билбейм. Ырахат алыңыз!

Сунушталууда: