Litar

Bagaimana Membina Robot - Pelajaran 3: Membina Robot Penjejakan Talian: 16 Langkah

Robot kardus

Robot kardus

Isi kandungan:

Anonim

Selepas melengkapkan fungsi asas, kami kini bersedia memberikan robot Arduino keupayaan dinaik taraf - Penjejakan talian!

Dalam tutorial ini, anda akan diajar langkah demi langkah untuk membuat robot Arduino pengesanan talian. Untuk membuat tutorial ini mudah diikuti, kit robot Arduino (Pirate: 4WD Kit Robot Bergerak Arduino dengan Bluetooth 4.0) digunakan di sini sebagai contoh.

Menu Pelajaran:

Pelajaran 1: Pengenalan

Pelajaran 2: Membina Robot Arduino Asas

Pelajaran 3: Membina Tracking Line Arduino Robot

Pelajaran 4: Membina Robot Arduino Yang Boleh Dihindari Halangan

Pelajaran 5: Membina Robot Arduino Dengan Kesan Cahaya dan Bunyi

Pelajaran 6: Membina Robot Arduino Yang Boleh Memantau Alam Sekitar

Pelajaran 7: Membina Robot Arduino yang Dikendalikan Bluetooth

Bahagian Perkakasan yang Anda Perlu:

Penjejakan Line (Berikutan) Sensor Untuk Arduino × 3

Bekalan:

Langkah 1:

Lebar 2.5CM Black Electrical Tape × 1

Langkah 2:

1M * 1M Lembaga Putih × 1

Langkah 3:

M3 * 30mm Nylon sokongan (skru, kacang) × 3

Langkah 4:

Arahan Pemasangan

Ia tidak sukar untuk memasang robot Arduino. Sila ikuti arahan berikut.

Langkah 1:

Pertama, anda memerlukan 3 sokongan nilon dan skru dan kacang yang disertakan.

Langkah 5:

Langkah 2: Melampirkan sokongan Nylon

Menggunakan kacang, pasangkan sokongan nilon di atas penderia Mini. Apabila melampirkan sokongan, sila perhatikan hala tuju mereka: kacang dan kuar mestilah berada dalam satu arah.

Langkah 6:

Langkah 3: Memasang papan sensor

Keluarkan plat atas dari platform robotik. Kemudian, pasangkan papan sensor ke bahagian depan platform.

Langkah 7:

Langkah 4: Memasang sensor pengesan garisan

Pertama, sambungkan sensor dengan dawai yang ditetapkan untuk penghantaran data. Kemudian, gunakan skru M3 anda untuk melekatkan sensor ke papan pengembangan yang menonjol dari bahagian depan platform.

Langkah 8:

Menyambung perkakasan

Selepas memasang sensor, jangan tergesa-gesa untuk meletakkan plat atas platform kembali - sebelum melakukan itu, kita perlu terlebih dahulu menyambungkan sensor dengan Romeo BLE.

Gambar di sebelah kiri menunjukkan penempatan ABC yang betul pada sensor pada papan sensor, yang sepadan dengan pin 10, 9, dan 8 pada Romeo BLE. Apabila menyambungkan sensor, pastikan untuk memeriksa bahawa anda telah menyambungkannya dalam urutan yang betul. Selepas menyambungkan sensor, pasangkan kembali plat atas platform di atas pangkalannya.

Langkah 9:

Melaraskan sensor

Sebelum memuat kod, kita perlu menyesuaikan penderia kami. Pertama, pasangkan kabel USB ke Romeo BLE (Lembaga Kawalan Robot Arduino dengan Bluetooth 4.0) untuk memberi kuasa. Seperti yang dilihat dalam gambar di bawah, sensor di bawah mempunyai kepala skru Philips; kepala skru ini boleh digunakan untuk menyesuaikan jarak pengesanan sensor. Ambil sekeping kertas putih dan letakkan di bawah siasatan sensor (warna kertas digunakan untuk tujuan penentukuran). Dapatkan pemutar skru dan gunakannya untuk mengetatkan kepala skru Philips. Anda akan merasakan siasatan sensor secara fizikal bergerak naik dan turun bergantung kepada bagaimana ketat anda mengetatkan kepala skru. Anda juga akan melihat cahaya LED sensor sebaik sahaja anda mula mengetatkan. Kencangkan kepala skru sehingga titik siasatan adalah sekitar 2 cm di atas sekeping kertas.

Langkah 10:

Pengekodan

Pasang dalam USB anda. Muat turun kod Arduino, bernama "HuntingLineBlack.ino", dari GitHub. Klik butang Muat Naik dalam Arduino IDE untuk memuat naik kod ke papan kawalan BLE anda.

Langkah 11:

Mengkonfigurasi laluan Arduino Robot anda

Ambil papan putih anda. Gunakan pita elektrik lebar 2.5 cm anda untuk meletakkan laluan di papan putih seperti yang ditunjukkan dalam gambar di bawah.

Langkah 12:

Lebar dawai adalah kira-kira 2.5 cm, jarak kira-kira antara penderia A dan C. Kami telah memilih laluan di atas sebab-sebab yang berkaitan dengan kod; Seksi kemudian akan menerangkan alasan ini lebih teliti.

Langkah 13:

Transmisi: Bagaimana ia berfungsi

Bagaimanakah kita membuat robot kekal di landasannya? Kita perlu memastikan robot itu secara konsisten berada di tengah-tengah trek. Robot menggunakan 3 sensor transmisi untuk menentukur kedudukannya berbanding dengan trek - apabila ia menyimpang ke tepi, robot akan menyesuaikan diri kembali ke arah tengah.

Apabila robot kami bergerak, tiga keadaan akan berlaku.

Langkah 14:

(a) Apabila robot pertama mula bergerak di sepanjang trek, hanya sensor tengah (B) mengesan garis hitam - sensor kiri dan kanan tidak lagi bermain. Kereta akan kekal berpusat di sepanjang trek dan bergerak ke hadapan.

Langkah 15:

(b) Selepas meneruskan landasannya, robot mungkin mula memusingkan pusat. Di bawah keadaan ini, sensor kiri dan kanan akan cuba mengesan garis hitam dan membimbing diri robot kembali ke trek. Contohnya, jika robot itu menembusi arah sebelah kanan trek, kereta itu perlu memusatkan perhatiannya semula dengan membelok ke arah kiri - sensor kiri akan menendang dan secara automatik mengubah robot sehingga ia semula.

Langkah 16:

(c) Sebaliknya, jika robot itu menembusi arah sebelah kiri trek, sensor kanan akan menendang dan menyesuaikan laluan robot sehingga ia semula.

Sinopsis Kod

Tidak perlu membincangkan kod asas - mari kita lihat pada bahagian yang melibatkan penghantaran.

int RightValue; // Pengesan traktor kanan pada Pin 8

int MiddleValue; // Pengesan traktor garis tengah pada Pin 9

int LeftValue; // Pengesan traktor garis kiri pada Pin 10

// membaca 3 nilai pin Sensor Penjejakan Jalur

RightValue = digitalRead (8);

MiddleValue = digitalRead (9);

LeftValue = digitalRead (10);

Gunakan tiga pembolehubah - RightValue, MiddleValue, LeftValue - untuk merekodkan nilai baca 3 sensor.

Fungsi digitalRead (pin) digunakan untuk membaca nilai port Input / Output digital. Jika bahagian ini masih belum jelas, sila lihat Manual Terminologi kami atau laman web Arduino.

Apabila sensor penghantaran tengah mengesan garis hitam (trek), ia akan menghasilkan output tenaga LOW. Apabila mereka mengesan ruang putih, mereka akan menghasilkan output tenaga TINGGI.

Contoh A di bawah menunjukkan prinsip kerja kod penghantaran. Apabila sensor tengah mengesan garis hitam (trek), ia akan menghasilkan output tenaga LOW. Apabila sensor kiri / kanan mengesan ruang putih, mereka akan menghasilkan output HIGH.

jika (MiddleValue == LOW) {// garis di Robot.Speed ​​tengah (100,100); kelewatan (10);}

lain jika ((LeftValue == HIGH) && (RightValue == HIGH)) {Robot.Speed ​​(100,100); kelewatan (10);}

Jika sensor mengesan garis hitam / trek ke kiri sambil mengesan ruang putih ke kanan, robot akan bertukar ke kiri. Lihat Contoh B di bawah:

lain jika ((LeftValue == LOW) && (RightValue == HIGH)) {Robot.Speed ​​(-100,100); / / belok kelewatan kiri (10);}

Sebaliknya, jika sensor mengesan garis hitam / trek ke kanan sambil juga mengesan ruang putih ke kiri, robot akan berpaling ke kanan. Lihat Contoh C di bawah:

lain jika ((LeftValue == HIGH) && (RightValue == LOW)) {Robot.Speed ​​(100, -100); / // belok lurus kanan (10);}