Isi kandungan:

Robot Mentega: Robot Arduino Dengan Krisis Eksistensial: 6 Langkah (dengan Gambar)
Robot Mentega: Robot Arduino Dengan Krisis Eksistensial: 6 Langkah (dengan Gambar)

Video: Robot Mentega: Robot Arduino Dengan Krisis Eksistensial: 6 Langkah (dengan Gambar)

Video: Robot Mentega: Robot Arduino Dengan Krisis Eksistensial: 6 Langkah (dengan Gambar)
Video: Tutorial Membuat Robot Remot Kontrol Arduino 2024, Julai
Anonim
Image
Image

Projek ini berdasarkan siri animasi "Rick and Morty". Dalam salah satu episod, Rick membuat robot yang tujuan utamanya adalah membawa mentega. Sebagai pelajar dari Bruface (Fakulti Kejuruteraan Brussels) kami mempunyai tugas untuk projek mekatronik iaitu membina robot berdasarkan topik yang dicadangkan. Tugasan untuk projek ini adalah: Membuat robot yang hanya menyediakan mentega. Ia boleh mengalami krisis eksistensial. Sudah tentu robot dalam episod Rick and Morty adalah robot yang cukup kompleks dan beberapa penyederhanaan perlu dibuat:

Oleh kerana tujuan utamanya adalah membawa mentega, ada alternatif lain yang lebih mudah. Daripada membuat robot kelihatan dan mengambil mentega, sebelum membawanya ke orang yang tepat, robot boleh membawa mentega sepanjang masa. Oleh itu, idea utama adalah membuat kereta yang mengangkut mentega ke tempat yang sepatutnya.

Selain mengangkut mentega, robot perlu mengetahui di mana dia perlu membawa mentega itu. Dalam episod itu, Rick menggunakan suaranya untuk memanggil dan memerintah robot. Ini memerlukan sistem pengecaman suara yang mahal dan akan menjadi rumit. Sebaliknya, semua orang di meja mendapat butang: setelah butang ini diaktifkan, robot dapat mencari butang ini dan bergerak ke arahnya.

Untuk merakam, robot perlu memenuhi syarat berikut:

  • Ia mesti selamat: ia mesti mengelakkan halangan dan mencegah dirinya terjatuh dari meja;
  • Robot itu mesti kecil: ruang di atas meja adalah terhad dan tidak ada yang menginginkan robot yang menyediakan mentega tetapi separuh dari ukuran meja itu sendiri;
  • Cara kerja robot tidak boleh bergantung pada ukuran atau bentuk meja, dengan cara itu ia dapat digunakan pada meja yang berlainan;
  • Ia perlu membawa mentega kepada orang yang betul di meja.

Langkah 1: Konsep Utama

Keperluan yang disebutkan sebelumnya dapat dipenuhi dengan menggunakan teknik yang berbeza. Keputusan mengenai reka bentuk utama yang dibuat dijelaskan dalam langkah ini. Perincian mengenai bagaimana idea-idea ini dilaksanakan dapat dilihat pada langkah-langkah berikut.

Untuk menunaikan tugasnya, robot perlu bergerak sehingga destinasi tercapai. Dengan mempertimbangkan penggunaan robot, sangat mudah bahawa menggunakan roda dan bukannya gerakan "berjalan" lebih baik membuatnya bergerak. Oleh kerana meja adalah permukaan yang rata dan robot tidak akan mencapai kelajuan yang sangat tinggi, dua roda yang digerakkan dan satu bola kastor adalah penyelesaian yang paling mudah dan senang dikendalikan. Roda yang digerakkan perlu digerakkan oleh dua motor. Motor perlu mempunyai tork yang besar tetapi mereka tidak perlu mencapai kelajuan tinggi, sebab itulah motor servo berterusan akan digunakan. Kelebihan lain dari motor servo adalah kesederhanaan penggunaan dengan Arduino.

Pengesanan rintangan dapat dilakukan dengan menggunakan sensor ultrasonik yang mengukur jarak, terpasang pada motor servo untuk memilih arah pengukuran. Bahagian tepi dapat dikesan menggunakan sensor LDR. Menggunakan sensor LDR akan memerlukan pembinaan peranti yang mengandungi lampu LED dan sensor LDR. Sensor LDR mengukur cahaya yang dipantulkan dan dapat dilihat sebagai semacam sensor jarak. Prinsip yang sama ada dengan cahaya inframerah. Terdapat beberapa sensor jarak inframerah yang mempunyai output digital: tutup atau tidak tutup. Inilah yang sebenarnya robot perlukan untuk mengesan pinggirnya. Dengan menggabungkan 2 sensor tepi yang diletakkan seperti dua antena serangga dan satu sensor ultrasonik yang digerakkan, robot harus dapat mengelakkan halangan dan tepi.

Pengesanan butang juga dapat dilakukan dengan menggunakan sensor IR dan led. Kelebihan IR adalah bahawa ia tidak dapat dilihat yang menjadikannya tidak mengganggu orang di meja. Laser dapat digunakan juga, tetapi kemudian cahaya akan terlihat dan juga berbahaya ketika seseorang mengarahkan laser ke mata orang lain. Selain itu, pengguna perlu menyasarkan sensor pada robot dengan hanya sinar laser nipis, yang akan menjengkelkan. Dengan melengkapkan robot dengan dua sensor IR dan membina butang dengan lampu LED, robot mengetahui arah mana yang harus dia lalui dengan mengikuti intensiti cahaya IR. Apabila tidak ada butang robot dapat berpusing sehingga salah satu led menangkap isyarat dari salah satu butang.

Mentega dimasukkan ke dalam petak di bahagian atas robot. Petak ini boleh terdiri daripada kotak dan penutup yang digerakkan untuk membuka kotak. Untuk membuka penutup dan menggerakkan sensor ultrasonik untuk mengimbas dan mengesan rintangan yang kita perlukan dua motor dan untuk tujuan ini, motor servo tidak berterusan lebih disesuaikan kerana motor perlu bergerak pada kedudukan tertentu dan mengekalkan kedudukan itu.

Ciri tambahan projek ini adalah untuk berinteraksi dengan persekitaran luaran dengan suara robot. Buzzer ringkas dan disesuaikan untuk tujuan ini tetapi tidak dapat digunakan pada bila-bila masa kerana draw curent tinggi.

Kesukaran utama projek bergantung pada pengekodan, kerana bahagian mekanikalnya cukup mudah. Banyak kes perlu diambil kira untuk mengelakkan robot tersekat atau melakukan sesuatu yang tidak diingini. Masalah utama yang perlu kita selesaikan adalah kehilangan isyarat IR kerana halangan dan berhenti ketika tiba di butang!

Langkah 2: Bahan

Bahagian mekanikal

  • Pencetak 3D dan mesin pemotong Laser

    • PLA akan digunakan untuk percetakan 3D tetapi anda juga boleh menggunakan ABS
    • Plat kayu lapis birch 3 mm akan digunakan untuk pemotongan laser kerana memberi kemungkinan untuk melakukan pengubahsuaian di kemudian hari, Plexiglas juga boleh digunakan tetapi lebih sukar untuk mengubahnya setelah dipotong laser tanpa memusnahkannya
  • Selak, mur, mesin basuh

    Sebilangan besar komponen dipegang bersama-sama menggunakan bolt M3, pencuci dan mur, tetapi sebilangannya memerlukan set bolt M2 atau M4. Panjang bolt adalah dalam lingkungan 8-12 mm

  • Spacer PCB, 25 mm dan 15 mm
  • 2 Motor servo dengan roda yang serasi
  • Sebilangan dawai logam tebal berdiameter 1-2 mm

Bahagian elektronik

  • Pengawal mikro

    1 papan arduino UNO

  • Motor servo

    • 2 Motor servo besar: Feetech berterusan 6Kg 360 darjah
    • 2 motor servo mikro: Feetech FS90
  • Sensor

    • 1 Sensor ultrasonik
    • 2 sensor jarak IR
    • 2 fotodiod IR
  • Bateri

    • 1 pemegang bateri 9V + bateri
    • 1 pemegang bateri 4AA + bateri
    • 1 kotak bateri 9V + bateri
  • Komponen tambahan

    • Beberapa wayar lompat, wayar dan pateri pematerian
    • Beberapa perintang
    • 1 LED IR
    • 3 suis
    • 1 buzzer
    • 1 butang
    • 1 Penyambung bateri Arduino hingga 9V

Langkah 3: Menguji Elektronik

Menguji Elektronik
Menguji Elektronik
Menguji Elektronik
Menguji Elektronik

Penciptaan butang:

