Mündəricat:
- Addım 1: Materiallar
- Addım 2: OpenCV və C ++ qurmaq və konfiqurasiya etmək
- Addım 3: Arduino qurmaq
- Addım 4: C ++ kodu
- Addım 5: Arduino Kodu
- Addım 6: 3D Çap və Çapı Təmizləmək
- Addım 7: Qutunun qurulması
- Addım 8: Bitirmə
- Addım 9: Proqramı başladın
Video: Xbox Controller tərəfindən Üz İzləmə və İdarəetmə ilə Yalançı Robot - Arduino: 9 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Dilənçi bir robot hazırlayacağıq. Bu robot yoldan keçən insanları qıcıqlandırmağa və ya diqqəti cəlb etməyə çalışacaq. Üzlərini aşkar edəcək və onlara lazer vurmağa çalışacaq. Robota bir sikkə versəniz, o mahnı oxuyacaq və rəqs edəcək. Açıq CV -ni işə salmaq üçün robotun arduino, canlı kamera və kompüterə ehtiyacı olacaq. Robot PC -yə qoşulduqda xBox nəzarətçi tərəfindən də idarə oluna biləcək.
Addım 1: Materiallar
Elektron Avadanlıq
- Arduino NANO və ya UNO
- USB 2.0 Kamera
- Jumper kabelləri (kişi və qadın)
- 2 x Servo - Ümumi (Sub -Mikro Ölçü)
- 2 x LED - RGB KATOD 5 mm
- 2 x 5 mW lazerlər
- 1 x Qırmızı LED 5 mm
- 1 x Çörək paneli
- 4 x 220Ω müqavimət
- 1 x 1KΩ rezistor
- 1 x protoboard
- 1 x Sonar sensoru 4 sancaq
- Xbox nəzarətçisi
Avadanlıq analoqu
- Taxta qutu (15 x 15 x 7 sm)
- Yapışqan
- Elektrik lenti
Proqram təminatı
- Arduino IDE
- Vizual studiya 2017
- 3Ds Max (və ya hər hansı digər 3d modelləşdirmə proqramı)
- Preform 2.14.0 və ya daha sonra
- OpenCV 3.4.0 və ya daha sonra
Alətlər
- Lehim avadanlığı
- Gördü və qazdı
- Tel kəsici
Addım 2: OpenCV və C ++ qurmaq və konfiqurasiya etmək
Addım 2.1: Proqramı əldə edin
Visual studio 2017: Visual studio Comunity 2017openCV 3.4.0 Win paketini yükləyin: Rəsmi yükləmə səhifəsinə keçin
Addım 2.2: OpenCV2.2.1 -in quraşdırılması: Zip faylını Windows (: C) sürücünüzə çıxarın.2.2.2: Qabaqcıl sistem parametrlərinizə gedin. Bunu win10 axtarış funksiyanızda tapa bilərsiniz.2.2.3: Yeni Ətraf mühit dəyişənləri qurmalıyıq. "Yol" ətraf mühitini tapın və redaktə edin.2.2.4: İndi "bin xəritəsi" nin yerini Path mühitində yeni bir dəyişənə əlavə etməliyik. C sürücünüzə openCV yükləsəniz, yol belə gedə bilər: C: / opencv / build / x64 / vc14 / bin Yolu yapışdırın və bu proses zamanı açmış ola biləcəyiniz bütün pəncərələrdə "OK" düyməsini basın.
Addım 2.3: C ++ vizual studiyasını konfiqurasiya etmək 2.3.1: Yeni bir vizual C ++ layihəsi hazırlayın. Bunu boş bir win32 Konsol Tətbiqi layihəsi halına gətirin.2.3.2: Mənbə faylları sekmesinde sağ klikləyin və yeni bir C ++ faylını (.cpp) əlavə edin və "main.cpp" adlandırın. 2.3.3: Layihəni sağ vurun. Solution explorer -də adını seçin və Properties seçin.2.3.4: Əlavə bir Dizinlər əlavə etməliyik. Bu, ümumiyyətlə C/C ++ sekmesinde tapıla bilər. Aşağıdakı yolu kopyalayın: C: / opencv / build / include və "AID" in arxasına yapışdırın və Apply düyməsini basın.2.3.5: Eyni pəncərədə "Bağlayıcı" sekmesini seçin. Ümumiyyətlə, başqa bir əlavə kitabxana direktorluğu yaratmalıyıq. Aşağıdakı yolu "AID" C: / opencv / build / x64 / vc14 / lib arxasına yapışdırın və yenidən tətbiq et düyməsini basın.2.3.6: Eyni Bağlayıcı sekmesinin altında "Giriş" sekmesini seçin. Və "Əlavə Əlaqələr> redaktə et" düyməsini basın və aşağıdakı faylı opencv_world320d.lib və xinput.lib (Nəzarətçi üçün) yapışdırın və yenidən tətbiq düyməsini basın. Pəncərəni bağlayın İndi C ++ faylınız işləməyə hazırdır.
Addım 3: Arduino qurmaq
Servoların qarşılanması: Servoların ~ 160 ° dönmə qabiliyyətinə malikdirlər Normal işləmələri üçün 4, 8 və 6, 0 Volt arasında olmalıdırlar. Servoda 3 sancaq var: torpaq, 4, 8 - 6, 0 volt pin və məlumat pin. Layihəmiz üçün DigitalPin 9 və 10 üzərindəki servolar üçün məlumat pinlərini təyin edəcəyik.
RGB ledləri ilə tanışlıq: RGB ledlərində 4 pin var: qırmızı, yaşıl, mavi və yer pin. Arduino -da yerdən qənaət etmək üçün 2 RGB LED -i birləşdirə bilərik. Beləliklə, yalnız 3 sancaqdan istifadə edəcəyik. RGB pinlərini şəkildəki kimi bir protoboardda bağlaya və lehimləyə bilərik. Qırmızı pin => DigitalPin 3 (PWM) Yaşıl pin => DigitalPin 4 Mavi pin => DigitalPin 7
Piezo buzzer ilə tanışlıq: Kiçik robotumuz səs -küy salacaq. Bunu etmək üçün ona səs verməliyik! Onu həqiqətən yüksək səslə seçməyi seçə bilərik. Ya da onu bir az daha pis etmək üçün piezo səs siqnalının önünə 220Ω rezistor qoya bilərik. Piezo buzzerini çörək taxtasında buraxırıq. Məlumat pinini (+) DigitalPin 2 -yə və torpaq pinini çörək lövhəsində yerə bağlayırıq.
Sonarla tanışlıq: Robotun 10 metr uzaqlıqdakı insanı nişan almasına mane olmaq üçün. Robota insanları nişan ala biləcəyi bir məsafə verə bilərik. Bunu sonar sensoru ilə edirik. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => torpaq
Sikkə detektoru ilə görüş: Bir sikkə detektoru hazırlayacağıq. Sikkə detektoru, dövrənin qapalı və ya pozulduğunu aşkarlayaraq işləyəcək. Demək olar ki, bir keçid kimi işləyəcək. Amma diqqətli olmalıyıq. Bunu səhv etsək, bizə bir arduino başa gələcək. Birincisi: AnalogPin A0 -ı 5 voltlu bir kabelə qoşun. Ancaq arasına 1KΩ rezistor qoyduğunuzdan əmin olun. İkincisi: Bir teli yerə bağlayın. Kabelləri və rezistoru dərhal RGB ledləri ilə eyni protoboya taxa bilərik. İndi 2 teldən bir -birinə toxunsaq arduino qapalı bir dövrə algılar. Bu, bir sikkə olduğu anlamına gəlir! Doom lazerləri ilə tanış olmaq üçün robotun atəşə ehtiyacı var! Bir az yer saxlamaq üçün 2 lazeri birlikdə lehimlədim, kamera çərçivəsinə mükəmməl uyğunlaşacaqlar. Onları DigitalPin 11 -ə və yerə bağlayın. Kiçik adamı yandırın!
İsteğe bağlı hiylə. Biz sikkələrin altına qırmızı LED qoya bilərik. Qaranlıq olduqda bu əyləncəli kiçik bir hiylə olacaq. DigitalPin 8 -ə bir tel bağlayın və partlamaması üçün LED ilə telin arasına 220Ω rezistor qoyun. LED -in qısa pinini yerə bağlayın.
Addım 4: C ++ kodu
Addım 4.1: main.cpp kodunun qurulması4.1.1: "main.cpp" yükləyin və kodu öz main.cpp.4.1.2 -ə kopyalayın: 14 -cü sətirdə "com" sözünü arduinonun istifadə etdiyi com olaraq dəyişdirin. "\. / COM (bunu dəyişdir)" 4.1.3: 21 və 22 -ci sətirlərdə "haarcascade_frontalface_alt.xml" və "haarcascade_eye_tree_eyeglasses.xml" fayllarının doğru yolunu C sürücüsündə quraşdırılmışsa, bu fayllar burada yerləşə bilər: "C: / opencv / build / etc / haarcascades \" İkiqat arxa xətləri saxlayın və ya yalnız birinin olduğu yerdə əlavə edin.
Addım 4.2: tserial.h və Tserial.cpp əlavə edin Bu 2 fayl arduino ilə PC arasındakı əlaqəni təmin edəcək. 4.2.1: tserial.h və Tserial.cpp yükləyin. kataloq Həll araşdırıcısında layihəni sağ vurun və əlavə et> mövcud elementi seçin. Açılan pəncərədə əlavə olunacaq iki faylı seçin.
Addım 4.2: CXBOXController.h və CXBOXController.h əlavə edin. Bu fayllar layihənin nəzarətçi hissəsini öz üzərinə götürəcək. Açılan pəncərədə əlavə olunacaq iki faylı seçin. C ++ faylları qurulur.
Addım 5: Arduino Kodu
Addım 5.1: NewPing kitabxanası5.1.1: ArduinoCode.ino'yu yükləyin və arduino IDE.5.1.2 -də açın: "Eskiz> Kütüphaneyi daxil et> Libariarları idarə et" bölməsinə keçin. 5.1.3: "NewPing" üçün filtr qutusunda axtarın və bu kitabxananı quraşdırın.
Addım 5.2: Pitch kitabxanası 5.2.1: pitches.txt faylını yükləyin və pitches.txt məzmununu kopyalayın. pitches.txt faylını yeni sekmeye daxil edin və "pitches.h" olaraq qeyd edin. Arduino kodu quruldu
Addım 6: 3D Çap və Çapı Təmizləmək
Addım 6.1: 3D faylını çap edin printfile.form açın və hər şeyin yaxşı olub olmadığını yoxlayın. Hər şey qaydasındadırsa, çap işini printerə göndərin. Bir şey görünürsə və ya modeli dəyişdirmək istəyirsinizsə. Redaktə etməyiniz üçün 3Ds Max fayllarını və OBJ sənədlərini daxil etdim.
Addım 6.2: Modeli zərifləşdirin 6.2.1: Çap edildikdən sonra hər hansı bir çap resedu çıxarmaq üçün 2 modeli təxminən 70% spirtə batırın. modeli sərtləşdirin. Və ya modeli sərtləşdirmək üçün UV lampadan istifadə edə bilərsiniz. Modelin yapışqan olması səbəbindən bunu etmək lazımdır.
6.2.3: Dəstək çərçivəsini çıxarın. Bu tel kəsici ilə edilə bilər. Və ya plastikləri kəsə biləcək hər hansı bir alət.6.2.4: 3D çapın bəzi hissələri hələ də yumşaq ola bilər. Model çox UV işığında olsa belə, yumşaq ola bilən hissələr, dəstək çərçivələrinə yaxın olan hissələrdir. Modelin sərtləşməsi üçün daha çox UV işığına qoyun. Servoları çərçivəyə daxil etməyə çalışa bilərsiniz. Uyğun deyilsə, materialı zımparalamaq üçün Dremel istifadə edə bilərsiniz. uyğunlaşdırmaq.
Addım 7: Qutunun qurulması
Addım 7.1: Deliklərin açılması Sözügedən qutunun bir planını daxil etdim. Plan miqyaslı deyil, lakin bütün ölçülər doğrudur.7.1.1: Bütün delikləri doğru yerlərdə qeyd edərək başlayın. Daha böyük deliklər Dremel ilə ölçülərə qədər düzəldilə bilər. 7.1.3: Kvadrat deliklər də qazıla bilər. Lakin onları kvadrat etmək üçün Dremel -i kiçik bir faylla yerləşdirə bilərsiniz və iti künclərdən düzəldə bilərsiniz. 7.1.5: Taxta parçalarına diqqət yetirin. Onlardan qurtulmaq üçün qum kağızından istifadə edin.
Addım 7.2: Boyama 7.2.1: Qapağı zımpara etməklə başlayın. Yapışmaq üçün boyaya ehtiyacımız var.7.2.2: Bir parça götürün və qutunu təmizləmək üçün üzərinə bir az turpentin qoyun.7.2.3: İndi qutunu istədiyiniz rəngə boyaya bilərsiniz.
Addım 8: Bitirmə
Addım 8.1: Sikkə detektoru 8.1.1: Sikkə detektoru üçün bəzi metal aşındırıcıları yapışdırın..3: Bir sikkə ilə əlaqəni yoxlayın. Qapalı dövrə yoxdursa, telləri kənara daha çox lehimləyin. Addım 8.2: Protoboard və RGB ledləri 8.2.1: Protoboardı yuxarı sağ küncdə yerləşdirin və yapışdırın! 8.2.2: RGB ledlərini tellərlə bağlayın 8.2.3: Arduino -ya qoşun. 8.3.28.3.2: Bəzi kişi və dişi telləri yarıya bölün və sensoru arduino -ya bağlamaq üçün istifadə edə biləcəyimiz tək bir kabel etmək üçün dişi və kişi tellərini birlikdə lehimləyin.
Adım 8.4: Lazerlər və kamera8.4.1: Kiçik çərçivəni kameraya yapışdırın. Dik olduğundan əmin olun. 8.4.2: Lazerləri də çərçivəyə daxil edin. Onları yapışdırın ki, düşmən oğurlamasın!
Adım 8.5: Servolar və 3D çap 8.5.1: Servanı qapağın çuxuruna yapışdırın 8.5.2: arduino faylını arduinoya yükləyin (bu servoları düzgün vəziyyətdə saxlayır) 8.5.3: Servo ilə birlikdə kiçik yuvarlaq yayla. Bunu qapağın üzərindəki servoya qoyun.8.5.4: Böyük 3D çapını servoya və yaylağa qoyun və vida ilə sıx bir şəkildə vidalayın.8.5.5: ikinci servonu kiçik 3D çapa qoyun və yapışdırın. 8.5.6: Kameranı yerinə qoyun və hər şey hazırdır!
Addım 9: Proqramı başladın
Robotu işə salmaq üçün Visual studiyada C ++ Faylını açın. "Debug rejimində" olduğunuzdan əmin olun arduino faylını arduinoya yükləyin. Yüklədikdən sonra vizual studiyada oyuna basın. Və robot atəş açacaq və dünyanın bütün pullarını toplayacaq !!!
Tövsiyə:
ESP8266 - İnternet / ESP8266 ilə Taymer və Uzaqdan İdarəetmə ilə Bağ Suvarması: 7 Addım (Şəkillərlə)
ESP8266 - İnternet / ESP8266 ilə Taymer və Uzaqdan İdarəetmə ilə Bağ Suvarması: ESP8266 - Suvarma uzaqdan idarə və tərəvəz bağları, çiçək bağları və çəmənlər üçün vaxtı ilə. ESP-8266 sxemindən və suvarma qurğusu üçün hidravlik / elektrikli klapandan istifadə edir
İnsan-Kompüter İnterfeysi: EMG istifadə edərək Bilək Hərəkəti tərəfindən Tutucu funksiyası (Kirigami tərəfindən hazırlanmışdır.): 7 addım
İnsan-Kompüter İnterfeysi: EMG istifadə edərək Bilək Hərəkəti tərəfindən Tutucunun İşlənməsi (Kirigami tərəfindən hazırlanmışdır): Beləliklə, bu, insan-kompüter interfeysində ilk sınağım idi. EMG sensoru istifadə edərək bilək hərəkətlərimin əzələ aktivləşdirmə siqnallarını tutdum və onu emal etdim. python və arduino vasitəsilə və origami əsaslı bir tutucunu işə saldı
Raspberry Pi tərəfindən Uzaqdan İdarəetmə Kamerası: 5 Addım (Şəkillərlə birlikdə)
Raspberry Pi tərəfindən Uzaqdan İdarəetmə Kamerası: Bu təlimat aşağıdakıları edəcək: 1. Kameranı Yerli İnternetə qoyun (Kompüter və ya Telefon vasitəsilə uzaqdan görmə üçün) 2. Nəzarət kamerasının görmə qabiliyyəti (dişli motordan istifadə etməklə) Layihə üçün hissə siyahısı: 1. Ötürücü motor https://amzn.to/2OLQxxq2. Raspberry Pi B https: //amzn.to
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə - 433mhz ilə HT12E və HT12D istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: 5 addım
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə | HT12E və HT12D -dən 433mhz istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: Bu təlimatda sizə HT12E kodlu 433mhz ötürücü qəbuledici modulu istifadə edərək RADIO uzaqdan idarə etməyi göstərəcəyəm. HT12D kod deşifratoru IC. Bu təlimatda çox ucuz komponentləri istifadə edərək məlumat göndərə və ala bilərsiniz: HT
Sigfox ilə Dead Man Alert ilə Velosiped İzləmə Sistemi: 7 addım (şəkillərlə)
Sigfox ilə Dead Man Alert ilə Velosiped İzləmə Sistemi: İzləmə və xəbərdarlıq xüsusiyyətləri olan velosiped sürənlər üçün təhlükəsizlik sistemi. Qəza vəziyyətində GPS mövqeyi ilə həyəcan siqnalı göndərilir. Velosiped sürənlər üçün təhlükəsizlik, yol velosipedi və ya dağ velosipedi qəzaları baş verərsə və ən qısa müddətdə təcili olaraq