Мазмұны:

ARCA (Қашықтан басқарылатын керемет Android): 4 қадам (суреттермен)
ARCA (Қашықтан басқарылатын керемет Android): 4 қадам (суреттермен)

Бейне: ARCA (Қашықтан басқарылатын керемет Android): 4 қадам (суреттермен)

Бейне: ARCA (Қашықтан басқарылатын керемет Android): 4 қадам (суреттермен)
Бейне: Титаниктің құпиясы: олар айсбергті қалай байқамады?! Ең егжей-тегжейлі оқиға! 2024, Шілде
Anonim
ARCA (қашықтан басқарылатын керемет Android)
ARCA (қашықтан басқарылатын керемет Android)
ARCA (Қашықтан басқарылатын керемет Android)
ARCA (Қашықтан басқарылатын керемет Android)
ARCA (Қашықтан басқарылатын керемет Android)
ARCA (Қашықтан басқарылатын керемет Android)

Бұл нұсқаулық Оңтүстік Флорида университетінің Makecourse жобасының талаптарын орындау үшін жасалған (www.makecourse.com).

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

Робот әр түрлі эмоцияларды 8 -ден 8 -ге дейінгі жарықдиодты матрицада көрсету арқылы жұмыс істейді, бұл эмоцияларға қуаныш, ұйықтау, махаббат, ашу, ақымақтық, жоғары, солға және оңға қарау жатады. Робот сонымен қатар RC автокөлігі сияқты жұмыс істейді және алға қарай жүре алады және солға немесе оңға бұрыла алады. Робот екі доңғалақты қозғалтқышты қосу арқылы алға жылжиды, оң қозғалтқышты қосу арқылы солға бұрылады, ал сол жақ қозғалтқышты қосу арқылы оңға бұрылады. Дизайн өте қарапайым, бірақ ол жұмыс істейді, мен Arduino бағдарламалауына көп көңіл бөлгім келді, өйткені мен шын жүректен бағдарламашы болдым.

Бұл оқулықта қолданылатын барлық файлдардың соңғы нұсқаларын менің Github ARCA репозиторийінен табуға болады.

1 -қадам: Бөліктер тізімі және 3D басып шығару

Бөлшектер тізімі және 3D басып шығару
Бөлшектер тізімі және 3D басып шығару
Бөлшектер тізімі және 3D басып шығару
Бөлшектер тізімі және 3D басып шығару

Бұл жобаның бөлшектерін 3D басып шығаруға немесе Интернеттен сатып алуға болады. Ассамблея туралы ойлана отырып, мен тиімділіктің кілтін жасағым келді, сонымен қатар дөңгелекті (сөзбе -сөз) жаңартпауға тырыстым. Бұл жобада қолданылатын 3D принтер Makerbot репликаторы болды, егер сіз 3D басып шығарудың менікімен сәйкес келетініне көз жеткізгіңіз келсе, осы принтерді қолданыңыз.

Құрылымдық компоненттер

  • Дөңгелектер мен қолдарға арналған тесіктері бар қорап
  • Артқы дөңгелектерге арналған саңылаулары бар қорап қақпағы және ИҚ сенсорына арналған тесік
  • Сол қол
  • Оң қол
  • Екі артқы доңғалаққа арналған ось
  • қақпақты оське қосатын екі осьті қосқыш
  • 4 доңғалақ (қозғалтқыштар осы сілтемеге кіреді)
  • Кішкене бұрандалар (қозғалтқышқа сәйкес келеді)

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

  • Ардуино Уно
  • Кішкене нан тақтасы (мен Arduino жинағын сатып алдым, онымен бірге келді)
  • MCU басқаруымен екі MAX7219 қызыл нүктелік матрица
  • Инфрақызыл қабылдағыш және қашықтан басқару құралы
  • Екі TIP 120 транзисторы
  • Сымдарды жалғау (мен еркектер мен әйелдердің сымдарын көп қолдандым және қысқа сымдарға қарағанда ұзын сым алуды ұсынамын)
  • бір 220 Ом резистор
  • Екі редукторлы қозғалтқыш
  • USB қосылатын қуат пакеттері (ұялы телефондар үшін қолданылатын портативті)

2 -қадам: құрастыру

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

Құрылымдық жинақ

3D басып шығарылған бөлшектерді тазалау қажет болуы мүмкін, сондықтан мен оны ұсақ ұнтақпен сүртуді және 3D басып шығару процесінде қолданылатын желімнің қалдықтарын кетіру үшін ацетонды (лак тазартқышты) қолдануды ұсынамын. Кейбір бөлшектер сәйкес келмеуі мүмкін, сондықтан осьтің дөңгелек болуы және тесіктерден дұрыс өтуі үшін маған тегістеу қажет болды.

Дөңгелектерге аздап реттеу қажет, оларды артқы жағындағы осьтің өлшеміне және алдыңғы бұрандаларға сәйкес келу үшін көбірек бұрғылау қажет болды. Дөңгелектердегі үлкен тесіктерді шығару үшін дөңгелектердегі тесіктерді тесу үшін 6 мм бұрғылау ұшын қолданыңыз.

Бұл құрастыру үшін мен әр түрлі желімдер қолдандым, бірақ мен кептірудің ұзақ уақытына қарамастан сұйық бетонды (модельдеу желімі) ұстау үшін ең жақсы екенін білдім, бірақ лас болғанына қарамастан тез кептіруге және жақсы ұстауға қажет заттар үшін эпоксид жақсы болатынын білдім.

Қалған жиын өте қарапайым:

  1. Бекіту үшін эпоксидті қолданып, ось ұстағыштарын қорап қақпағының артына бекітіңіз
  2. Осьті ось ұстағыштары арқылы өткізіңіз
  3. Дөңгелектерді оське сұйық бетонмен жабыстырыңыз
  4. Қолды үстіңгі тесіктерден өткізіп, ұстағышқа эпоксидті қолданыңыз
  5. Қораптың қақпағын қорапқа бұраңыз
  6. Дөңгелектер орналасқан қораптың төменгі жағында электр таспасын қолданыңыз

Электр құрастыру

Алдыңғы дөңгелектер қозғалтқыштарға тікелей бекітілген, ал мотордың кішкене бұрандасын роботтың әр жағындағы тесіктен өтуге жеткілікті ұзындыққа айналдыру үшін пайдалану қажет. Қозғалтқыштың айналатын қазығында кішкене тесік болуы керек және сіз бұранданы қораптағы тесіктен өткізгеннен кейін бұранданы бұрап, бұранданың басын дөңгелекке жабыстыруға болады.

Менің тақтайшамның артқы жағында жабысқақ тірек болды, бірақ егер сіздікі болмаса, оны жабыстыру үшін электр таспасын қолдануға болады. Электрлік таспа қауіпсіздік мақсатында тақтада жоқ электрлік компоненттерді бекіту үшін де қолданылды. Жарық диодты дисплейі бар MCU электрлік таспаның көмегімен көздің розеткаларының артқы жағына бекітілген, сонымен қатар қозғалтқыштар электр таспасының көмегімен тесіктерге жақын қораптың екі жағына бекітілген. Мен оны көрінбейтін етіп жасау үшін қызыл электрлік таспаны қолдандым, мен ARCA нұсқасына ұқсас түсті электр таспасын қолдануды ұсынамын.

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

Мен сымдарды беріліс қозғалтқыштарындағы ілмектерге ілмектердің айналасындағы сымдарды бүгу арқылы бекіттім. Егер сізде дәнекерлеу үтігі болса, бұл қосылыстарды дәнекерлеу жақсы болар еді, бірақ егер сізде жоқ болса, бұл оңай шешім.

Қуат жиынтығы сіздің бағдарламаңызды жүктеу үшін Arduino -ны компьютерге қосу үшін пайдаланылатын сол сымға бекітілген және бұл роботта бос, сондықтан оны оңай алып тастауға және зарядтауға болады.

3 -қадам: бағдарламалау

Бағдарламалау
Бағдарламалау

Міне, сіз ARCA -ға жүктей алатын код, ол менікіндей жұмыс істеуі үшін сізге кодты пайдалану үшін келесі екі кітапхана қажет.

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

Біріншіден, мен осы кітапханалардың функциялары мен объектілерін пайдалануға мүмкіндік беретін кодқа екі кітапхананы қосамын. Мен мұнда түйреуіштерді анықтаймын. Егер сіз өзіңіздің түйреуіштеріңізді алдыңғы қадамда орнатылғаннан өзгеше етіп жасауды шешсеңіз, осы жерге кодты өзгертіңіз.

Содан кейін мен эмоцияларды анықтадым, инфрақызыл сенсорға және 8 -ден 8 -ге дейінгі жарықдиодты дисплейлерге қажетті объектілерді жарияладым және кейбір жаһандық айнымалыларды анықтадым. Эмоциялар байт массивінде жарияланады, онда массивтегі он алтылық сандардың әрқайсысы 8 -ден 8 -ге дейінгі дисплейдегі жолдарды білдіреді. Өзіңіздің жеке эмоцияларыңызды жасау үшін мен сізге 8 -ден 8 -ге дейінгі торға қажет эмоцияны шығаруды ұсынамын, содан кейін әр жолға 8 разрядты екілік санды жазыңыз, онда жарық өшірулі 0 және жарық 1 болады. он алтылық сан және оны ұзындық массивіне 8 қойыңыз. Мен сондай -ақ циклде қолданылатын кейбір жаһандық айнымалыларды анықтадым; жыпылықтайтын механизмнің айнымалылары мен эмоцияларды сақтауға және оларды бейтараптан бастауға орнатуға арналған көрсеткіштер.

Енді біз орнату циклына келеміз, онда мен тестілеу үшін сериялық бақылауды қосамын, бұл сіздің кодты әр түрлі инфрақызыл пультпен тексеру үшін пайдалы болуы керек. Содан кейін мен жарықдиодты басқару кітапханасының функцияларын қолдана отырып, сол және оң көз объектілерін инициализацияладым. Сондай -ақ, редуктордың қозғалтқыш түйреуіштерін шығысқа қойдым және ИҚ қабылдағышты іске қостым.

Циклда ол IR сигналының роботтың күйін өзгертуін күтеді. Егер ИҚ сигналы қабылданса және ол белгілі бір батырманың кодтарының біріне сәйкес келсе, онда егер оператор іске қосылып, эмоцияларға сәйкес сол көз мен оң көздің мәндерін орнатады. Егер қозғалыс түймесі солға, оңға, алға және ОК сияқты басылса, түйреуіш басылғанына байланысты істікшелерді қосу немесе өшіру сандық түрде жазылады. ИҚ қабылдағыш кодтары туралы ескерту: ИҚ қашықтан басқару кітапханасында қашықтан басқару пультінің он алтылық кодын беретін үлгі коды бар, егер сіз түймелерді басқан кезде ештеңе болмаса, кодтардың дұрыс екеніне көз жеткізу үшін осы бағдарламаны ашыңыз. Сізге тек әр түйменің он алтылық нөмірін өзгерту қажет.

Ақырында, сізде эмоцияларды 8 -ден 8 -ге дейін басып шығаратын функция бар. Бұл LED басқару кітапханасының setRow функцияларын қолданады және сіз жасаған массивтер арқылы өтеді және сәйкесінше жолдарды орнатады. Ол екі параметрді қабылдайды: сол көзге арналған массив және оң көзге арналған массив. Бұл байт көрсеткіші немесе көрсеткіш ретінде әрекет ететін байт массивінің өзі болуы мүмкін (яғни «бейтарап» атауы).

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

Бонустық кеңестер мен амалдар
Бонустық кеңестер мен амалдар

Бұл жоба барысында мен көп нәрсені білдім және мен осы жобаға да, Arduino қолданатын басқа да жобаларға қатысты қосымша кеңестермен бөліскім келді.

  • Arduino үшін көптеген онлайн -ресурстар бар және менің ойымша, олардың анық және қысқа код мысалдарына байланысты Arduino веб -сайтынан ең пайдалы.
  • Дөңгелекті қайта ойлап шығармаңыз, сіздің жобаңызды жеңілдету үшін қолдануға болатын көптеген жинақтар мен дайын бөлшектер бар. Мен инженер -механик емеспін, мен бұл роботты қалай жіберетінімді түсіну қиынға соқты, бірақ интернеттен сатып алып, оны өз конструкциямда енгізу үшін бір нәрсені табу оңай болды. доңғалақ
  • Кітапханалар сіздің объектіге бағытталған барлық тілдердегідей Arduino-дағы досыңыз болып табылады және олар белгілі бір себептермен бар. Мұны микроконтроллерлермен байланыстырыңыз және 8-ден 8-ге дейінгі жарықдиодты бағдарламалау қарапайым. Мен бұлардың бірін қолмен бағдарламаладым, тек біреуі Arduino -дегі әр істікті қолданады және бірнеше тонна кодты қажет етеді. Өте тәртіпсіз және өте көңілді емес.
  • 3D принтерлері керемет, бірақ мінсіз емес, сондықтан кейбір заттарды тегістеу керек. Осы себепті 3D басып шығару кезінде сіз үлкенірек болғыңыз келеді, өйткені көп жағдайда сіз оны жақсы қиюға болады.
  • Қуат мәселесі болуы мүмкін, себебі мен соңғы минутта энергияны пайдалану туралы ойладым және 5В батареясы бұл әдісті жасайды деп ойладым. Кейде кездейсоқ сияқты, кейде мотор немесе жарықдиодты дисплей жұмыс істемейді. Мен қуат жинағын жаңартқаннан кейін, роботтың көлемділігіне қарамастан, мәселе туындамады.

Ұсынылған: