Мазмуну:
- 1 -кадам: Бөлүктөр
- 2 -кадам: Дененин дизайны
- 3 -кадам: Ишке ашыруу (имарат)
- 4 -кадам: Кабелдөө
- 5 -кадам: Коддоо
- 6 -кадам: Көңүл ачыңыз
Video: Arduino - Лабиринт чечүүчү робот (MicroMouse) Роботтун артынан ээрчүү: 6 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Кош келиңиз, мен Исхакмын жана бул менин биринчи роботум "Striker v1.0". Бул робот жөнөкөй лабиринтти чечүү үчүн иштелип чыккан. Сынакта бизде эки лабиринт болгон жана робот аларды аныктай алган. Лабиринттеги башка өзгөрүүлөр. кодду жана дизайнды өзгөртүүнү талап кылышы мүмкүн, бирок мунун баары оңой.
1 -кадам: Бөлүктөр
Биринчиден, сиз эмне менен алектенип жатканыңызды билишиңиз керек.
Роботтор = Электр + Аппаратура + Программалык камсыздоо
2- Техникалык жабдыктар: "Дене, Мотор, Мотор Драйвер, Сенсорлор, Зымдар жана Контроллер", сиз тапшырманы аткаруучу маанилүү бөлүктөрдү гана алышыңыз керек, жөнөкөй тапшырма үчүн кымбат баалуу Контроллерди алуунун кажети жок.
3- Программалык камсыздоо: код логика жөнүндө. Контроллердин кантип иштээрин түшүнгөндөн кийин функцияларды тандоо жана кодду жөнөкөйлөтүү оңой болуп калат. Коддун тили контроллердин түрү боюнча аныкталат.
Тетиктер тизмеси:
- Arduino UNO
- 12v DC кыймылдаткычтары (x2)
- Дөңгөлөктөр (x2)
- Мотор айдоочу (L298N)
- Алыстык сенсору (Ultra Sonic)
- Зымдар
- 12v Батарея (1000 мАч)
Куралдардын тизмеси:
- Батарея кубаттагычы
- Акрил барагы
- Кандооч
- Зым кескич
- Нейлон Zip ороо
Кошумча көңүл ачуу үчүн сиз аны күйгүзүү үчүн LEDдерди колдонсоңуз болот, бирок бул анча маанилүү эмес.
2 -кадам: Дененин дизайны
Негизги идея - дененин үстүндөгү бөлүктөрдү жыйноо жана нейлон Zip Wrapти колдонуу Arduino жана Wires калганын туруктуулугун жеңилдетүү.
Мен корпусту долбоорлоо үчүн CorelDRAW колдондум жана келечекте кандайдыр бир өзгөрүүлөр болгон учурда кошумча тешиктерди жасадым.
Мен лазер кескичти колдонуу үчүн жергиликтүү мастерскойго бардым, андан кийин баарын чогуу кура баштадым. Кийинчерээк моторлор мен күткөндөн узагыраак болгондуктан кээ бир өзгөртүүлөрдү киргиздим. Айтайын дегеним, сиздин робот меникиндей түзүлүшү керек эмес.
PDF файлы жана CorelDRAW файлы тиркелет.
Эгерде сиз дизайнды лазер менен кесе албасаңыз, кабатыр болбоңуз. Сизде Arduino, ошол эле сенсорлор жана моторлор бар болсо, анда сиз менин кодумду роботуңузда кичинекей өзгөрүүлөр менен иштей алышыңыз керек.
3 -кадам: Ишке ашыруу (имарат)
Дизайн денедеги сенсорлорду оңдоону жеңилдетти.
4 -кадам: Кабелдөө
Бул жерде роботтун схемасы келтирилген. Бул байланыштар кодго байланыштуу. Сиз байланыштарды өзгөртө аласыз, бирок аны менен кодду өзгөртүүнү унутпаңыз.
Мен "УЗИ сенсорун" түшүндүргүм келет
УЗИ сенсору - үн толкундарынын жардамы менен объектке чейинки аралыкты өлчөй турган түзүлүш. Ал белгилүү бир жыштыкта үн толкунун жөнөтүп, кайра артка кайтуусун угуу менен аралыкты өлчөйт. Үн толкуну менен артка секирип жаткан үн толкунунун ортосундагы өткөн убакытты жазуу менен, бул Sonar менен Radarдын иштешине окшош окшойт.
УЗИ сенсорунун Arduino менен байланышы:
- GND пин Жерге туташкан.
- VCC пин Позитивдүү (5v) туташкан.
- Эхо пин Ардуино менен туташкан. (каалаган пинти тандап, аны кодго дал келтир)
- TRIG пин Arduino менен туташкан. (каалаган пинти тандап, аны кодго дал келтир)
Сиз жалпы Ground түзөсүз жана ага бардык GND'дерди туташтырасыз (сенсорлор, Arduino, Driver) бардык негиздер туташышы керек.
Vcc Pins үчүн 3 сенсорду 5v пинге туташтырыңыз
(сиз аларды Arduino же драйверге туташтыра аласыз, мен айдоочуну сунуштайм)
Эскертүү: Сенсорлорду 5v жогору чыңалууга туташтырбаңыз, болбосо ал бузулуп калат.
Мотор айдоочу
L298N H-көпүрөсү: бул эки DC кыймылдаткычынын ылдамдыгын жана багытын көзөмөлдөөгө же бир биполярдуу тепкичтүү моторду башкарууга мүмкүндүк берген IC 5 жана 35В DC.
Бортто 5в жөнгө салгыч дагы бар, андыктан эгерде сиздин чыңалууңуз 12в чейин болсо, сиз дагы 5v доскадан ала аласыз.
Сүрөттү карап көрүңүз - сандын астындагы тизмеге дал келиңиз:
- DC мотору 1 "+"
- DC мотору 1 "-"
- 12в секиргич - 12в DCден чоңураак камсыздоо чыңалуусун колдонсоңуз, муну алып салыңыз. Бул борттогу 5v жөндөгүчтү иштетет
- Моторуңуздун чыңалуусун бул жерге туташтырыңыз, эң көп 35v DC.
- GND
- 12v секиргич болсо, 5v чыгаруу
- DC мотору 1 jumper. Remove алып салуу жана DC мотор ылдамдыгын көзөмөлдөө үчүн PWM чыгаруу туташуу иштетүү.
- IN1 багытын башкаруу
- IN2 багытын башкаруу
- IN3 багытын башкаруу
- IN4 багытын башкаруу
- DC мотору 2 секиргичти иштетет. Өткөргүчтү алып салыңыз жана DC моторунун ылдамдыгын көзөмөлдөө үчүн PWM чыгуусуна туташыңыз
- DC мотору 2 "+"
- DC мотору 2 "-"
Эскертүү: Бул драйвер каналга 1А берет, көбүрөөк токту төгүү ICге зыян келтирет.
Батарея
Мен 1000 мАч менен 12 в батареяны колдондум.
Жогорудагы таблица батарейканын заряды чыкканда чыңалуу кантип төмөндөгөнүн көрсөтөт. Сиз муну эстен чыгарбооңуз керек жана батарейканы дайыма толтуруп турушуңуз керек.
Бошотуу убактысы негизинен Ah же mAh рейтинги агымга бөлүнөт.
Ошентип, 300мА тарткан 1000 мАч батарейка үчүн сизде:
1000/300 = 3,3 саат
Эгерде сиз агымды көбүрөөк сарптасаңыз, убакыт кыскарат ж.б.у.с. Эскертүү: Батарея зарядынын агымынан ашпаганыңызды текшериңиз, болбосо ал бузулат.
Дагы бир жолу жалпы негиз түзүп, ага бардык GNDлерди туташтырыңыз (сенсорлор, Arduino, айдоочу) бардык негиздер туташтырылышы керек.
5 -кадам: Коддоо
Мен буларды функцияларга айландырдым жана бул роботту коддоо мен үчүн кызыктуу болду.
Негизги идея дубалдарга тийбөө жана лабиринттен чыгуу. Бизде 2 жөнөкөй лабиринт бар болчу жана мен муну эстен чыгарбашым керек болчу, анткени алар башка болчу.
Көк лабиринт оң дубалдын төмөнкү алгоритмин колдонот.
Кызыл лабиринт төмөнкү дубалды алгоритмди колдонот.
Жогорудагы сүрөттө эки лабиринтте чыгуунун жолу көрсөтүлгөн.
Код агымы:
- казыктарды аныктоо
- чыгаруу жана киргизүү казыктарын аныктоо
- сенсорлордун окуусун текшерүү
- дубалдарды аныктоо үчүн сенсорлордун окуусун колдонуңуз
- биринчи жолду текшериңиз (эгер ал калган болсо, анда сол дубалды ээрчиңиз, эгер туура болсо, оң дубалды ээрчиңиз)
- Дубалдарга тийбөө жана мотордун ылдамдыгын көзөмөлдөө үчүн PID колдонуңуз
Сиз бул кодду колдонсоңуз болот, бирок эң жакшы натыйжага жетүү үчүн казыктарды жана туруктуу сандарды өзгөртө аласыз.
Код үчүн бул шилтемени басыңыз.
create.arduino.cc/editor/is7aq_shs/391be92…
Китепкана жана Arduino Code File үчүн бул шилтемеге өтүңүз.
github.com/Is7aQ/Maze-Solving-Robot
6 -кадам: Көңүл ачыңыз
Көңүл ачууну унутпаңыз: D Бул мунун баары көңүл ачуу үчүн, эгер ал иштебесе же кандайдыр бир туура эмес нерсе болсо, паника кылбаңыз. катаны байкоо жана багынбаңыз. Окуганыңыз үчүн рахмат жана бул жардам берди деп үмүттөнөм.
Электрондук почта: [email protected]
Сунушталууда:
Роботтун артынан өнүккөн линия: 22 кадам (сүрөттөр менен)
Advanced Line After Robot: Бул мен курган жана бир топ убакыттан бери иштеп келе жаткан Teensy 3.6 жана QTRX линия сенсоруна негизделген өнүккөн линия. Роботту ээрчитип келген мурунку линиямдын дизайнында жана иштөөдө бир топ жакшыртуулар бар. Т
Animatronics көзүн ээрчүү кыймылы: 8 кадам (сүрөттөр менен)
Motion Follow Animatronics Eyes: Бул Arduino долбоору кыймылды тартуу үчүн оптикалык агым сенсорун (ADNS3080) колдонот. Көздөр кыймылдуу объектти ээрчип бараткандай көрүнөт
EBot8 объектиси роботтун артынан: 5 кадам (сүрөттөр менен)
EBot8 объектиси роботту ээрчип жүрөт: Каякка барбаңыз, артынан ээрчиген робот жасоону ойлонуп көрдүңүз беле? Бирок, жөн эле мүмкүн эмес беле? Мейли … Эми болот! Биз сизге төмөнкү роботту сунуштайбыз! Бул үйрөткүчкө барыңыз, жактыңыз жана добуш бериңиз, балким сиз да муну кыла аласыз
Роботтун артынан EBot Light: 5 кадам (Сүрөттөр менен)
EBot Light Follow Robot: Light төмөнкү робот кээ бир жөнөкөй компоненттерден жасалган жана ал абдан караңгы жерлерге чоң таасир эте алат. Эми муну кантип жасоону карап көрөлү
Arduino менен иштөөчү сүйлөшүүчү роботтун башын түзүңүз!: 26 кадам (сүрөттөр менен)
Arduino менен иштөөчү Talking Robot Head түзүңүз!: Бул робот башы башында менин физикалык эсептөө классым үчүн жылдын аягында долбоор катары курулган, бирок жай мезгилинде ал " үйрөнгөн " кантип сүйлөшүү керек. Баш эки Freeduinos, 3 TLC5940NT чиптери жана Adafruit Industries менен иштейт