Съдържание:

Автономно паралелно паркиране на автомобили с помощта на Arduino: 10 стъпки (със снимки)
Автономно паралелно паркиране на автомобили с помощта на Arduino: 10 стъпки (със снимки)

Видео: Автономно паралелно паркиране на автомобили с помощта на Arduino: 10 стъпки (със снимки)

Видео: Автономно паралелно паркиране на автомобили с помощта на Arduino: 10 стъпки (със снимки)
Видео: Объяснение прошивки Marlin 2.0.x 2024, Юли
Anonim
Image
Image
Образ
Образ

При автономно паркиране трябва да създадем алгоритми и сензори за положение според определени допускания. Нашите предположения ще бъдат следните в този проект. В сценария лявата страна на пътя ще се състои от стени и паркови зони. Както можете да видите във видеото, има общо 4 сензора, 2 от лявата страна на колата и един от задната и предната страна.

Етап 1:

Стъпка 2:

Стъпка 3:

Стъпка 4: Системен алгоритъм:

Системният алгоритъм
Системният алгоритъм

Двата сензора от лявата страна на колата разбират, че стената е с 15 см по -малка от измерената стойност и се движат напред. Записват това в паметта. Двата сензора на ръба измерват непрекъснато и когато тези стойности са същите като получените стойности, трябва да решите как да паркирате.

Алгоритъм за избор на метод за паркиране

  • Случай 1: Ако измерената стойност е по -голяма от колата и по -малка от дължината на колата, системата за паралелно паркиране ще работи.
  • Случай 2: Ако измерената стойност е по -голяма от дължината на автомобила, роботът ще паркира вертикално.

Стъпка 5: Алгоритъм за паралелно паркиране:

В този случай колата пресича зоната за паркиране и колата спира, когато два сензора отстрани отново видят стената. Той се връща малко назад и завива надясно на 45 градуса. Докато се движи назад, задният сензор влиза в парковата зона чрез измерване и започва да завива наляво. По време на лявото движение сензорите по краищата се измерват непрекъснато и двата сензора продължават да завиват наляво, докато измерената стойност се изравни помежду си. Спрете, когато сте равни. Предният сензор измерва и върви напред, докато е малък с 10 см и спира, когато е малък с 10 см. Паркирането приключи.

Стъпка 6: Алгоритъм за вертикално паркиране

Ако сензорите по краищата измерват твърде много стойността по дължината на колата, колата спира и се завърта на 90 градуса наляво. Те започват да се придвижват към паркинга. По това време предният сензор непрекъснато измерва и колата спира, ако измерената стойност е по -малка от 10 см. Операцията за паркиране е завършена.

Стъпка 7: Материали:

  • Arduino Mega
  • Моторният щит Adafruit
  • Комплект робот с 4 Dc двигателя
  • 4 части HC-SR04 ултразвуков сензор
  • Инфрачервен сензор за скорост LM 393
  • Lipo батерия (7.4V 850 mAh е достатъчно)
  • Кабелни кабели

Купете:

Стъпка 8: Механичен раздел:

Механична секция
Механична секция
Механична секция
Механична секция

Инфрачервеният сензор в системата измерва скоростта на двигателя. Това е за измерване на броя на обиколките на колелата при паркиране и гарантиране на паркирането без грешки. Ако нямате диск с енкодер във вашия робот, можете да го инсталирате допълнително. Тук трябва да се отбележи броят на дупките на диска на енкодера. Броят на дупките на енкодера в този проект е 20 дир. Ако имате различен номер, трябва отново да регулирате завоите на колата.

Поставете сензора за скорост LM393, както е показано по -горе. Уверете се, че отворите на диска на енкодера са на скоростта

Стъпка 9: Електрическа схема:

Електрическа схема
Електрическа схема

Пин връзки на ултразвукови сензори

Преден сензор => Trig Pin: D34, Echo Pin: D35

Ляв преден сензор => Trig Pin: D36, Echo Pin: D37

Ляв заден сензор => Триг ПИН: D38, Ехо ПИН: D39

Заден сензор => Trig Pin: D40, Echo Pin: D41

Връзки с щифтове на моторния щит Dc Мотор отпред отляво => M4

Дясен преден мотор => M3

Заден мотор отляво => M1

Дясен заден двигател => M2

LM393 Връзки на щифта на сензора за скорост VCC => 5V: OUT => D21: GND => GND

Стъпка 10: Софтуерна част

Можете да намерите библиотеката със сензори и кода на arduino тук >> автономна кола за паркиране

Препоръчано: