» Elektronik » Arduino »Robot lulus mazes

Robot lulus mazes




Artikel ini menunjukkan penciptaan robot yang bergerak sepanjang jalur dan dapat melalui labirin, setelah mempelajari labirin, dapat melewatinya dengan cara yang paling singkat. Penulis untuk masa yang lama mencipta projek ini, nasib mengatasi beliau buat kali ketiga.

Demonstrasi mesin:


Bahan dan alat:
- Arduino RBBB
- Micromotors 2 pcs
- Kurungan untuk 2 mesin enjin
- Roda 2 pcs
- roda bola
- Sensor pantulan analog
- Kacang dengan baut 2 pcs.
- pemandu enjin
- Pemegang bateri 4 pcs AAA
- Bateri (bateri boleh dicas semula) AAA 4 pcs
- Kes
- Kacang, baut, pencuci
- menyambung wayar
- solder
- tang
- besi pematerian
- pemutar skru

Langkah pertama. Teori
Pengarang diperlukan robot itu, yang sendiri akan mencari jalan keluar dari labirin, selepas itu ia akan dapat mengoptimumkan perjalanan pulang. Apabila mencipta mesin untuk mazes, mereka dipandu oleh kaedah kiri. Untuk menjadikannya lebih jelas, anda harus membayangkan bahawa anda berada dalam labirin dan sentiasa menyimpan tangan kiri anda di dinding. Selepas melewati laluan tertentu, ini akan membantu anda keluar dari labirin jika ia tidak ditutup. Robot hanya boleh berfungsi dengan mazes terbuka.

Prinsip kaedah kiri adalah agak mudah:
- Jika anda boleh belok ke kiri, belok ke kiri.
- Jika boleh bergerak lurus, bergerak lurus.
- Jika anda boleh berpaling ke kanan, belok kanan.
- Sekiranya anda mati, putar 180 darjah.

Juga, robot perlu membuat keputusan di persimpangan, tetapi jika ia tidak mematikan pada giliran, maka ia akan lurus. Untuk membina laluan balik yang lebih baik, setiap keputusan ditulis untuk ingatan.
L = giliran kiri
R = giliran kanan
S = melangkau giliran
B = berputar 180 darjah

Kaedah ini ditunjukkan di bawah dalam tindakan menggunakan labirin sederhana sebagai contoh. Robot menutup jarak dengan arahan LBLLBSR.
Robot lulus mazes







Jalan keluar agak panjang, ia perlu diubah menjadi SRR yang optimum. Untuk melakukan ini, ia ditentukan di mana robot itu bertukar cara yang salah. Di mana-mana di mana arahan "B" digunakan, jalan akan menjadi tidak betul, kerana robot itu berada dalam kebuntuan, jadi "B" harus digantikan dengan sesuatu yang lain. Langkah pertama yang salah ialah LBL, robot itu bertukar dan beralih, sementara itu hanya perlu mengikuti langsung LBL = S. Oleh itu, jalan yang ideal LBL = S, LBS = R dibina. Berdasarkan penggantian tersebut, robot membina laluan pendek yang ideal untuk dirinya sendiri.





Langkah Dua Casis robot itu.
Akrilik dengan ketebalan 0.8 mm menjadi asas untuk casis robot; pemotongan dilakukan oleh laser mengikut lukisan. Dalam arkib di bawah artikel akan ada fail lukisan dari AutoCAD. Ia tidak perlu menggunakan bahan tersebut, tetapi penulis mengambil apa yang ada.

Di bahagian bawah, lubang dibuat untuk memasang motor, papan, roda dan sensor. Bahagian atas mempunyai lubang besar untuk wayar.










Langkah Tiga Pemasangan roda.
Penulis melampirkan kedua-dua enjin dengan bolt. Selanjutnya, mereka hanya meletakkan roda pada gandar mereka, menyelaraskan batang dengan lubang di roda.




Langkah keempat. Arduino
Pada ketika ini, penulis terlebih dahulu mengikuti arahan perhimpunan untuk RBBB Arduino. Seterusnya, beliau memotong bahagian lembaga untuk mengurangkan saiznya. Penyambung kuasa dan penstabil telah dipotong dengan gunting untuk logam. Selepas itu, penyambung 9-pin disolder ke sebelah kiri papan untuk kenalan dari 5V ke A0 untuk menyambungkan sensor kepadanya. Penyambung 4-pin disolder ke sebelah kanan papan untuk kenalan dari D5 hingga D8, dan pengawal motor akan disambungkan kepadanya. Untuk membekalkan kuasa, penyambung 2-pin dis solder ke 5V dan GND.








Langkah Lima Pengawal motor.
Penulis sendiri membangun papan litar bercetak untuk langkah ini, litar dalam format Eagle dilampirkan dalam arkib di bawah artikel. Motor pertama dihubungkan dengan pin M1-A dan M1-B, yang kedua kepada M2 dan M2-B. Input pertama motor InA pertama yang disambungkan ke pin Arduino ke-7. Dalam 1B disambungkan kepada pin 6 daripada Arduino. Untuk input pertama motor kedua, In 2A disambungkan ke pin Arduino ke-5. Pin Dalam 2B menyambung kepada pin 8 Arduino. Kuasa dan tanah disambungkan kepada kuasa dan tanah Arduino.








Langkah Enam Sensor
Unsur ini dijual dalam bentuk papan sensor, pada mulanya terdapat lapan daripada mereka, dua yang melampau dihapuskan oleh penulis. Penyambung 9-pin disebarkan ke papan, wayar yang membawa kepada Arduino akan disambungkan kepada mereka. Sensor mengesan bahagian putih dan hitam labirin menggunakan pantulan dari permukaan.




Langkah ketujuh. Bahagian atas.
Casis dengan bahagian atas robot yang disambungkan oleh bolt dan rak. Bateri diikat pada bahagian atas dengan Velcro. Wayar daripadanya diletakkan di lubang yang disediakan. Apabila dilampirkan, penulis memutuskan untuk tidak menggunakan skru, tetapi untuk meninggalkan bateri dengan Velcro supaya lebih mudah untuk menggantikan bateri. Menggunakan suis pada kes bateri, cek prestasi dilakukan.








Langkah Lapan. Pemasangan sensor.
Sensor telah dipasang ke bahagian bawah mesin. PIN GND disambungkan ke GND Arduino. Seterusnya, pin Vcc disambungkan kepada Arduino 5V. Arduino 5-0 ADCs menghubungkan pin sensor analog 6-1.






Langkah Sembilan. Makanan.
Arduino hanya wayar yang dipateri dari bateri. Menghidupkan dan mematikan robot akan menjadi suis pada bateri, jadi ia telah memutuskan untuk menggunakan pematerian. Ini melengkapkan pemasangan robot.


Langkah Sepuluh Bahagian perisian.
Program ini mempunyai beberapa fungsi yang bertanggungjawab untuk algoritma operasi. Fungsi "tangan kiri" menerima bacaan dari sensor dan mengawal robot mengikut peraturan ini. Fungsi rotasi dihidupkan sebelum robot memperhatikan garis hitam, setelah melihat bahawa ia sedang bergerak lurus. Fungsi pengoptimalan laluan juga bersepadu. Program ini boleh dimuat turun di bawah artikel dalam arkib.


Video Robot:


maze-solving-robot.rar [28.67 Kb] (muat turun: 545)
5.5
5.5
5.5

Tambah komen

    • senyumtersenyumxaxaokdontknowyahoonea
      bosawalbodohyaya-yaagresifrahsia
      maaftariandance2dance3pengampunanmembantuminuman
      berhentikawan-kawanbaikgoodgoodwiseltolaklidah
      asapbertepuk tangancraymengisytiharkanderisivejangan dengarmuat turun
      panasberalunketawa1mdamesyuaratmoskingnegatif
      not_ipopcornmenghukumbacamenakutkanmenakutkancarian
      mengejekterima kasihinito_clueumnikakutbersetuju
      burukbeeeblack_eyeblum3memerahbermegahkebosanan
      ditapiskesenanganrahsia2mengancamkemenanganyusun_bespectacled
      shokrespektloldiingatiselamat datangkrutoyya_za
      ya_dobryipembantune_huliganne_othodifludlarangantutup

Kami menasihati anda untuk membaca:

Bawa ia untuk telefon pintar ...