Мазмұны:
- 1 -қадам: материалдар
- 2 -қадам: OpenCV мен C ++ орнату және конфигурациялау
- 3 -қадам: Arduino орнату
- 4 -қадам: C ++ коды
- 5 -қадам: Arduino коды
- 6 -қадам: 3D басып шығару және басып шығаруды тазарту
- 7 -қадам: қорапты құру
- 8 -қадам: Аяқтау
- 9 -қадам: Бағдарламаны бастаңыз
Бейне: Xbox Controller арқылы бетті бақылау және бақылау арқылы қайырымдылық робот - Arduino: 9 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
Біз қайыршы робот жасаймыз. Бұл робот тітіркендіруге немесе өтіп бара жатқан адамдардың назарын аударуға тырысады. Бұл олардың беттерін анықтап, оларға лазермен оқ атуға тырысады. Егер сіз роботқа тиын берсеңіз, ол ән айтып, би билейді. OpenCV -ді іске қосу үшін роботқа ардуино, фотоаппарат пен компьютер қажет болады. Роботты компьютерге қосылған жағдайда xBox контроллері басқара алады.
1 -қадам: материалдар
Электрондық аппараттық құрал
- Arduino NANO немесе UNO
- USB 2.0 камерасы
- Өтпелі кабельдер (ерлер мен әйелдер)
- 2 x Servo - Generic (Sub -Micro Size)
- 2 x LED - RGB CATHODE 5мм
- 2 x 5 мВт лазерлер
- 1 x Қызыл жарық диодты 5 мм
- 1 x Нан тақтасы
- 4 x 220Ω резистор
- 1 x 1 кОм резистор
- 1 x протобер
- 1 x Sonar сенсоры 4 түйреуіш
- Xbox контроллері
Жабдықтың аналогы
- Ағаш қорап (15 x 15 x 7 см)
- Желім
- Электрлік таспа
Бағдарламалық қамтамасыз ету
- Arduino IDE
- Көрнекі студия 2017 ж
- 3Ds Max (немесе кез келген басқа 3D модульдік бағдарламалық жасақтама)
- Алдын ала 2.14.0 немесе одан кейінгі нұсқасы
- OpenCV 3.4.0 немесе одан кейінгі нұсқасы
Құралдар
- Дәнекерлеу жабдығы
- Аралау және бұрғылау
- Сым кескіш
2 -қадам: OpenCV мен C ++ орнату және конфигурациялау
2.1 -қадам: бағдарламалық қамтамасыз етуді алу
Visual studio 2017: Visual studio Comunity 2017openCV 3.4.0 Win пакетін жүктеңіз: Ресми жүктеу бетіне өтіңіз
2.2 -қадам: OpenCV2.2.1 орнату: ZIP файлын Windows (: C) дискісіне шығарыңыз. Мұны win10 іздеу функциясында табуға болады.2.2.3: Бізге жаңа экологиялық айнымалыларды орнату қажет. «Жол» ортасын тауып, өңдеуді басыңыз.2.2.4: Енді біз «қоқыс картасының» орнын Path ортасындағы жаңа айнымалыға қосуымыз керек. Егер сіз C дискісінде openCV орнатсаңыз, жол келесідей болуы мүмкін: C: / opencv / build / x64 / vc14 / bin Жолды қойыңыз және осы процесте ашылған барлық терезелердегі «OK» түймесін басыңыз.
2.3 -қадам: C ++ визуалды студиясын конфигурациялау 2.3.1: C ++ визуалды жаңа жобасын жасаңыз. Win32 Console қосымшасының бос жобасы болыңыз.2.3.2: Бастапқы файлдар қойындысында тінтуірдің оң жағын басып, жаңа C ++ файлын (.cpp) қосыңыз және оны «main.cpp» деп атаңыз. атауын Solution explorer ішінен таңдап, Қасиеттер тармағын таңдаңыз.2.3.4: Бізге қосымша каталогтарды қосу керек. Мұны C/C ++ қойындысынан табуға болады. Келесі жолды көшіріңіз: C: / opencv / build / include және оны «AID» артына қойыңыз және Apply түймесін басыңыз.2.3.5: Сол терезеде бізге қажет «байланыстырушы» қойындысын таңдаңыз. Жалпы алғанда, біз басқа қосымша кітапханалық директорияларды құруымыз керек. Келесі жолды «AID» C: / opencv / build / x64 / vc14 / lib артына қойыңыз және қайтадан қолдану түймесін басыңыз. «Қосымша тәуелділіктер> өңдеу» түймесін басып, келесі файлды opencv_world320d.lib және xinput.lib (контроллер үшін) қойыңыз және қайтадан қолдану түймесін басыңыз. Терезені жабыңыз, енді сіздің C ++ файлы жұмыс істеуге дайын.
3 -қадам: Arduino орнату
Сервалардың кездесуі: Серво ~ 160 ° айнала алады, олар қалыпты жұмыс істеуі үшін 4, 8 мен 6, 0 Вольт арасында болуы керек. Сервода 3 түйреуіш бар: жер, 4, 8 - 6, 0 вольтті түйреуіш және деректер түйреу. Біздің жоба үшін біз DigitalPin 9 және 10 сервосына деректер түйреуін орнатамыз.
RGB светодиодтармен кездесу: RGB светодиодтарында 4 түйреуіш бар: қызыл, жасыл, көк және жерге қосқыш. Ардуинода біраз орын үнемдеу үшін біз 2 RGB шамдарын қосамыз. Біз тек 3 түйреуішті қолданамыз. Біз суреттегідей протокол тақтасында RGB светодиодтарын қосамыз және дәнекерлей аламыз.
Пьезо -зумермен кездесу: Біздің кішкентай робот біраз шу шығарады. Мұны істеу үшін біз оған дауыс беруіміз керек! Біз оны шынымен шулы етуді таңдай аламыз. Немесе пьезо -дыбыстық сигналдың алдында оны аздап жағымсыз ету үшін 220Ω резистор қоюға болады. Біз Piezo дыбыстық сигналын нан тақтасында қалдырамыз. Дәнекерлеудің қажеті жоқ. Мәліметтер түйреуішін (+) DigitalPin 2 -ге және жерге тұйықтағышты нан тақтасына қосамыз.
Сонармен кездесу: роботты 10 метр қашықтықтағы адамды нысанаға алмау үшін. Біз роботқа адамдарды нысанаға алатын қашықтықты бере аламыз. Біз мұны дыбыс сенсорымен жасаймыз. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => жер
Монета детекторымен кездесу: Біз монета детекторын жасамақпыз. Монета детекторы схеманың жабылғанын немесе үзілгенін анықтау арқылы жұмыс істейді. Ол дерлік коммутатор сияқты жұмыс істейді. Бірақ біз абай болуымыз керек. Егер біз бұл әрекетті дұрыс жасамасақ, онда бізге arduino қымбатқа түседі. Біріншіден: AnalogPin A0 5 вольтты кабельге қосыңыз. Бірақ олардың арасына 1 кОм резистор қоюды ұмытпаңыз. Екінші: жерге сымды жалғаңыз. Біз сымдар мен резисторды бірден RGB светодиодтармен бірдей дәнекерлей аламыз, енді егер біз 2 сымды ауыстырсақ, arduino тұйықталған тізбекті анықтайды. Бұл монетаның бар екенін білдіреді! Лазерлермен кездесу. Роботқа атыс үшін қару қажет! Біршама орынды үнемдеу үшін мен 2 лазерді бірге дәнекерледім, олар камераның кадрына өте жақсы сәйкес келеді. Оларды DigitalPin 11 -ге және жерге қосыңыз. Кішкентай баланы өртеп жіберіңіз!
Қосымша ойын: Біз монетаның астына қызыл жарықдиодты қоюға болады. Бұл қараңғыда көңілді кішкене айлакерлік болады. DigitalPin 8 -ге сымды жалғап, оның жарылып кетпеуі үшін светодиоды мен сымның арасына 220Ω резистор қойыңыз. Жарық диодының қысқа түйреуішін жерге қосыңыз.
4 -қадам: C ++ коды
4.1 -қадам: main.cpp кодын орнату 4.1.1: «main.cpp» жүктеп алып, кодты main.cpp.4.1.2 көшіріңіз: 14 -жолда «com» -ды arduino қолданатын комге өзгертіңіз. «\. / COM (мұны өзгерт)» 4.1.3: 21 және 22 -жолдарда «haarcascade_frontalface_alt.xml» және «haarcascade_eye_tree_eyeglasses.xml» файлдарының дұрыс жолын орнатыңыз, егер C дискісінде openCV орнатылған болса, бұл файлдарды мына жерде орналастыруға болады: «C: / opencv / build / etc / haarcascades \» Қос қиғаш қиғаш сызықты сақтаңыз немесе біреуін ғана қосыңыз.
4.2 -қадам: tserial.h және Tserial.cpp қосыңыз Бұл 2 файл arduino мен компьютер арасындағы байланысты реттейді. каталог Шешім зерттеушісінде жобаны тінтуірдің оң жақ түймесімен басып, қосу> бар элементті таңдаңыз. Қалқымалы терезеде қосылатын екі файлды таңдаңыз.
4.2-қадам: CXBOXController.h және CXBOXController.h қосу Бұл файлдар жобаның контроллер бөлігін алады. Қалқымалы терезеде қосылатын екі файлды таңдаңыз, C ++ файлдары орнатылды.
5 -қадам: Arduino коды
5.1 -қадам: NewPing кітапханасы5.1.1: ArduinoCode.ino жүктеңіз және оны arduino IDE.5.1.2 ішінен ашыңыз: «Эскиз> кітапхананы қосу> кітапханаларды басқару» тармағына өтіңіз. және осы кітапхананы орнатыңыз.
5.2 -қадам: Қадамдар кітапханасы5.2.1: pitches.txt файлын жүктеңіз және pitch.txt мазмұнын көшіріңіз. pitches.txt файлын жаңа қойындыға енгізіп, оны «pitches.h» ретінде сақтаңыз. Arduino коды орнатылды
6 -қадам: 3D басып шығару және басып шығаруды тазарту
6.1 -қадам: 3D файлын басып шығару printfile.form ашыңыз және бәрі жақсы екенін тексеріңіз. Егер бәрі ойдағыдай болса, принтерді принтерге жіберіңіз. Мен өңдеуге 3Ds Max файлдары мен OBJ файлдарын қостым.
6.2-қадам: Үлгіні жетілдіру модельді қатайтыңыз. Немесе ультракүлгін шамды үлгіні қатайту үшін қолдануға болады. Мұны істеу керек, себебі модель жабысқақ болады.
6.2.3: Қолдау шеңберін алып тастаңыз. Мұны сым кескішпен жасауға болады. Немесе пластмассаны кесуге болатын кез келген басқа құрал. 6.2.4: 3D басып шығарудың кейбір бөліктері жұмсақ болуы мүмкін. Егер модель ультракүлгін сәуледе көп болса да, жұмсақ болуы мүмкін бөлшектер тірек жақтауларына жақын орналасқан бөліктер болып табылады. Үлгіні ультракүлгін сәуленің көбірек күніне қойыңыз, қатып қалуы үшін. Серводы жақтауға орнатуға тырысуға болады. Егер олар сәйкес келмесе, сіз материалды тегістеу үшін Дремельді қолдана аласыз. жарамды етіңіз.
7 -қадам: қорапты құру
7.1 -қадам: Шұңқырлар жасау Мен қораптың жоспарын енгіздім. Схема масштабқа сай емес, бірақ барлық өлшемдер дұрыс. Үлкен тесіктерді Dremel көмегімен жасауға болады.7.1.3: шаршы тесіктерді де бұрғылауға болады. Бірақ оларды төртбұрышты етіп жасау үшін Dremel -ді кішкене файлға салып, үшкір бұрыштарды шығаруға болады. 7.1.5: Ағаш сынықтарына назар аударыңыз. Олардан құтылу үшін құмды қағазды қолданыңыз.
7.2 -қадам: Бояу7.2.1: Қақпақты тегістеуден бастаңыз. Бізге бояу жабысуы керек.7.2.2: Шүберекті алыңыз да, қорапты тазарту үшін оған скипидар жағыңыз.
8 -қадам: Аяқтау
Енді біз бәрін орнына қоюымыз керек және 8.11 -қадам: Монета детекторы8.1.1: Монета детекторына арналған бірнеше металл тіректерді жабыстырыңыз..3: Монетамен байланысты тексеріңіз. Егер жабық тізбек болмаса, сымдарды шетіне қарай көбірек дәнекерлеңіз. 8.2 -қадам: Протободы мен RGB шамдары 8.2.3: барлық сымдарды прото -тақтадан arduino -ға қосыңыз. 8.3 -қадам: дыбыс сенсоры 8.3.1: сенсорды біз жасаған тесіктерге қойыңыз. 8.3.28.3.2: Кейбір еркек пен аналық сымдарды екіге бөліп, аналық пен еркек сымдарды бірге дәнекерлеп, сенсорды arduino -ға қосу үшін қолдануға болатын бір кабель жасаңыз.
8.4 -қадам: Лазерлер мен камера 8.4.1: Кішкене жақтауды камераға жабыстырыңыз. Оның тік тұрғанына көз жеткізіңіз.8.4.2: Лазерлерді жақтауға да салыңыз. Дұшпан оларды ұрламауы үшін оларды жабыстырыңыз!
8.5 -қадам: Серверлер мен 3D басып шығару8.5.1: Сервоны қақпақтың тесігіне жабыстырыңыз8.5.2: arduino файлын arduino -ға жүктеңіз (бұл сервоприводтардың дұрыс күйде тұруын қамтамасыз етеді) 8.5.3: Серво келді. кішкентай дөңгелек үстірт Мұны қақпақ астындағы сервоға салыңыз.8.5.4: Үлкен 3D басып шығаруды серво мен үстіртке қойыңыз да, оларды бұрандамен мықтап бұраңыз. 8.5.6: Камераны орнына қойыңыз, бәрі дайын!
9 -қадам: Бағдарламаны бастаңыз
Роботты іске қосу үшін Visual студиясында C ++ файлын ашыңыз. «Отладка режимінде» екеніңізге көз жеткізіңіз, arduino файлын arduino -ға жүктеңіз. Ол жүктелгеннен кейін визуалды студияда ойнатуды басыңыз. Ал робот әлемдегі барлық тиындарды атып, жинайды !!!
Ұсынылған:
SMS және бақылау релесін SMS арқылы жіберу үшін SIM800L қалай пайдалануға болады: 3 қадам
SMS пен бақылау релесін SMS арқылы жіберу үшін SIM800L қалай қолдануға болады: Сипаттама: Бұл оқулықта реле басқару үшін SMS жіберу және SMS алу үшін SIM800L пайдалану әдісі көрсетілген. SIM800L модулі шағын өлшемді және Arduino -мен смс жіберу, смс алу, қоңырау шалу, қоңырау шалу және т.б. үшін интерфейс үшін пайдаланылуы мүмкін. Бұл оқулықта
Bluetooth LE және RaspberryPi көмегімен температураны бақылау және жазу: 9 қадам (суреттермен)
Bluetooth LE және RaspberryPi көмегімен температураны бақылау және тіркеу: Бұл нұсқаулық Blue RADIO (BLEHome) мен RaspberryPi 3B Bluetooth LE сенсорлы қатесі бар температуралық бақылаудың көп түйінді жүйесін қалай қосуға болатындығы туралы. Bluetooth LE стандартының арқасында. қазір қол жетімді
Қайырымдылық машинасы: 6 қадам
Қайырымдылық машинасы: Қоғамдық орындарда адамдар кедей немесе білім беруде қиындықтары бар балаларға көмектесу үшін қайырымдылық қорапшасын жиі көреді, және олар өздеріне тиесілі сыйлық болуын тілеп, түбіртегін қорапқа тастайды. Бірақ уақыт өте келе қайырымдылық қораптары пайда болады
Сыйымдылықты сезу және жарықдиодты шығару арқылы Tfcd 3D қозғалысын бақылау: 6 қадам (суреттермен)
Tfcd 3D қозғалысын сыйымдылықты өлшеу және жарықдиодты шығару арқылы бақылау: Бұл нұсқаулықта сыйымдылық сезу принципін қолдана отырып, 3D кеңістігінде қолдың қозғалысын қалай бақылауға болатыны түсіндірілген. Алюминийден жасалған зарядталған фольга мен қол арасындағы қашықтықты өзгерту арқылы конденсатордың сыйымдылығы өзгереді
Twitter және YouTube арқылы үйдегі бақылау: 6 қадам
Twitter мен YouTube арқылы үйдегі бақылау: Windows үшін Yoics-тың соңғы нұсқасымен кез келген веб-камераны жеке бақылау жүйесіне оңай жасауға болады, онда бейнелер YouTube-ке автоматты түрде жүктеледі. Twitter хабарламасы жіберіледі