Mündəricat:

Arduino ilə DIY Çox Xüsusiyyətli Robot: 13 Adım (Şəkillərlə)
Arduino ilə DIY Çox Xüsusiyyətli Robot: 13 Adım (Şəkillərlə)

Video: Arduino ilə DIY Çox Xüsusiyyətli Robot: 13 Adım (Şəkillərlə)

Video: Arduino ilə DIY Çox Xüsusiyyətli Robot: 13 Adım (Şəkillərlə)
Video: AVO Metr I Analoq Metr və Rəqəmsal Metr I Multimetr I Hobbi Elektron #6 2024, Iyul
Anonim
Arduino ilə DIY Çox Xüsusiyyətli Robot
Arduino ilə DIY Çox Xüsusiyyətli Robot
Arduino ilə DIY Çox Xüsusiyyətli Robot
Arduino ilə DIY Çox Xüsusiyyətli Robot
Arduino ilə DIY Çox Xüsusiyyətli Robot
Arduino ilə DIY Çox Xüsusiyyətli Robot

Bu robot əsasən Arduino -nu anlamaq və Arduino -nun müxtəlif layihələrini birləşdirərək Çox Xüsusiyyətli Arduino Robotu yaratmaq üçün hazırlanmışdır. Və bundan başqa kim ev heyvanı robotuna sahib olmaq istəmir? Buna görə də mən onu Mavi MAVİ 316 adlandırdım. Gözəl bir izli şassi ala bilərdim, amma sıfırdan düzəltmək sənə daha çox şey öyrədir və tamamladıqdan sonra sənə daha çox qürur verir. Robot səsli əmrləri anlamaq, sadə sualları cavablandırmaq və bir RC avtomobili və hətta hərəkət edərkən maneələrdən qaçın. Əsasən Bluetooth vasitəsilə qoşulan bir Android telefonu vasitəsilə idarə olunur. Google Səs Tanıma və Tilt algılama kimi Android xüsusiyyətlərinə əsaslanaraq, həqiqətən də yaraşıqlı, ağıllı robot kimi davrana bilər. Əsasən Bluetooth -a əsaslandığı üçün adına mavi əlavə etdim. Əslində bu mənim ilk Arduino layihəm idi və onun bənzərsiz olmasını istəyirdim. Layihəni bəyənirsinizsə, Robotika Yarışmasında mənə səs verin!

Addım 1: Nümayiş videosu

Image
Image
ROVIER hekayəsi
ROVIER hekayəsi

Robotun demosunu bu saytda izləyə bilərsiniz:

Addım 2: ROVIER hekayəsi

ROVIER hekayəsi
ROVIER hekayəsi

BLUE ROVIER 316 -nın sevimli kiçik hekayəsindən keçmək istəmirsinizsə, növbəti addıma keçə bilərsiniz. Təxminən bir il əvvəl atamdan bir Arduino UNO aldım. Arduino sahəsində ilk addımım olduğuna görə ümumi Arduino layihələrindən fərqli və bənzərsiz bir şey yaratmaq istədim. Səs əmrlərini anlaya bilən və Uzaqdan İdarəetmə, Sətirləri İzləmə, Maneələrdən Qaçmaq və sair kimi bir çox ağıllı işlər görən yaraşıqlı və ağıllı bir robot olmalı idi. Sual onları necə bir araya gətirmək idi. Həqiqətən gözəl bir vaxt şəbəkədə gəzdikdən sonra Bluetooth -un ən ucuz rejim olacağı qənaətinə gəldim. Və beləliklə, BLUE ROVIER hərəkətə keçdi, ancaq Arduino UNO -da yaddaşın olmaması səbəbindən robotun sahib olmasını gözlədiyim bir çox xüsusiyyətini istisna etmək məcburiyyətində qaldım. UNO -da rəqəmsal pinlər). Fərqi yoxdur, davam etdim. Robotun son versiyasını yaratmaq mənim üçün çox yaxşı vaxt aldı. Bir çox sınaq və uğursuzluqdan sonra nəhayət BLUE ROVIER yarandı və indi robotun istehsalına keçə bilərik.

Addım 3: Komponentlər və hissələr

Komponentlər və hissələr
Komponentlər və hissələr
Komponentlər və hissələr
Komponentlər və hissələr
Komponentlər və hissələr
Komponentlər və hissələr

Yalnız aşağıdakı komponentlərə ehtiyacınız olacaq: 1. Android sistemi 2. Arduino Uno 3. wtv020-sd-16p modulu və 8ohm dinamik4. 2x L293d motor nəzarətçi dövrəsi 5. 4x bo mühərrikləri və təkərlər6. HC SR04 ultrasəs sensoru 7. 9g servo8. 8 AA batareya tutucu və batareyalar 9. 1gb micro SD kart 10. şassi üçün kiçik keçid qutusu.11. HC 05 Bluetooth Modulu Baha başa gəldiyini bilirəm! Ancaq narahat olmayın, təxminən iki və ya üç min rupiyə başa gələcək. Android haqqında danışarkən, bu cihaza sahib olmaq o qədər də böyük bir problem olmayacaq, çünki əksəriyyəti bu günlərdə var. Ancaq yeni versiyalara (5.0 -dən yuxarı) sahib olmaq performansı artıra bilər. Orta rpm (60 ilə 100) arasında olan mühərriklər almağa çalışın. Bu, robotun sürətini nəzarət altında saxlamağa kömək edəcək, çünki başqa heç bir sürət nəzarət dövrəsi quraşdırılmamışdır. Və 8 aa batareya robotun yaxşı bir vaxtda işləməsi üçün kifayətdir. Bluetooth -u nəzərə alsaq, HC 05 robot üçün uyğundur, çünki kifayət qədər ucuzdur və performansı da üstündür. Robota hər hansı bir sual verilərkən səsləndirilən səs fayllarını saxlamaq üçün 1 GB -lıq micro SD kart lazımdır [Təmin olunmayan hissənin sonrakı hissəsində ətraflı müzakirə edilmişdir]. Digər komponentlər öz addımlarında ətraflı müzakirə olunur.

İndi bu robotda istifadə olunan bəzi sadə "Teorilər" ə keçək.

Addım 4: Səs İdarəetmə Teorisi

Səsə Nəzarət Teorisi
Səsə Nəzarət Teorisi
Səsə Nəzarət Teorisi
Səsə Nəzarət Teorisi
Səsə Nəzarət Teorisi
Səsə Nəzarət Teorisi
Səsə Nəzarət Teorisi
Səsə Nəzarət Teorisi

Robot android telefon vasitəsilə səs əmrlərini anlaya bilir. Deyəsən hər kəs Android -də sözü söylədiyimiz xüsusiyyət olan Google Səs Tanıma ilə tanışdır və Google bunu yazır. Eyni xüsusiyyət burada səs əmrlərini tanımaq və mətn əmrlərinə çevirmək üçün istifadə olunur. Buradakı tətbiq Google vasitəsi ilə nitqi mətnə çevirir və Bluetooth vasitəsilə robota göndərir. Robot Bluetooth vasitəsilə alınan bu əmrləri yerinə yetirmək üçün proqramlaşdırılmışdır. Həm də çoxlu sayda suallara cavab verməyə qadirdir. Robotun daha zəhmli şeylər etməsi üçün koda daha bir neçə əmr əlavə edə bilərsiniz. İşdə Android Tətbiqi:

Addım 5: Jest Nəzarət Teorisi

Jest Nəzarət Teorisi
Jest Nəzarət Teorisi
Jest Nəzarət Teorisi
Jest Nəzarət Teorisi

Jest nəzarəti və ya hərəkətə nəzarət rejimi də Android vasitəsi ilə həyata keçirilir. Bu rejimdə robotu Android -dən sükan kimi istifadə edərək RC avtomobili kimi idarə etmək olar. Bu rejimdə istifadə olunan bütün Android cihazlarında "Accelerometer" adlı bir sensor var. Bu akselerometr, Android -də işləyən sürətlənmə qüvvələrini ölçməklə telefonun başlıq bucağını təyin edə bilər. Telefonu əyərkən Android -in ekranını döndərməsinə səbəb olan bu sensordur. Buradakı tətbiq, telefonun əyildiyi bucağı təyin etmək üçün telefon sürətləndiricisindən istifadə edir. Daha sonra Bluetooth vasitəsilə robota bir xarakter (A, B….) Göndərilir. Arduino, alınan məlumatlara görə işləmək üçün proqramlaşdırılmışdır. Telefon qabağa əyilmişsə, A xarakteri göndərilir və robot irəli hərəkət edir. Geriyə əyildikdə, B xarakteri göndərilir və robot geriyə və s. Sağa doğru hərəkət edir. Android üfüqi şəkildə yerləşdirildikdə E hərfi göndərilir və robot hərəkət etməyi dayandırır.

Addım 6: Bluetooth İdarəetmə nəzəriyyəsi

Bluetooth nəzarət nəzəriyyəsi
Bluetooth nəzarət nəzəriyyəsi
Bluetooth nəzarət nəzəriyyəsi
Bluetooth nəzarət nəzəriyyəsi

Bu rejimdə robot ümumi RC avtomobili kimi işləyir. Bu rejimdə yeni bir şey yoxdur, bazarda mövcud olan ümumi uzaqdan idarə olunan avtomobil ilə eynidir, tək fərqi robotu idarə etmək üçün Android tətbiqindən istifadə etməyimizdir. Tətbiqdə fərqli düymələr var, hər birinin fərqli simvolları var onunla əlaqəli. Hər hansı bir düyməyə toxunduqda, jest idarəetmə rejimi kimi, Bluetooth vasitəsilə də robota bir xarakter göndərilir. Eyni düymələrə toxunduqda və robot gələn simvolları izlədikdə eyni simvollar göndərilir. Robotun sağa və sola baxması üçün tətbiqdə 360 və -360 dərəcə düymələrdən istifadə etmişəm. Robotu başqa şeylər etmək istəsəniz kodu dəyişə bilərsiniz.

Addım 7: Maneələrdən qaçınma nəzəriyyəsi

Maneələrdən qaçınma nəzəriyyəsi
Maneələrdən qaçınma nəzəriyyəsi
Maneələrdən qaçınma nəzəriyyəsi
Maneələrdən qaçınma nəzəriyyəsi

Bu rejimdə robot, hər hansı bir cisimlə toqquşmasını maneə törədən maneələrdən qaçmaq robotu kimi işləyir. Bu, HC SR04 sensoru ilə aparılır. Güman edirəm ki, SONAR (Səs Naviqasiyası və Aralığı) haqqında məlumatınız var. HC SR04 sensoru davamlı olaraq ultrasəs səs dalğaları yayır. Bu dalğalar möhkəm bir səthə çırpıldıqdan sonra geri qayıdır və sensora qayıdır. Dalğaların sensora qayıtması üçün çəkilən vaxt qeydə alınır. Səs təxminən 340 m/s sürətlə hərəkət etdiyindən və SPEED × TIME = DISTANCE olduğunu bildiyimiz üçün irəlidəki məsafəni təyin edə bilərik. Məsələn, səs 2 saniyə çəkirsə geri qayıtmaq üçün məsafəni yuxarıdakı düsturla təyin edə bilərik yəni 340 × 2 = 680 m. Robot sensoru vasitəsilə özündən qabaqdakı məsafəni belə ölçə bilər, hərəkət edərkən robot da davamlı olaraq irəlidəki məsafəni sensordan ölçür. Qarşısındakı boş yerin 30 sm -dən az olduğunu hiss edərsə, hərəkət etməyi dayandırar. Sonra sola və sağa baxır və hər tərəfin məsafəsini müqayisə edir. Sol tərəf daha böyük bir məsafəyə sahib olarsa, robot sola dönər. Sağ tərəf daha böyükdürsə, robot sağa dönər. Hər iki tərəfin bərabər məsafələri varsa, robot geri dönür. Bu sadə mexanizm robotun maneələrdən qaçmasına kömək edir.

Addım 8: Şassinin yığılması

Şassinin yığılması
Şassinin yığılması
Şassinin yığılması
Şassinin yığılması
Şassinin yığılması
Şassinin yığılması
Şassinin yığılması
Şassinin yığılması

Şassi tək başına hazırlayarkən, ölçmə və düzülüşlərə çox diqqətli olmalısınız. Şəbəkədə məni qane edən birini tapa bilmədiyim üçün bunu seçdim. Şassi olaraq elektrik təchizatı məqsədləri üçün istifadə olunan ümumi keçid qutusu istifadə olunur. Düşünürəm ki, elektrik cihazları mağazasından asanlıqla əldə edə bilərsiniz. Birincisi, altındakı dörd mühərriki bir az yapışqan və ya sıxacla bağlayın və sonra təkərləri bağlayın. Sonra robotun başını düzəltməlisiniz (servo və HC SR04 sensoru). Baş üçün kiçik bir taxta parçasını kəsin və bir vida ilə servoya bağlayın. Sonra bir az yapışqan ilə ultrasonik sensoru perfboarda bağlayın. Qutunun yuxarısında kiçik bir kvadrat çuxur kəsin və içindəki servo düzəldin. Sonra robotun arxasındakı batareya tutucusunu vida ilə bağlayın. Dövrələri və digər komponentləri qutunun içinə qoyun və şassiniz hazırdır. Səsin çıxması və daha keyfiyyətli olması üçün dinamikin qarşısında bir neçə deşik açmağı unutmayın.

Addım 9: Səs Modulunun Hazırlanması

Səs Modulunun Hazırlanması
Səs Modulunun Hazırlanması
Səs Modulunun Hazırlanması
Səs Modulunun Hazırlanması
Səs Modulunun Hazırlanması
Səs Modulunun Hazırlanması

Robotun danışma rejimi WTV 020 SD modulu ilə yerinə yetirilir. Modul robot üçün səs fayllarını oxumaq üçün istifadə olunur. Hər hansı bir sual soruşulduqda, arduino modulu SD kartdakı müvafiq səs faylını çalmağa məcbur edəcək. Arduino, sıfırlama, saat, məlumat və məşğul sancaqlar ilə ünsiyyət qurmaq üçün modulda dörd ardıcıl məlumat xətti var. Unutmayın ki, faylların adları ondalık olmalıdır (0001, 0002…). Və faylların ya AD4 ya da WAV formatında olması. Bundan əlavə, modul yalnız 1 gb micro SD kart üzərində işləyir. Bəzi modullar hətta 2 gb kartlarda işləyir və kart maksimum 504 səs faylını saxlaya bilər. Çoxlu sayda suallar üçün oynamaq üçün çoxlu sayda səs faylları əlavə edə bilərsiniz. Hətta öz səsinizlə AD4 fayllarınızı da düzəldə bilərsiniz (bu bölüşdürülməyənlə birlikdə verilən səs faylları ilə tənzimləyə bilsəniz bu hissəni atlaya bilərsiniz). faylları AD4 formatına çevirəcək iki proqramınız, səs tənzimləmə proqramı və 4D SOMO TOOL adlı bir proqramınız olmalıdır. İkincisi, Robot Səslərini hazırlamalısınız. Mətni danışığa çevirə və ya hətta öz səsinizi yaza və Robotun səslərini çıxara bilərsiniz. Bunların hər ikisi Səs Düzəliş Proqramında edilə bilər. Ancaq şübhəsiz ki, robotlar insan səsi ilə danışsalar yaxşı görünmürlər. Buna görə mətni nitqə çevirmək daha yaxşıdır. Bunu etməyə kömək edəcək Microsoft Anna və Microsoft Sam kimi kompüterlər var. Səs fayllarını hazırladıqdan sonra onu 32000 Hz -də və WAV formatında saxlamaq lazımdır. Bunun səbəbi, modulun 32000 Hz -ə qədər səs fayllarını çalmasıdır. Sonra faylları AD4 formatına çevirmək üçün 4D SOMO TOOL istifadə edin. Bunu etmək üçün SOMO TOOL -u açın, faylları seçin və AD4 Encode düyməsini basın və səs sənədləriniz hazırdır. İstinad üçün yuxarıdakı şəkilə baxa bilərsiniz. Robotik səslər çıxarmaq üçün daha ətraflı məlumat istəsəniz bura daxil ola bilərsiniz:

[Robotik Səslərin çıxarılması] İşdə orijinal səs faylları və proqram təminatı:

Addım 10: Bağlantıların qurulması

Əlaqələrin qurulması
Əlaqələrin qurulması
Əlaqələrin qurulması
Əlaqələrin qurulması
Əlaqələrin qurulması
Əlaqələrin qurulması

Müvafiq modulların bütün Vcc pinlərini qısaldın və arduino üzərindəki 5v pininə bağlayın. Gnd pinləri üçün də eyni şeyi edin. Fərqli modulların əlaqələri burada. HC 05 modulu: RX pin arduino qazma pin 0. TX pin arduino qazma pin 1. HC SR04 sensor: Arduino qazma pininə yankı pin 6. Arduino qazma pininə 7WTV020-SD modul: pin1 (pin sıfırlama) arduino qazmaq üçün pin2.pin4 natiqə +pin5 dinamikə -pin7 (saat) arduino qazmaq pin3.pin8 gnd.pin10 (məlumat) arduino qazma pin4.pin15 (məşğul) arduino qazma pin5.pin16 - 3.3v Sonra servo siqnal (sarı) teli bağlayın və pin 12L293d motor nəzarətçisini qazın: pin A1 -dən arduino qazma pininə 8. pin A2 -dən arduino qazma pininə 9. pin B1 -dən arduino qazma pininə 10.pin B2 arduino dig pin 11. Bu robotda iki L293d modulu istifadə etdiyimizi unutmayın. Bunun səbəbi, bir modulun iki mühərrikə qədər gücə sahib olmasıdır. Dörd mühərriki idarə etmək üçün iki motor sürücüsündən istifadə edirik. Buna görə hər iki motor nəzarətçi modulunda təkrarlanan bağlantılar qurmağı unutmayın. Məsələn, Arduino pin 8 -ni hər iki sürücü modulunun A1 pininə bağlayın. Bir modulun çıxışını iki mühərrikə, digər modulu digər iki mühərrikə bağlamağı unutmayın. Əlavə məlumat üçün diaqramı yoxlayın.

Addım 11: Arduino Kodu

Arduino kodu
Arduino kodu
Arduino kodu
Arduino kodu

Kod hazırlamaq həyəcan verici bir vaxt idi. Heç də mürəkkəb bir kod deyil, sadəcə Android və səs modulu ilə ünsiyyət qurmaq üçün bəzi kitabxanalardan istifadə edir. İşin böyük bir hissəsi Arduino -da deyil, Android -də aparılır. Kod Bluetooth əlaqəsinə və Bluetooth -dan gələn məlumatlara əsaslanır. Kod, fərqli rejimləri yerinə yetirmək üçün robota səsli əmrlər verməli və Arduino daxil olan Bluetooth Siqnallarını davamlı olaraq yoxlayacaq şəkildə hazırlanmışdır. İstənilən rejimi dayandırmaq üçün sadəcə "dayan" deməliyik. Kodun yeganə problemi, maneənin qarşısını almaq rejimində olduqda robotu əl ilə söndürməyimizdir. Bu rejimdə "dayandır" əmrindən istifadə edə bilmərik. Bunun səbəbi, bu xüsusiyyəti işə salmağın obyektlərin məsafəsini tarama sürətinə təsir etməsidir. Arduino eyni zamanda həm obyektin məsafəsini, həm də daxil olan Bluetooth siqnallarını oxumalı olacaq. Bu rejimə müdaxilə edir və robot özünü maneələrdən tam qoruya bilmir. Robot, irəlidəki məsafə 30 sm -dən az olsa belə, dərhal dayana bilməyəcək. Bu xüsusiyyəti bu rejimə daxil etməmək yaxşı olardı. Yalnız kitabxanaları və kodu yükləyib Arduinoya yükləyin. Yükləməzdən əvvəl Arduinodan TX və RX (0, 1) pinlərini çıxarmağı unutmayın. Bu pinlər Serial ünsiyyət üçün istifadə olunur və kodun yüklənməsi zamanı istifadə olunur. Və bu robotda bu sancaqlar Bluetooth modulunu bağlamaq üçün istifadə olunur. Onları götürməyi unutmayın, əks halda Bluetooth Modulunuza mane ola bilər. İşdə kod və kitabxanalar:

Addım 12: Problemlərin Sıralanması və Təkmilləşdirmələr

Problemləri Sıralamaq və Təkmilləşdirmələr
Problemləri Sıralamaq və Təkmilləşdirmələr

Yalnız robotun təkmilləşdirilməsi ilə məşğul olduğu üçün bu addımı atlaya bilərsiniz. Yaddaş kartının tutumu ilə əlaqədar WTV-020-SD-16p modulunda bir çox problem yaranır. Bunun səbəbi, bəzi modulların 2 GB kartlarla işləməsi, bəzilərinin işləməməsidir. Buna görə də 1 GB -lıq micro SD kartdan istifadə etmək daha yaxşıdır, komponentlərin fərqli versiyalarını istifadə etməkdə çox problem olmayacaq. Wtv 020 sd modulunun fərqli versiyalarından bəhs edilə bilər. Bunun səbəbi, modullar arasında yalnız qablaşdırma fərqinin olmasıdır, digər daxili əşyaların əksəriyyəti isə eyni olaraq qalır. Başqa bir şey, robot üçün PCB istifadə etmək cari istehlakın böyük ölçüdə azalmasına kömək edəcək. Fərqli komponentləri mənim kimi bağlayırsınızsa, bu, bir az cərəyana başa gələcək, çünki yaxşı bir müqavimət göstərərək tellərdə itiriləcəkdir. Bunun səbəbi, dövrənin kifayət qədər böyük olmasıdır. Bu təsadüfi bir PCB dizaynı daxil deyil (çünki mən bunu etməmişəm), lakin robotun enerji səmərəliliyini artıra bilər. Amma BLUE ROVIER 316 hələ edilməyib! Xətləri izləmək, labirentləri həll etmək və bir çox başqa şeylər əlavə etmək kimi bir çox xüsusiyyət əlavə etməyi düşündüm. Ancaq Arduino UNO -da sancaqlar olmadığı üçün bir xəyal olaraq qaldı (BLUE ROVIER həqiqətən Arduinonun bir çox sancağını yeyir). Bu robotun bütün xüsusiyyətlərini təkmilləşdirməyi düşünürəm və bir araya gətirərək daha inkişaf etmiş və faydalı bir Arduino Robotu yaradıram. Bir neçə aydan sonra ROVIER -in dəyişdirilmiş görünüşünü görməyə hazır olun !!! Məndən daha çox yaradıcılığa malik olan bəzi insanların robotun digər dəyişdirilmiş versiyalarını görmək istərdim !!!!

Addım 13: Robotla oynayın

Robotla oynamaq
Robotla oynamaq

Robotu yandırın və sizi necə qarşıladığını, sizinlə oynadığını görün. Hər hansı bir sual verin (axmaq deyil!) Və cavabını izləyin. Xətləri izləməyi və ya irəliləməyi deyə bilərsiniz. Robotu dayandırmaq istəyəndə sadəcə 'dayan' deyin.

Robot Yarışması 2017
Robot Yarışması 2017
Robot Yarışması 2017
Robot Yarışması 2017

2017 -ci ildə Robototexnika Yarışında 2 -ci yeri tutdu

Tövsiyə: