Агуулгын хүснэгт:

Xbox Controller -ийн нүүрний хяналт, хяналттай гуйлгачин робот - Arduino: 9 алхам (зурагтай)
Xbox Controller -ийн нүүрний хяналт, хяналттай гуйлгачин робот - Arduino: 9 алхам (зурагтай)

Видео: Xbox Controller -ийн нүүрний хяналт, хяналттай гуйлгачин робот - Arduino: 9 алхам (зурагтай)

Видео: Xbox Controller -ийн нүүрний хяналт, хяналттай гуйлгачин робот - Arduino: 9 алхам (зурагтай)
Видео: Aloe Vera Facial! #skincare #skincareroutine #aloevera 2024, Арваннэгдүгээр
Anonim
Image
Image
OpenCV ба C ++ програмыг суулгах, тохируулах
OpenCV ба C ++ програмыг суулгах, тохируулах

Бид гуйлга гуйдаг робот хийх гэж байна. Энэхүү робот нь өнгөрч буй хүмүүсийг уурлуулах эсвэл тэдний анхаарлыг татахыг хичээх болно. Энэ нь тэдний царайг илрүүлж, лазераар буудахыг оролдох болно. Хэрэв та роботод зоос өгвөл тэр дуу дуулж, бүжиглэх болно. OpenCV -ийг ажиллуулахын тулд роботод arduino, камерын шууд тэжээл, компьютер хэрэгтэй болно. Түүнчлэн роботыг компьютерт холбосон тохиолдолд xBox хянагчаар удирдах боломжтой болно.

Алхам 1: Материал

Цахим тоног төхөөрөмж

  • Arduino NANO эсвэл UNO
  • USB 2.0 камер
  • Холбогч кабель (эрэгтэй, эмэгтэй)
  • 2 x Servo - Ерөнхий (Дэд бичил хэмжээтэй)
  • 2 x LED - RGB CATHODE 5мм
  • 2 х 5 мВт хэмжээтэй лазер
  • 1 х улаан LED 5 мм
  • 1 х талхны самбар
  • 4 x 220Ω эсэргүүцэл
  • 1 x 1KΩ эсэргүүцэл
  • 1 x protoboard
  • 1 x Sonar мэдрэгч 4 голтой
  • Xbox хянагч

Тоног төхөөрөмжийн аналог

  • Модон хайрцаг (15 x 15 x 7 см)
  • Цавуу
  • Цахилгаан соронзон хальс

Програм хангамж

  • Arduino IDE
  • Visual студи 2017
  • 3Ds Max (эсвэл бусад 3d модел хийх програм хангамж)
  • 2.14.0 буюу түүнээс дээш хувилбарыг урьдчилан бэлтгэ
  • OpenCV 3.4.0 ба түүнээс дээш хувилбар

Багаж хэрэгсэл

  • Гагнуурын төхөөрөмж
  • Харсан, өрөмдсөн
  • Утас таслагч

Алхам 2: OpenCV ба C ++ суулгаж тохируулах

OpenCV ба C ++ програмыг суулгах, тохируулах
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: Бид шинэ Байгаль орчны хувьсагчдыг тохируулах хэрэгтэй. "Path" орчны байршлыг олж засварлах товчийг дарна уу.2.2.4: Одоо бид "bin map" -ийн байршлыг Path орчны шинэ хувьсагч дээр нэмэх ёстой. Хэрэв та C хөтөч дээрээ openCV суулгасан бол зам дараах байдлаар үргэлжилж болно: C: / opencv / build / x64 / vc14 / bin Замаа буулгаж, энэ процессын явцад нээсэн байж болох бүх цонхонд "OK" товчийг дарна уу.

Алхам 2.3: Visual C ++ студийг тохируулах 2.3.1: Шинэ харааны C ++ төсөл хийх. Үүнийг хоосон win32 консол програмын төсөл болгоно.2.3.2: Эх файлуудын таб дээр хулганы баруун товчийг дараад шинэ C ++ файл (.cpp) нэмээд "main.cpp" гэж нэрлэнэ үү. 2.3.3: Төсөл дээр хулганы баруун товчийг дарна уу. Solution Explorer доторх нэрийг оруулаад Properties -ийг сонгоно уу.2.3.4: Бид нэмэлт Include директоруудыг нэмэх хэрэгтэй. Үүнийг C/C ++ таб дээрээс олж болно. Дараах замыг хуулж аваарай: C: / opencv / build / include "AID" -ийн ард байрлуулаад Apply дээр дарна уу.2.3.5: Нэг цонхонд бидэнд хэрэгтэй "Холбогч" табыг сонгоно уу. Ерөнхийдөө бид нэмэлт номын сангийн лавлах хийх хэрэгтэй. Дараах замыг "AID" C: / opencv / build / x64 / vc14 / lib -ийн ард байрлуулаад дахин Apply товчийг дарна уу. Тэгээд "Нэмэлт хамаарал> засварлах" дээр дарж дараах файлыг opencv_world320d.lib ба xinput.lib (хянагчийн хувьд) буулгаад дахин хэрэглэх товчийг дарна уу. Цонхыг хаа, одоо таны C ++ файл ажиллахад бэлэн боллоо.

Алхам 3: Arduino -г тохируулах

Arduino -ийг тохируулж байна
Arduino -ийг тохируулж байна
Arduino -ийг тохируулж байна
Arduino -ийг тохируулж байна
Arduino -ийг тохируулж байна
Arduino -ийг тохируулж байна
Arduino -ийг тохируулж байна
Arduino -ийг тохируулж байна

Сервүүдтэй уулзах: Серво нь ~ 160 ° эргэх чадвартай бөгөөд хэвийн ажиллахын тулд 4, 8-6, 0 вольтын хооронд байх ёстой. Серво нь 3 голтой: газардуулга, 4, 8 - 6, 0 вольт зүү, өгөгдөл зүү Манай төслийн хувьд бид DigitalPin 9 ба 10 дээрх сервод зориулсан өгөгдлийн зүүг тохируулах гэж байна.

RGB гэрэлтэй уулзах: RGB LED нь 4 голтой, улаан, ногоон, цэнхэр, газрын зүүтэй. Arduino дээр зай хэмнэхийн тулд бид 2 RGB гэрлийг хооронд нь холбож болно. Тиймээс бид зөвхөн 3 зүү ашиглах болно. Зураг дээрх шиг RGB LED -ийг протобоард дээр холбож, гагнах боломжтой.

Piezo дуугаруулагчтай уулзах: Манай бяцхан робот дуу чимээ гаргах болно. Үүнийг хийхийн тулд бид түүнд дуу хоолойгоо хүргэх ёстой! Бид түүнийг үнэхээр чанга болгохыг сонгож болно. Эсвэл бид пиезо дуугарагчийн өмнө 220 Ω эсэргүүцэл тавьж, түүнийг бага зэрэг муухай болгодог. Бид Piezo дуугаруулагчийг талхны самбар дээр үлдээж байна. Тиймээс бид гагнуур хийх шаардлагагүй, бид өгөгдлийн зүү (+) -ийг DigitalPin 2 -т, газардуулгын зүүг талхны самбар дээр газардуулж холбоно.

Сонартай уулзах: Роботыг 10 метрийн зайд байгаа хүн рүү чиглүүлэхийг оролдохгүйн тулд. Бид роботыг хүн рүү чиглүүлэх боломжтой газраас зай авах боломжтой. Бид үүнийг sonar мэдрэгчээр хийдэг. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => газардуулга

Зоос илрүүлэгчтэй уулзах: Бид зоос илрүүлэгч хийх гэж байна. Зоос илрүүлэгч нь хэлхээ хаагдсан эсвэл тасарсан эсэхийг илрүүлэх замаар ажиллах болно. Энэ нь бараг л унтраалга шиг ажиллах болно. Гэхдээ бид болгоомжтой байх хэрэгтэй. Хэрэв бид үүнийг буруу хийвэл энэ нь бидэнд arduino үнэтэй болно. Нэгдүгээрт: AnalogPin A0 -ийг 5 вольтын кабельд холбоно уу. Гэхдээ тэдгээрийн хооронд 1 кОм эсэргүүцэл тавихаа мартуузай. Хоёрдугаарт: утсыг газардуул. Бид утас, резисторыг RGB leds -тэй ижил хамгаалалтын самбар дээр шууд гагнах боломжтой, хэрэв бид 2 утсыг солих юм бол arduino хаалттай хэлхээг илрүүлэх болно. Энэ нь зоос байна гэсэн үг юм! Лазертай уулзах болно. Роботод галлах зэвсэг хэрэгтэй! Орон зай хэмнэхийн тулд би 2 лазерыг гагнасан бөгөөд энэ нь камерын хүрээнд маш сайн тохирох болно. Тэднийг DigitalPin 11 -т холбож, газардуулаарай.

Нэмэлт заль мэх. Бид зоосны доор улаан LED тавьж болно. Энэ нь харанхуй байхад хөгжилтэй бяцхан заль мэх болно. DigitalPin 8 -д утас холбож, дэлбэрэхээс урьдчилан сэргийлэхийн тулд LED ба утасны хооронд 220 Ом эсэргүүцэл тавь. LED -ийн богино зүүг газардуул.

Алхам 4: C ++ код

Алхам 4.1: main.cpp кодыг тохируулах "\. / 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 болон PC -ийн хоорондох холболтыг хариуцах болно. лавлах Шийдэл хайгч дээр төсөл дээр хулганы баруун товчийг дараад нэмэх> одоо байгаа зүйлийг сонгоно уу. Нээгдсэн цонхонд нэмж оруулах хоёр файлыг сонгоно уу.

Алхам 4.2: CXBOXController.h ба CXBOXController.h нэмнэ үү. Эдгээр файлууд нь төслийн хянагч хэсгийг авах болно. Нээгдсэн цонхонд нэмж оруулах хоёр файлыг сонгоно уу. C ++ файлуудыг тохируулж байна.

Алхам 5: Arduino код

Алхам 5.1: NewPing номын сан5.1.1: ArduinoCode.ino програмыг татаж аваад arduino IDE дээр нээнэ үү.5.1.2: "Sketch> Include libary> Manage libaries" хэсэгт очно уу мөн энэ номын санг суулгаарай.

Алхам 5.2: Pitch -ийн номын сан 5.2.1: pitches.txt файлыг татаж аваад pitch.txt -ийн агуулгыг хуулна уу 5.2.2: Arduino IDE дээр CTRL+Shift+N дарж шинэ таб нээнэ үү. pitches.txt -ийг шинэ таб руу оруулаад "pitches.h" хэлбэрээр хадгална уу. Arduino кодыг тохируулсан болно

Алхам 6: 3D хэвлэх, хэвлэх ажлыг сайжруулах

3D хэвлэх, хэвлэх ажлыг боловсронгуй болгох
3D хэвлэх, хэвлэх ажлыг боловсронгуй болгох
3D хэвлэх, хэвлэх ажлыг боловсронгуй болгох
3D хэвлэх, хэвлэх ажлыг боловсронгуй болгох

Алхам 6.1: 3D файлыг хэвлэх Printfile.form -ийг нээгээд бүх зүйл зүгээр эсэхийг шалгаарай. Хэрэв бүх зүйл зүгээр юм шиг санагдаж байвал хэвлэх ажлыг хэвлэгч рүү илгээнэ үү. Би засварлахын тулд 3Ds Max файлууд болон OBJ файлуудыг оруулсан болно.

Алхам 6.2: Загварыг боловсронгуй болгоорой 6.2.1: Хэвлэж дууссаны дараа 2 загварыг 70% -ийн спиртэнд дүрж, хэвлэмэл зургийг арилгана. загварыг хатууруулах. Эсвэл хэт ягаан туяаны чийдэн ашиглан загварыг хатууруулж болно. Загвар нь наалдамхай байх тул үүнийг хийх шаардлагатай байна.

6.2.3: Дэмжлэгийн хүрээг арилгах. Үүнийг утас таслагч ашиглан хийж болно. Хуванцар хайчлах өөр хэрэгсэл 6.2.4: 3D хэвлэлийн зарим хэсэг зөөлөн хэвээр байж болно. Загвар нь хэт ягаан туяа ихтэй байсан ч зөөлөн байж болох хэсгүүд нь дэмжлэгийн хүрээтэй ойрхон байдаг хэсгүүд юм. Загварыг нарны хэт ягаан туяагаар илүү наранд байлгаад хатууруулна. Та servos -ийг хүрээ рүү оруулахыг оролдож болно. Хэрэв тэдгээр нь тохирохгүй бол та Dremel ашиглан материалыг зүлгүүрээр цэвэрлэж болно. үүнийг тохирох.

Алхам 7: Хайрцаг барих

Хайрцаг барих
Хайрцаг барих
Хайрцаг барих
Хайрцаг барих

Алхам 7.1: Нүх гаргах Надад холбогдох хайрцгийн зураг төслийг оруулсан болно. Зураг төсөл нь масштабтай биш боловч бүх хэмжээ зөв байна.7.1.1: Зөв нүхийг зөв байршилд тэмдэглэж эхэлнэ үү.7.1.2: Бүх нүхийг өрөмдөнө. Том нүхийг Dremel -ийн тусламжтайгаар хэмжээгээр нь хийж болно.7.1.3: Дөрвөлжин нүхийг ч өрөмдөж болно. Гэхдээ тэдгээрийг дөрвөлжин болгохын тулд та Dremel -ийг жижигхэн файлаар суулгаж, хурц өнцөг булангаар нь гаргаж болно. 7.1.5: Модны хэлтэрхийнүүдээс болгоомжил. Тэднээс салахын тулд элсний цаас ашиглана уу.

Алхам 7.2: Уран зураг7.2.1: Тагийг зүлгэж эхлээрэй. Бидэнд наалдах будаг хэрэгтэй.

Алхам 8: Дуусгах

Дуусгаж байна
Дуусгаж байна
Дуусгаж байна
Дуусгаж байна
Дуусгаж байна
Дуусгаж байна

Алхам 8.1: Зоос илрүүлэгч8.1.1: Зоос илрүүлэгч металл бэхэлгээг наана уу..3: Зоос ашиглан холболтыг шалгана уу. Хэрэв хаалттай хэлхээ байхгүй бол утсыг ирмэг рүү нь гагнана. 8.2.3: protduard -аас бүх утсыг arduino руу холбоно уу 8.3 -р алхам: sonar мэдрэгч8.3.1: мэдрэгчийг бидний хийсэн нүхэнд байрлуулна уу. 8.3.28.3.2: Зарим эрэгтэй, эмэгтэй утсыг хагасаар нь огтолж, эмэгтэй ба эрэгтэй утсыг гагнаж, мэдрэгчийг arduino -д холбох ганц кабелийг хий.

Алхам 8.4: Лазер ба камер8.4.1: Жижиг хүрээг камер дээр наа. Босоо байрлалтай эсэхийг шалгаарай. Дайсан тэднийг хулгайлахгүйн тулд нааж өгөөрэй!

Алхам 8.5: Серво ба 3D хэвлэх8.5.1: Сервийг тагны нүхэнд нааж болно.5.5.2: arduino файлыг arduino руу оруулах (энэ нь servo -г зөв байрлалд байлгадаг) жижиг дугуй өндөрлөг Үүнийг тагны доторх серво дээр байрлуулна уу.8.5.4: Том хэмжээтэй 3D хэвийг servo болон plato дээр байрлуулж боолтоор нь чангална.8.5.5: Хоёрдахь servo -ийг жижиг 3D принтер дээр байрлуулаад хооронд нь наа. 8.5.6: Камераа байрлуул, бүх зүйл бэлэн боллоо!

Алхам 9: Хөтөлбөрийг эхлүүлэх

Роботыг эхлүүлэхийн тулд Visual студид C ++ файлыг нээнэ үү. Та "дибаг хийх горимд" байгаа эсэхээ шалгаарай, arduino файлыг arduino руу байршуулна уу. Үүнийг байршуулсны дараа харааны студид тоглох товчийг дарна уу. Тэгээд робот буудаж дэлхийн бүх зоосыг цуглуулах болно !!!

Зөвлөмж болгож буй: