Мазмуну:

ARCA (сүйкүмдүү алыстан башкарылуучу Android): 4 кадам (сүрөттөр менен)
ARCA (сүйкүмдүү алыстан башкарылуучу Android): 4 кадам (сүрөттөр менен)

Video: ARCA (сүйкүмдүү алыстан башкарылуучу Android): 4 кадам (сүрөттөр менен)

Video: ARCA (сүйкүмдүү алыстан башкарылуучу Android): 4 кадам (сүрөттөр менен)
Video: The Real Reason Why Enemies Fear America's M1 Abrams Super Tank 2024, Июль
Anonim
ARCA (сүйкүмдүү алыстан башкарылуучу Android)
ARCA (сүйкүмдүү алыстан башкарылуучу Android)
ARCA (сүйкүмдүү алыстан башкарылуучу Android)
ARCA (сүйкүмдүү алыстан башкарылуучу Android)
ARCA (сүйкүмдүү алыстан башкарылуучу Android)
ARCA (сүйкүмдүү алыстан башкарылуучу Android)

Бул көрсөтмө Түштүк Флорида университетинин Макекурстун долбоорунун талабын аткаруу үчүн түзүлгөн (www.makecourse.com).

ARCA - бул алыстан башкарылуучу сүйкүмдүү Android, аны куруу жана ойноо абдан кызыктуу. Бул долбоордун максаты - сүйкүмдүү жана функционалдуу роботту түзүү аркылуу кимдир бирөө түшүнө ала турган нерсени түзүү.

Робот 8ден 8ге чейинки LED матрицасында ар кандай эмоцияларды көрсөтүү менен иштейт, бул сезимдерге кубаныч, уктоо, сүйүү, ачуулануу, келесоо жана өйдө, солго жана оңго кароо кирет. Робот ошондой эле RC унаасы сыяктуу иштейт жана алдыга жылып, солго же оңго бурула алат. Робот эки дөңгөлөктүү моторду тең иштетүү менен алдыга жылат, оң моторду иштетүү менен солго бурулат жана сол моторду күйгүзүү менен оңго бурулат. Дизайн абдан жөнөкөй, бирок ал жөн гана иштейт жана мен жүрөгүмдө программист болгондуктан Arduino программалоосуна көп көңүл бургум келди.

Бул окуу куралында колдонулган бардык файлдардын акыркы версияларын менин Github ARCA репозиторийимден тапса болот.

1 -кадам: Бөлүктөрдүн тизмеси жана 3D басып чыгаруу

Бөлүктөрдүн тизмеси жана 3D басып чыгаруу
Бөлүктөрдүн тизмеси жана 3D басып чыгаруу
Бөлүктөрдүн тизмеси жана 3D басып чыгаруу
Бөлүктөрдүн тизмеси жана 3D басып чыгаруу

Бул долбоордун бөлүктөрү 3D басып чыгарылышы же интернеттен сатып алынышы мүмкүн. Ассамблея жөнүндө ойлогондо, мен эффективдүүлүктүн ачкычын түзгүм келди, ошондой эле дөңгөлөктү (сөзмө -сөз) кайра ойлоп таппоого аракет кылдым. Бул долбоор үчүн колдонулган 3D принтер Makerbot репликатору болгон, эгер сиз 3D басып чыгарууларыңыз меники менен дал келерин текшергиңиз келсе, анда бул принтерди колдонуңуз.

Структуралык компоненттер

  • Дөңгөлөктөр жана колдор үчүн капталдарында тешиктери бар куту
  • Арткы дөңгөлөктөр үчүн тешиктери жана IR сенсорунун тешиги бар кутунун капкагы
  • Сол кол
  • Оң кол
  • Эки арткы дөңгөлөктүн огу
  • капкакты акселге туташтыруу үчүн эки октук бириктиргич
  • 4 дөңгөлөк (моторлор да бул шилтемеде камтылган)
  • Чакан бурамалар (моторлорго туура келет)

Электр компоненттери

  • Arduino Uno
  • Чакан нан (мен Arduino комплектин сатып алдым жана аны менен кошо келди)
  • MCU Control менен эки MAX7219 Red Dot Matrices
  • Инфракызыл алуучу жана алыстан
  • Эки TIP 120 транзистору
  • Зымдарды туташтыруу (мен эркекти ургаачыга, эркекке эркекке көп колдондум жана кыска зымдарга караганда узун зымдарды алууну сунуштайм)
  • бир 220 Ом каршылыгы
  • Эки тиштүү мотор
  • USB туташтырылуучу кубат топтомдору (уюлдук телефондор үчүн колдонулуучу портативдүү)

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

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Структуралык Ассамблея

3D басып чыгарылган бөлүктөр тазалоону талап кылышы мүмкүн, жана мен аны майда кум менен тегиздеп, 3D басып чыгаруу процессинде колдонулган клейдин калганын кетирүү үчүн ацетон (лак тазалагыч) колдонууну сунуштайм. Кээ бир бөлүктөр идеалдуу түрдө туура келбеши мүмкүн, жана бул үчүн огумду тегерек кылып, тешиктер аркылуу туура орнотуу керек болчу.

Дөңгөлөктөргө кичине тууралоо керек, аларды артындагы огунун өлчөмдөрүнө жана алдыңкы бурамаларга туура келиши үчүн көбүрөөк бургулоо керек. Дөңгөлөктөрдөгү чоң тешиктерди тешүү үчүн дөңгөлөктөрдөгү тешиктерди тешүү үчүн 6 мм бургучу колдонуңуз.

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

Калган жыйындар түз эле:

  1. Октук кармагычтарды эпоксиден колдонуу менен кутунун капкагынын артына бекиңиз
  2. Окту кармагычтар аркылуу өткөрүңүз
  3. Суюк бетон колдонуп дөңгөлөктөрдү огуна чаптаңыз
  4. Колуңузду үстүңкү тешиктерден өткөрүңүз жана эпоксиден колду кармагычка чаптаңыз
  5. Кутунун капкагын коробкага сайып салыңыз
  6. Дөңгөлөктөр турган кутунун түбүнө электр лентасын колдонуңуз

Электр чогултуу

Алдыңкы дөңгөлөктөр моторлорго түздөн -түз тиркелет жана мотордун кичинекей бурамасын колдонуп, роботтун ар бир тарабындагы тешиктен өтүү үчүн жетишерлик узун болушу керек. Кыймылдаткычтын айлануучу казыгында кичинекей тешик болушу керек жана сиз бураманы ошол жерге бурап, бураманын башын дөңгөлөккө чаптап койсоңуз болот.

Менин нандын арт жагында жабышчаак таяныч бар болчу, бирок сиздики болбосо, аны жабыш үчүн электр лентасын колдонсоңуз болот. Электр лентасы коопсуздук себептерден улам, тактада жок болгон электр компоненттерин бекитүү үчүн да колдонулган. LED дисплейлери бар MCU электр лента аркылуу көздүн оюкчаларынын артына бекитилген жана моторлор да электр лента менен тешиктерге жакын кутунун капталдарына бекитилген. Мен кызыл электр лента колдонуп, аны дагы көрүнбөө үчүн колдонуп койгом жана ARCA версияңызга окшош түстөгү электр лентасын колдонууну сунуштайм.

Нан жана казыктар ушул Fritzing сүрөтү сыяктуу орнотулган. Эгерде сиз ARCAны ыңгайлаштыруу үчүн бул диаграмманы дагы кошкуңуз келсе, анда Fritzing файлын менин Github репозиторийиме жүктөп алып, аны өзүңүздүн мазмунуңузга түзөтө аласыз.

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

Күч топтому сиздин программаңызды жүктөө үчүн Arduino -ны компьютерге туташтыруу үчүн колдонулган ошол зымга тиркелет жана бул роботто бош болгондуктан, аны оңой эле алып салууга жана заряддоого болот.

3 -кадам: Программалоо

Программалоо
Программалоо

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

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

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

Андан кийин, мен эмоцияларды аныктадым, IR сенсоруна жана 8ден 8ге чейин LED дисплейлерине керектүү объектилерди жарыяладым жана кээ бир глобалдык өзгөрмөлөрдү аныктадым. Сезимдер байт массивинде жарыяланат, мында массивдеги он алтылык сандар 8ден 8ге чейинки дисплейдеги саптарды билдирет. Өзүңүздүн жеке эмоцияңызды жаратуу үчүн, мен каалагандай эмоцияны 8ден 8ге чейин торго түшүрүүнү сунуштайм, андан кийин ар бир катарга 8 бит бинардык санды жазууну сунуштайм, анда жарык өчүк 0 жана жарык 1 болот. он алтылык сан жана аны узундуктун массивине коюңуз 8. Мен ошондой эле циклде колдонула турган кээ бир глобалдык өзгөрмөлөрдү аныктадым; жаркылдаган механизмдин өзгөрмөлөрү жана эмоцияларды сактоо үчүн көрсөткүчтөр жана аларды нейтралдуу баштоого коюу.

Эми биз орнотуу циклине жетебиз, мен тестирлөө үчүн сериялык мониторингди күйгүзөм жана бул сиздин кодду ар кандай IR пульттары менен текшерүү үчүн пайдалуу болушу керек. Андан кийин, мен LED башкаруу китепканасынын функцияларын колдонуп, сол жана оң көз объектилерин инициализацияладым. Мен ошондой эле тиштүү мотор казыктарын чыгарууга койдум жана IR кабылдагычты баштады.

Укурукта, ал негизинен IR сигналынын роботтун статусун өзгөртүүсүн күтөт. Ошентип, эгерде IR сигналы кабыл алынып, ал белгилүү бир баскычтын коддорунун бири менен дал келсе, анда бул билдирүү иштетилип, эмоцияларга жараша сол көз менен оң көздүн маанилерин белгилейт. Эгерде кыймыл баскычы солго, оңго, алдыга жана ОК сыяктуу басылса, анда кнопкалар басылган санга жараша санарипке жазылат. IR кабыл алуучу коддоруна жөн гана эскертүү: IR алыскы китепканасында сиздин алыстан башкаруу пультуңуздун он алтылык коддорун бере турган үлгү коду бар, эгер сиз баскычтарды басканда эч нерсе болбосо, анда коддордун туура экенине ынануу үчүн бул программаны ачыңыз. Болгону, ар бир баскычка кирген он алтылык номерин өзгөртүү керек.

Акырында, сизде эмоцияларды 8ден 8ге чейин басып чыгаруучу функция бар. Бул LED башкаруу китепканасынан setRow функцияларын колдонот жана сиз түзгөн массивдер аркылуу өтүп, саптарды ошого жараша орнотот. Ал эки параметрди алат: сол көздүн массиви жана оң көздүн массиви. Бул же көрсөткүч сыяктуу иштеген байт көрсөткүчү же байт массивинин өзү (б.а. "нейтралдуу" аталышы) болушу мүмкүн.

4 -кадам: Бонустук кеңештер жана амалдар

Бонустук кеңештер жана амалдар
Бонустук кеңештер жана амалдар

Албетте, мен бул долбоордун жүрүшүндө көп нерселерди үйрөндүм жана бул жерде бул долбоорго дагы, Arduino аркылуу башка долбоорлорго дагы тиешелүү болгон кошумча кеңештер менен бөлүшкүм келди.

  • Arduino үчүн көптөгөн онлайн ресурстары бар жана менин оюмча эң пайдалуусу Arduino веб -сайтынан келип чыгат, анткени алардын ачык жана так коддору мисалдарга байланыштуу.
  • Дөңгөлөктү кайра ойлоп таппаңыз, долбооруңузду жеңилдетүү үчүн колдоно турган көптөгөн комплекттер жана алдын ала курулган бөлүктөр бар. Мен программистмин, инженер -механик эмесмин жана бул роботту кантип жасаарымды билүү үчүн бир топ кыйналдым, бирок интернеттен сатып ала турган нерсени табуу оңой эле, бирок дизайнды кайра ойлоп табууга каршы. дөңгөлөк
  • Китепканалар сиздин объектиге багытталган бардык тилдердегидей эле Arduinoдогу досуңуз жана алар бир себептен улам бар. Муну микро контроллерлер менен жупташтырыңыз жана 8ден 8ге чейинки LEDди программалоо жөнөкөй. Мен алардын бирин кол менен программалап койгом, бирөө гана Arduinoдогу ар бир пинди колдонот жана бир тонна кодду талап кылат. Абдан башаламан жана абдан кызыктуу эмес.
  • 3D принтерлери сонун, бирок идеалдуу эмес жана кээ бир нерселерди кум менен тазалоо туура. Ушул себептен улам 3D басып чыгарууда чоңураак болгуңуз келет, анткени көпчүлүк учурда ошол идеалдуу шайкештикти алуу үчүн бир аз майдалап койсоңуз болот.
  • Күч көйгөй жаратышы мүмкүн, анткени мен акыркы мүнөт электр энергиясын колдонууну ойлодум жана 5v батарейкасы трюк кылат деп ойлогом. Андан кийин, кокусунан көрүнгөндөй, кээде мотор же LED дисплей иштебей калат. Мен кубаттуулукка көтөрүлгөндөн кийин, роботтун ичинде чоңураак болгонуна карабастан, көйгөйлөр болгон жок.

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