Butang itu hanya dibuat oleh suis, LED inframerah, dan perintang 220 Ohm secara bersiri, yang dikuasakan oleh bateri 9V. Ini dimasukkan ke dalam pek bateri 9V untuk reka bentuk yang ringkas dan bersih.

Penciptaan modul penerima inframerah:

Modul-modul ini dibuat dengan papan pemateri melalui lubang, yang kemudian akan dipasang dengan skru ke robot. Litar untuk modul ini digambarkan dalam skema umum. Prinsipnya adalah untuk mengukur intensiti cahaya inframerah. Untuk meningkatkan pengukuran, collimator (dibuat dengan tabung penyusutan) dapat digunakan untuk memusatkan perhatian pada arah tujuan tertentu.

Keperluan projek yang berbeza perlu dipenuhi dengan menggunakan alat elektronik. Bilangan peranti harus dihadkan untuk menjaga kerumitan yang rendah. Langkah ini mengandungi skema pendawaian dan setiap kod untuk menguji semua bahagian secara berasingan:

  • Motor Servo berterusan;
  • Sensor ultrasonik;
  • Motor Servo tidak berterusan;
  • Buzzer;
  • Pengesanan arah butang IR;
  • Pengesanan tepi oleh sensor jarak;

Kod-kod ini dapat membantu memahami komponen pada awalnya, tetapi juga sangat berguna untuk debug pada peringkat kemudian. Sekiranya masalah tertentu berlaku, bug dapat dikesan dengan lebih mudah dengan menguji semua komponen secara berasingan.

Langkah 4: Reka Bentuk Potong 3D dan Potongan Laser

Reka Bentuk Potongan 3D dan Potongan Laser
Reka Bentuk Potongan 3D dan Potongan Laser
Reka Bentuk Potong 3D dan Potongan Laser
Reka Bentuk Potong 3D dan Potongan Laser
Reka Bentuk Potong 3D dan Potongan Laser
Reka Bentuk Potong 3D dan Potongan Laser

Potongan Potong Laser

Pemasangan dibuat dari tiga plat mendatar utama yang disatukan oleh spacer PCB untuk mendapatkan reka bentuk terbuka yang menyediakan akses mudah ke elektronik jika diperlukan.

Plat tersebut perlu memotong lubang yang diperlukan untuk mengacaukan spacer dan komponen lain untuk pemasangan akhir. Terutama, ketiga-tiga plat mempunyai lubang di lokasi yang sama untuk spacer, dan lubang khusus untuk elektronik yang dipasang masing-masing pada setiap plat. Perhatikan bahawa plat tengah memang mempunyai lubang untuk melewati wayar di tengahnya.

Potongan kecil dipotong pada dimensi servo besar untuk memasangkannya ke pemasangan.

Kepingan bercetak 3D

Selain pemotongan laser, beberapa keping perlu dicetak 3D:

  • Sokongan untuk sensor ultrasonik, yang menghubungkannya ke satu lengan motor servo mikro
  • Sokongan untuk roda kastor dan dua sensor tepi IR. Reka bentuk khas jenis kotak berbentuk hujung untuk sensor IR bertindak sebagai skrin untuk mengelakkan gangguan antara butang yang memancarkan isyarat IR dan sensor IR yang perlu memberi tumpuan kepada apa yang berlaku di tanah sahaja.
  • Sokongan untuk motor servo mikro membuka penutup
  • Dan akhirnya penutupnya sendiri, terbuat dari dua keping untuk mempunyai sudut operasi yang lebih besar dengan mengelakkan perlanggaran dengan motor servo mikro yang membuka penutupnya:

    • Bahagian bawah yang akan dipasang pada plat atas
    • Dan bahagian atas yang dihubungkan ke bawah dengan engsel, dan digerakkan oleh servo menggunakan wayar logam tebal. Kami memutuskan untuk menambahkan sedikit keperibadian pada robot dengan memberikannya kepalanya.

Setelah semua kepingan dirancang dan fail dieksport dalam format yang betul untuk mesin yang digunakan, kepingan itu sebenarnya dapat dibuat. Ketahuilah bahawa percetakan 3D memerlukan banyak masa, terutamanya dengan dimensi penutup bahagian atas. Anda mungkin memerlukan satu atau dua hari untuk mencetak semua kepingan. Pemotongan laser bagaimanapun hanya beberapa minit.

Semua fail SOLIDWORKS boleh didapati di folder zip.

Langkah 5: Pemasangan dan Pendawaian

Image
Image
Pemasangan dan Pendawaian
Pemasangan dan Pendawaian
Pemasangan dan Pendawaian
Pemasangan dan Pendawaian
Pemasangan dan Pendawaian
Pemasangan dan Pendawaian

Pemasangan akan menjadi gabungan pendawaian dan pemasangan komponen bersama-sama, bermula dari bawah ke atas.

Plat bawah

Plat bawah dipasang dengan pek bateri 4AA, motor servo, bahagian yang dicetak (melampirkan kastor bola di bawah plat), sensor dua tepi, dan 6 spacer lelaki-femal.

Plat tengah

Seterusnya, plat tengah boleh dipasang, memampatkan motor servo antara kedua-dua plat. Plat ini kemudian boleh dipasang dengan meletakkan set spacer lain di atasnya. Sebilangan kabel dapat dilalui melalui lubang tengah.

Modul ultrasonik boleh dilampirkan ke servo tidak berterusan, yang terpaku pada plat tengah dengan Arduino, pek bateri 9V (menghidupkan arduino), dan dua modul penerima inframerah di bahagian depan robot. Modul ini dibuat dengan papan pemateri melalui lubang dan dilekatkan dengan skru ke piring. Litar untuk modul ini digambarkan dalam skema umum.

Plat atas

Pada bahagian pemasangan ini, suis tidak terpasang tetapi robot sudah dapat melakukan segala-galanya kecuali tindakan yang memerlukan penutup, oleh itu ia membolehkan kita membuat beberapa ujian untuk membetulkan had, untuk menyesuaikan kod pergerakan dan mudah akses ke pelabuhan arduino.

Apabila semua ini tercapai, plat atas boleh dipasang dengan spacer. Komponen terakhir yang merupakan dua suis, butang, servo, buzzer dan sistem penutup akhirnya dapat dipasang ke plat atas untuk menyelesaikan pemasangan.

Perkara terakhir untuk menguji dan membetulkan ialah sudut servo untuk membuka penutup dengan betul.

Ambang sensor tepi harus disesuaikan dengan potensiometer yang disertakan (dengan menggunakan pemutar skru rata) untuk permukaan meja yang berbeza. Jadual putih harus mempunyai ambang yang lebih rendah daripada meja coklat misalnya. Ketinggian sensor juga akan mempengaruhi ambang yang diperlukan.

Pada akhir langkah ini, pemasangan selesai dan bahagian terakhir yang tinggal adalah kod yang hilang.

Langkah 6: Pengekodan: Menggabungkan Semuanya

Semua kod yang diperlukan untuk membuat robot berfungsi dalam fail zip yang boleh dimuat turun. Yang paling penting adalah kod "utama" yang merangkumi gelung penyediaan dan fungsi robot. Sebilangan besar fungsi lain ditulis dalam sub-fail (juga dalam folder zip). Sub-fail ini harus disimpan dalam folder yang sama (yang dinamakan "main") dengan skrip utama sebelum memuat naiknya ke Arduino

Pertama, kelajuan umum robot ditentukan bersama dengan pemboleh ubah "ingatkan". "Mengingatkan" ini adalah nilai yang mengingat ke arah mana robot itu berpaling. Jika "mengingatkan = 1", robot itu / membelok ke kiri, jika "mengingatkan = 2", robot itu / berpusing ke kanan.

kelajuan int = 9; // Kelajuan umum robot

int mengingatkan = 1; // Arah awal

Dalam penyediaan robot, sub-fail yang berbeza dari program diinisialisasi. Dalam sub-fail ini, fungsi asas pada kawalan motor, sensor,… ditulis. Dengan memulakannya dalam penyediaan, fungsi yang dijelaskan dalam setiap fail ini dapat digunakan dalam gelung utama. Dengan mengaktifkan fungsi r2D2 (), robot akan membuat bunyi seperti robot R2D2 dari francais filem Star Wars ketika ia bermula. Di sini fungsi r2D2 () dilumpuhkan untuk mengelakkan buzzer menarik arus terlalu banyak.

// Persediaan @ tetapkan semula // ----------------

batal persediaan () {initialize_IR_sensors (); inisialisasi_obstacles_and_edges (); inisialisasi_movement (); inisialisasi_lid (); inisialisasi_buzzer (); // r2D2 (); int mengingatkan = 1; // arah awal Permulaan (ingatkan); }

Fungsi Pemula (ingatkan) pertama kali dipanggil dalam penyediaan. Fungsi ini menjadikan robot berpusing dan mencari isyarat IR salah satu butang. Setelah menemui butangnya, program ini akan keluar dari fungsi Starter dengan mengubah pemboleh ubah 'cond' menjadi false. Semasa putaran robot, ia harus memperhatikan persekitarannya: ia harus mengesan tepi dan halangan. Ini diperiksa setiap kali sebelum terus berbalik. Setelah robot mengesan halangan atau tepi, protokol untuk mengelakkan halangan atau tepi ini akan dilaksanakan. Protokol ini akan dijelaskan kemudian dalam langkah ini. Fungsi Starter mempunyai satu pemboleh ubah iaitu pemboleh ubah mengingatkan yang telah dibincangkan sebelumnya. Dengan memberikan nilai ingatan pada fungsi Starter, robot tahu ke arah mana ia perlu berpusing untuk mencari butangnya.

// Gelung Permulaan: Putar dan cari butang // ------------------------------------ ----------------

batal Starter (int mengingatkan) {if (isedgeleft () || isedgeright ()) {// Mengesan bahagian tepiDeteksi (ingatkan); } lain {bool cond = true; manakala (cond == true) {if (buttonleft () == false && buttonright () == false && isButtonDetected () == true) {cond = false; } lain {if (ing == 1) {// Kami menoleh ke kiri jika (isobstacleleft ()) {stoppeed (); mengelakkan_obstacle (ingatkan); } lain jika (isedgeleft () || isedgeright ()) {// Kesan tepi tepiDetected (ingatkan); } lain {belokan (kelajuan); }} lain jika (ingatkan == 2) {if (isobstacleright ()) {stoppeed (); mengelakkan_obstacle (ingatkan); } lain jika (isedgeleft () || isedgeright ()) {// Kesan tepi tepiDetected (ingatkan); } lain {belok (kelajuan); }}}}}}

Sekiranya robot menemui butang, maka gelung Permulaan pertama keluar dan gelung utama berfungsi berfungsi. Gelung utama ini cukup rumit kerana setiap masa, robot perlu mengesan ada atau tidak ada halangan atau pinggir di hadapannya. Idea utamanya ialah robot mengikuti butang dengan mencarinya dan kehilangannya setiap masa. Dengan menggunakan dua sensor IR, kita dapat membezakan tiga keadaan:

  • perbezaan antara cahaya IR yang dikesan oleh sensor kiri dan kanan lebih besar daripada ambang tertentu, dan ada butang.
  • perbezaan cahaya IR lebih kecil daripada ambang, dan ada butang di hadapan robot.
  • perbezaan cahaya IR lebih kecil dari ambang, dan tidak ada butang di hadapan robot.

Cara kerja rutin trek adalah seperti berikut: ketika tombol dikesan, robot bergerak ke arah tombol dengan memutar ke arah yang sama dengan putarannya (menggunakan variabel ingatkan) dan pada saat yang sama bergerak sedikit ke depan. Sekiranya robot berpusing terlalu jauh, butang akan hilang lagi, dan pada ketika ini robot ingat dia perlu berpusing ke arah lain. Ini juga dilakukan sambil bergerak sedikit ke hadapan. Dengan melakukan ini, robot terus membelok ke kiri dan membelok ke kanan, tetapi pada waktu yang sama masih maju ke arah tombol. Setiap kali robot menjumpai butang, ia terus berpusing sehingga hilang, dalam keadaan ia mula bergerak ke arah lain. Perhatikan perbezaan fungsi yang digunakan dalam gelung Starter dan gelung utama: gelung Starter menggunakan "turnleft ()" atau "turnright ()", sementara gelung utama menggunakan "moveleft ()" dan "moveright ()". Fungsi pergerakan kiri / kanan tidak hanya membuat robot berpusing tetapi juga membuatnya bergerak maju pada masa yang sama.

/ * Gelung fungsional ---------------------------- Di sini, hanya ada rutin trek * /

int hilang = 0; // Jika hilang = 0 butang dijumpai, jika hilang = 1 butang hilang gelung kosong () {if (isedgeleft () || isedgeright ()) {

jika (! isobstacle ()) {

bergerak maju (kelajuan); kelewatan (5); } lain {mengelakkan_obstacle (ingatkan); } lain {if (ingatkan == 1 && lost == 1) {// Kami membelok ke hentian kiri (); jika (! isobstacleright ()) {moveright (kelajuan); // Berbalik untuk mencari butang} lain {menghindari_obstacle (ingatkan); } ingatkan = 2; } lain jika (ingatkan == 2 && hilang == 1) {stoppeed (); jika (! isobstacleleft ()) {moveleft (kelajuan); // Kami menoleh ke kanan} yang lain {menghindari_obstacle (ingatkan); } ingatkan = 1; } lain jika (hilang == 0) {if (ingatkan == 1) {// Kami menoleh ke kiri jika (! isobstacleleft ()) {moveleft (speed); // Kami membelok ke kanan} yang lain {stoppeed (); mengelakkan_obstacle (ingatkan); } //} lain jika (ingatkan == 2) {if (! isobstacleright ()) {moveright (kelajuan); // Berbalik untuk mencari butang} lain {stoppeed (); mengelakkan_obstacle (ingatkan); }}} kelewatan (10); hilang = 0; }} //}}

Sekarang, sedikit penjelasan mengenai dua rutin yang paling kompleks diberikan:

Elakkan tepi

Protokol untuk mengelakkan tepi ditentukan dalam fungsi yang disebut "edgeDetection ()" yang ditulis dalam sub-fail "pergerakan". Protokol ini bergantung pada fakta bahawa robot hanya akan menemui kelebihan ketika telah sampai ke tempat tujuannya: butang. Sebaik sahaja robot mengesan pinggir, perkara pertama yang dilakukannya adalah mundur sedikit agar berada di tempat yang selamat dari tepi. Setelah ini selesai, robot menunggu selama 2 saat. Sekiranya seseorang menekan butang di bahagian depan robot dalam dua saat itu, robot tahu ia telah mencapai orang yang menginginkan mentega dan membuka petak mentega dan menghadiahkan mentega. Pada ketika ini, seseorang boleh mengambil mentega dari robot. Selepas beberapa saat, robot akan bosan menunggu dan akan menutup penutup mentega. Setelah penutup ditutup robot akan menjalankan gelung Starter untuk mencari butang lain. Sekiranya ia berlaku bahawa robot menghadapi kelebihan sebelum sampai ke tempat tujuannya dan butang di bahagian depan robot tidak ditekan, robot tidak akan membuka penutup mentega dan akan segera menjalankan gelung Starter.

Elakkan halangan

Fungsi prevent_obstacle () juga terletak di sub-fail "pergerakan". Bahagian yang sukar untuk mengelakkan halangan adalah hakikat bahawa robot mempunyai titik buta yang cukup besar. Sensor ultrasonik diletakkan di bahagian depan robot, yang bermaksud ia dapat mengesan halangan, tetapi tidak tahu kapan dia melewatinya. Untuk menyelesaikannya, prinsip berikut digunakan: Setelah robot menghadapi halangan, ia menggunakan pemboleh ubah yang tinggal untuk berpaling ke arah lain. Dengan cara ini robot mengelakkan diri dari memukul halangan. Robot terus berpusing sehingga sensor ultrasonik tidak dapat mengesan halangan lagi. Semasa robot berpusing, penghitung ditingkatkan sehingga halangan tidak dapat dikesan lagi. Kaunter ini memberikan penghampiran panjang rintangan. Dengan bergerak kemudian ke depan dan pada masa yang sama menurunkan kaunter halangan dapat dielakkan. Setelah penghitung mencapai 0, fungsi Starter dapat digunakan lagi untuk menukar semula butang. Sudah tentu robot melakukan Starter dengan memutar ke arah yang diingatnya sebelum dia menemui halangan (sekali lagi menggunakan variabel ingatan).

Sekarang setelah anda memahami kodnya, anda boleh mula menggunakannya!

Pastikan untuk menyesuaikan ambang ke persekitaran anda (pantulan IR lebih tinggi pada jadual putih misalnya) dan untuk menyesuaikan parameter yang berbeza dengan keperluan anda. Juga, perhatian yang besar harus diberikan kepada pengaktifan modul yang berbeza. Adalah penting bahawa motor servo tidak digerakkan oleh port Arduino 5V, kerana mereka mengambil banyak arus (ini boleh merosakkan mikrokontroler). Sekiranya sumber kuasa yang sama digunakan untuk sensor dengan yang memberi kuasa kepada servos, beberapa masalah pengukuran dapat dihadapi.

Disyorkan: