Mündəricat:

Arduino 3D Çaplı Sumo Bot: 6 addım
Arduino 3D Çaplı Sumo Bot: 6 addım

Video: Arduino 3D Çaplı Sumo Bot: 6 addım

Video: Arduino 3D Çaplı Sumo Bot: 6 addım
Video: INFOMATRIX-ASIA 2020, Arduino Mini Sumo robot , team " Switch 004" 2024, Iyul
Anonim
Arduino 3D Çaplı Sumo Bot
Arduino 3D Çaplı Sumo Bot

Beləliklə, evimin ətrafında bir dəstə hissə qoydum. Bir neçə aydan sonra gələcək sumo yarışmasına qatılmaq istədim, amma botum yox idi. Bir bot almaq və ya hazırladığım layihə üçün bir şey satın almağımı tələb edəcək mövcud bir dizayndan istifadə etmək əvəzinə, öz hissəmdən öz dizaynımdan öz botumu hazırladım. Bu dərs üçün aşağıdakılara ehtiyacınız olacaq.

  1. Burada tapılan hər 3D çap hissəsindən biri.
  2. 7.4 voltluq bir batareya və ya iki ədəd 18650 batareya.
  3. Gerekirse batareya tutacağı.
  4. Arduino uno.
  5. Arduino uno qırılma qalxanı.
  6. Arduino üçün USB kabel.
  7. Tezgah üstü təchizat (isteğe bağlı).
  8. Şarj cihazı (isteğe bağlı).
  9. Tellər və bir çoxları.
  10. Standart ölçülü metal dişli davamlı fırlanma servoları.
  11. İki ir keçid sensoru.
  12. 7 sm servo təkərlər.
  13. Açma və söndürmə açarı.

Bu kod daim dəyişdirilir. Bu robotun kodunu burada tapa bilərsiniz. Bu layihə kodunun ən müasir versiyasıdır. Zövq alın!

Addım 1: Quraşdırma

Məclis
Məclis
Məclis
Məclis
Məclis
Məclis
  1. Robot iki metal dişli servo istifadə edir. Şassinin içərisindəki servoları hər iki istiqamətə baxan m3 bolt və qoz -fındıqdan istifadə edərək onları vidalamaq istəyəcəksiniz. Servoların robotun içinə girməsinin yalnız bir yolu var, beləliklə bu olduqca irəli gedəcək.
  2. Servo təkərləri bağlayın.
  3. İr sensorlarını robotun qarşısında aşağıya baxacaq şəkildə bağlayın. Robotun qarşısındakı M3 deliklərindən iki vida ilə bağlanırlar. Robotun altından keçmək üçün yarıqlar var. Diqqət yetirmək istəyirsən ki, sensorlar şassini götürmür və yarıqları hər tərəfdən görə bilir. Daha sonra robotu əl işinizin işə yarayıb -yaramadığını yoxlamaq üçün sınayarkən bu barədə daha çox məlumat əldə edəcəksiniz.
  4. HC-SR04 sensorunu robotun xaricindən içəridən baxan iki çuxurun içinə qoyun. Deliklər şassinin qarşısında yerləşir.
  5. Arduino Uno -nu qoruyucu ilə şassinin içinə qoyun.
  6. Aşağıdakı güllə siyahısına uyğun olaraq hər şeyi birləşdirin.

    1. Seçdiyiniz enerji mənbəyindən güc açarına qədər güc. Keçid üçün müsbət və ya mənfi bir tel bağlayacaqsınız. Mənfi qurğunu seçsəniz, bu sizin təməliniz olacaq, müsbət qaynağı seçsəniz, güc mənbəyiniz olacaq. Müsbət və ya mənfi olmasından asılı olaraq digər tel sizin müsbət və ya mənfi olacaq.
    2. Müsbət qurğunu Arduino üzərindəki vinə və servolarda olan pozitiv tellərə bağlayın.
    3. Servo və Arduino üzərində yerə toprak bağlayın.
    4. Arduino üzərindəki 5 voltlu tənzimləyicidən 5v -ni sensorlardakı bütün müsbət terminallara qoşun.
    5. Sensorları Arduino -ya qoşun.
    6. Nəhayət, Arduinonun 7 nömrəli pinini sağdan irinə, 6 -nı sol İQ sensorundan, 8 -ni servodan birinə, 9 -u son servoya bağlayın.

Xəbərdarlıq: Robotun telinin düzgün bağlanmaması robotun siqaret çəkməsinə və elektronikanın məhv olmasına səbəb ola bilər

Addım 2: Həyatın ilk əlamətləri

Xəbərdarlıq: Robotu işləyərkən və ya servoları bağlayarkən kompüterinizə bağlamayın. Bunun edilməməsi kompüterinizin zədələnməsinə səbəb ola bilər

int rejimi = 3;

Yuxarıdakı bu kod xətti robot üçün ən vacib dəyişəndir. Aşağıdakı siyahıdakı hər bir rəqəmə bərabər olduqda aşağıdakıları edir.

  1. Sıfıra bərabər olsa da, robot müəyyən bir şəkildə hərəkət edir.
  2. Rejim birə bərabərdirsə, robot hər sensorun oxunuşunu kompüterə çap edir.
  3. İkiyə bərabər olduqda, robot kənarları və maneələrlə qarşılaşarsa qarşısı alınar.
  4. Robot digər botlarla mübarizə aparır.

Bu, robotun sınanması və robotun irəliləməsinə kömək etmək üçün istifadə olunan robotun fərqli rejimləridir. Bu təlimatın ilk addımı üçün o "3" ü sıfıra dəyişməlisiniz.

İndi kodu robota yükləyin. İrəli, geri, sola və sağa doğru hərəkət etdiyini görəcəksiniz.

Addım 3: Görə bilər

int rejimi = 0;

Əvvəlki addım tamamlandıqda aşağıdakı dəyişəni "1" olaraq dəyişdirin. İndi Arduino -da serial monitorunuza qoşulduqda, robotunuzun gördüklərini çap edəcək. "0", kənar sensorlar üçün bir şey gördüyünü bildirir. "1" heç bir kənar görmədiyini bildirir. Məntiqin ters çevrildiyini görsəniz, gələcək addımlar üçün bunu unutmayın.

Ping sensoru haqqında narahat olmayın. Hələ ki, bu işlə məşğul deyiləm. Bu robot ağır inkişaf mərhələsindədir.

Addım 4: Masanın kənarından qaça bilər

void Avoid () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

gecikmə (50);

əgər (Ping.ping_cm ()> = 15 && sensorStateLeft == 0 && sensorStateRight == 0) {

left.write (0); sağ. yaz (90);

}

əgər (Ping.ping_cm () <= 15 && Ping.ping_cm ()! = 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

sol. yaz (90);

sağa yaz (0); }

}

Yuxarıdakı bu kod, rejim ikiyə bərabər olduqda çağırılan koddur. Əvvəlki addım tamamlanmışsa, rejimi "2" -ə bərabər dəyişdirin.

Sensorlar ters çevrildikdə, "if" ifadələrinin hər birində verildiklərindən fərqli bir rəqəmə bərabər olan "sensorStateLeft" və "sensorStateRight" tərzlərini tərsinə çevirməkdən çekinmeyin "1" və ya "0".

İndi robot sumo arenasının kənarından qaça bilər. Demək olar ki, döyüşə hazırdır. İşləyib -işləmədiyini yoxlamaq üçün çekinmeyin.

Addım 5: BATTLE

Sumo bir neçə kod dəyişikliyi ilə indi döyüşə hazırdır. "3" -ə bərabər olmaq üçün rejimi dəyişdirin və "Sumo" boşluğunda lazım olduğu kimi məntiqi tərsinə çevirin. İndi robotunuz arenanın kənarından qaçmalı, ancaq digər robotları aşkar edə bilməz. Əsasən arenanın kənarlarından qaçır və kifayət qədər sürətli hərəkət edir ki, inşallah bir robotu masanın kənarından itələsin. Zövq alın!

Addım 6: Nəticə

Robotunuz artıq hazırdır. Bu layihə ilə bağlı hər hansı bir problem və ya şərhiniz varsa, mənə bildirin. İnanılmaz dərəcədə geribildirim üçün açıqam, çünki bunun yaxşı hazırlanmış bir dərs olub olmadığını bilmirəm. Zövq alın!

Tövsiyə: