Mündəricat:

Arduino - Maze Çözmə Robotu (MicroMouse) Divar Arxasında Robot: 6 addım (şəkillərlə)
Arduino - Maze Çözmə Robotu (MicroMouse) Divar Arxasında Robot: 6 addım (şəkillərlə)

Video: Arduino - Maze Çözmə Robotu (MicroMouse) Divar Arxasında Robot: 6 addım (şəkillərlə)

Video: Arduino - Maze Çözmə Robotu (MicroMouse) Divar Arxasında Robot: 6 addım (şəkillərlə)
Video: Arduino Wall Following Robot 2024, Noyabr
Anonim
Arduino | Maze Çözmə Robotu (MicroMouse) Divarın Ardınca Robot
Arduino | Maze Çözmə Robotu (MicroMouse) Divarın Ardınca Robot
Arduino | Maze Çözmə Robotu (MicroMouse) Divarda Robot
Arduino | Maze Çözmə Robotu (MicroMouse) Divarda Robot
Arduino | Maze Çözmə Robotu (MicroMouse) Divarın Ardınca Robot
Arduino | Maze Çözmə Robotu (MicroMouse) Divarın Ardınca Robot
Arduino | Maze Çözmə Robotu (MicroMouse) Divarın Ardınca Robot
Arduino | Maze Çözmə Robotu (MicroMouse) Divarın Ardınca Robot

Xoş gəldiniz, mən Isaacam və bu mənim ilk robotum "Striker v1.0". Bu Robot sadə bir Maze həll etmək üçün hazırlanmışdır. Müsabiqədə iki labirentə sahib olduq və robot onları müəyyən edə bildi. kodda və dizaynda dəyişiklik tələb oluna bilər, amma bunu etmək çox asandır.

Addım 1: hissələr

Hissələri
Hissələri
Hissələri
Hissələri
Hissələri
Hissələri

Əvvəlcə nə ilə məşğul olduğunuzu bilməlisiniz.

Robotlar = Elektrik + Təchizat + Proqram 1- Elektrik: batareyalarda bir çox xüsusiyyət var, yalnız nə qədər cərəyan və gərginliyə ehtiyacınız olduğunu bilməlisiniz.

2- Avadanlıq: "Bədən, Motor, Motor Sürücü, Sensorlar, Tellər və Nəzarətçi" yalnız vəzifəni yerinə yetirən vacib hissələri almalısınız, sadə bir iş üçün bahalı bir Denetleyici almağa ehtiyac yoxdur.

3- Proqram təminatı: Kod məntiqlə bağlıdır. Nəzarətçinin necə işlədiyini başa düşdükdən sonra funksiyaları seçmək və kodu daha asanlaşdırmaq daha asan olacaq. Kod dili nəzarətçi növü ilə müəyyən edilir.

Parça siyahısı:

  1. Arduino UNO
  2. 12V DC mühərrikləri (x2)
  3. Təkərlər (x2)
  4. Motor Sürücü (L298N)
  5. Məsafə Sensoru (Ultra Sonic)
  6. Tellər
  7. 12v Batareya (1000 mAh)

Alət siyahısı:

  1. Şarj
  2. Akril təbəqə
  3. Lehimleme dəmir
  4. Tel kəsici
  5. Neylon Zip Sarğı

Əlavə əylənmək üçün onu işıqlandırmaq üçün LED -lərdən istifadə edə bilərsiniz, amma bu o qədər də vacib deyil.

Addım 2: Bədən Dizaynı

Bədən Dizaynı
Bədən Dizaynı
Bədən Dizaynı
Bədən Dizaynı
Bədən Dizaynı
Bədən Dizaynı

Əsas fikir, hissələri gövdənin üstünə yığmaq və neylon zip sarğı ilə Arduino sabitləşdirmək və tellərin qalan hissəsini yüngül olması sayəsində sabitləşdirmək idi.

Bədəni dizayn etmək üçün CorelDRAW istifadə etdim və gələcəkdə hər hansı bir dəyişiklik olacağı təqdirdə əlavə deliklər açdım.

Lazer kəsicini istifadə etmək üçün yerli bir atelyedə getdim, sonra hamısını birlikdə qurmağa başladım. Daha sonra Motorlar gözlədiyimdən daha uzun olduğu üçün bəzi dəyişikliklər etdim. Demək istəyirəm ki, robotunuz mənimki ilə eyni şəkildə qurulmalıdır.

PDF faylı və CorelDRAW Faylı əlavə olunur.

Dizaynı lazerlə kəsə bilmirsinizsə, narahat olmayın. Arduino, eyni sensorlar və mühərriklərə sahib olduğunuz müddətdə, kodunuzu robotunuzda kiçik dəyişikliklərlə işləməyimi təmin etməlisiniz.

Addım 3: İcra (bina)

İcra (bina)
İcra (bina)
İcra (bina)
İcra (bina)
İcra (bina)
İcra (bina)

Dizayn bədəndəki sensorları düzəltməyi asanlaşdırdı.

Addım 4: Kabel çəkmə

Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama

İşdə robotun sxematik diaqramı. Bu əlaqələr kodla əlaqəlidir. Bağlantıları dəyişdirə bilərsiniz, ancaq kodu dəyişdirdiyinizə əmin olun.

"Ultrasonik sensoru" izah etmək istərdim.

Ultrasonik sensor, səs dalğalarından istifadə edərək bir obyektə olan məsafəni ölçə bilən bir cihazdır. Müəyyən bir tezlikdə bir səs dalğası göndərərək və geri dönmək üçün bu səs dalğasını dinləyərək məsafəni ölçür. Yaranan səs dalğası ilə geri dönən səs dalğası arasındakı keçən vaxtı qeyd etməklə Sonar və Radarın işinə bənzəyir.

Ultrasonik Sensorun Arduino ilə əlaqəsi:

  1. GND pin Zəminə bağlıdır.
  2. VCC pin Pozitivə (5v) bağlıdır.
  3. Echo pin Arduino ilə bağlıdır. (hər hansı bir pin seçin və kodu uyğunlaşdırın)
  4. TRIG pin Arduino ilə bağlıdır. (hər hansı bir pin seçin və kodu uyğunlaşdırın)

Ortaq bir Zəmin yaradacaqsınız və bütün GND -ləri ona bağlayacaqsınız (sensorlar, Arduino, Sürücü) bütün əsaslar bağlanmalıdır.

Vcc Pins üçün də 3 Sensoru 5v Pinə bağlayın

(Arduino və ya Sürücüyə tövsiyə etdiyim Sürücü ilə bağlaya bilərsiniz)

Qeyd: Sensorları 5v -dan yuxarı gərginliyə bağlamayın, əks halda zədələnəcək.

Motor Sürücü

L298N H körpüsü: iki DC mühərrikinin sürətini və istiqamətini və ya bir bipolyar pilləli motoru asanlıqla idarə etməyə imkan verən bir IC. 5 və 35V DC.

Bortda 5v tənzimləyici də var, buna görə də təchizat gərginliyiniz 12v-ə qədərdirsə, 5v-ni də lövhədən əldə edə bilərsiniz.

Təsviri nəzərdən keçirin - rəqəmin altındakı siyahı ilə müqayisə edin:

  1. DC motor 1 "+"
  2. DC mühərrik 1 "-"
  3. 12v tullanan - 12v DC -dən böyük bir təchizat gərginliyi istifadə edildikdə bunu çıxarın. Bu, təyyarədə 5v tənzimləyicini işə salmağa imkan verir
  4. Motorunuzun gərginliyini bura qoşun, maksimum 35v DC.
  5. GND
  6. 12v tullanan yerində olduqda 5v çıxışı
  7. DC motor 1 jumper -ı işə salır. Atlayıcını çıxarın və DC motor sürətinin idarə edilməsi üçün PWM çıxışına qoşulun.
  8. IN1 İstiqamət Nəzarəti
  9. IN2 İstiqamət Nəzarəti
  10. IN3 İstiqamət Nəzarəti
  11. IN4 İstiqamət Nəzarəti
  12. DC motor 2, tullananlara imkan verir. Jumperi çıxarın və DC motor sürətinin idarə edilməsi üçün PWM çıxışına qoşulun
  13. DC mühərrik 2 "+"
  14. DC mühərriki 2 "-"

Qeyd: Bu Sürücü kanal başına 1A icazə verir, daha çox cərəyan çıxarmaq IC -yə zərər verir.

Batareya

1000 mAh olan 12v batareya istifadə etdim.

Yuxarıdakı cədvəl, batareya boşaldıqda gərginliyin necə düşdüyünü göstərir. yadda saxlamalı və batareyanı daim doldurmalısan.

Boşaltma vaxtı əsasən Ah və ya mAh reytinqi cərəyana bölünür.

Beləliklə, 300 mA çəkən 1000 mAh batareya üçün aşağıdakılara sahibsiniz:

1000/300 = 3.3 saat

Daha çox cərəyan keçirsəniz, vaxt azalacaq və s. Qeyd: Batareya Boşalma Cərəyanını aşmadığınızdan əmin olun, yoxsa zədələnəcək.

Yenə ümumi bir Zəmin yaradın və bütün GND'ləri ona bağlayın (sensorlar, Arduino, Sürücü) bütün əsaslar bağlanmalıdır.

Addım 5: Kodlaşdırma

Kodlaşdırma
Kodlaşdırma
Kodlaşdırma
Kodlaşdırma

Bunları funksiyalara çevirdim və bu robotu kodlaşdırmaqdan zövq aldım.

Əsas fikir divarları vurmamaq və labirentdən çıxmaqdır. 2 sadə labirentimiz vardı və fərqli olduqlarını nəzərə almalıydım.

Mavi labirent sağ divardan istifadə edərək alqoritmdən istifadə edir.

Qırmızı labirent sol divardan istifadə edərək alqoritmdən istifadə edir.

Yuxarıdakı fotoşəkil hər iki labirentdən çıxış yolunu göstərir.

Kod axını:

  1. sancaqlar müəyyənləşdirir
  2. çıxış və giriş sancaqlarının təyin edilməsi
  3. sensorların oxunuşlarını yoxlayın
  4. divarları təyin etmək üçün sensorların oxunuşundan istifadə edin
  5. ilk marşrutu yoxlayın (əgər sol qaldısa, sol divarı izləyin, sağdırsa sağ divarı izləyin)
  6. Divarlara dəyməmək və motorların sürətini idarə etmək üçün PID istifadə edin

Bu kodu istifadə edə bilərsiniz, ancaq ən yaxşı nəticələr əldə etmək üçün pinləri və sabit ədədləri dəyişə bilərsiniz.

Kod üçün bu linki izləyin.

create.arduino.cc/editor/is7aq_shs/391be92…

Kitabxana və Arduino Kod Dosyası üçün bu linki izləyin.

github.com/Is7aQ/Maze-Solving-Robot

Addım 6: Əylən

Əyləndiyinizə əmin olun: DTüm əyləncə üçündür, işləmirsə və ya səhv bir şey varsa panikaya düşməyin. Səhvləri izləyin və təslim olmayın. Oxuduğunuz üçün təşəkkürlər və ümid edirəm kömək etdi.

E-poçt: [email protected]

Tövsiyə: