Apakah Anda ingin belajar cara membuat robot Anda sendiri? Ada banyak jenis robot yang bisa Anda buat sendiri. Kebanyakan orang ingin melihat robot melakukan tugas-tugas sederhana bergerak dari titik A ke titik B. Anda dapat membuat robot sepenuhnya dari komponen analog atau membeli starter kit dari awal! Membangun robot Anda sendiri adalah cara yang bagus untuk mengajari diri Anda sendiri baik elektronik maupun pemrograman komputer.
Langkah
Bagian 1 dari 6: Merakit Robot
Langkah 1. Kumpulkan komponen Anda
Untuk membuat robot dasar, Anda memerlukan beberapa komponen sederhana. Anda dapat menemukan sebagian besar, jika tidak semua, komponen ini di toko hobi elektronik lokal Anda, atau beberapa pengecer online. Beberapa kit dasar mungkin mencakup semua komponen ini juga. Robot ini tidak memerlukan penyolderan:
- Arduino Uno (atau mikrokontroler lainnya)
- 2 servos rotasi terus menerus
- 2 roda yang sesuai dengan servos
- 1 rol kastor
- 1 papan tempat memotong roti kecil tanpa solder (cari papan tempat memotong roti yang memiliki dua garis positif dan negatif di setiap sisinya)
- 1 sensor jarak (dengan kabel konektor empat pin)
- 1 sakelar tombol tekan mini
- 1 resistor 10kΩ
- 1 kabel USB A ke B
- 1 set header breakaway
- 1 6 x dudukan baterai AA dengan colokan listrik 9V DC
- 1 bungkus kabel jumper atau kabel penghubung 22-gauge
- Pita dua sisi yang kuat atau lem panas
Langkah 2. Balikkan baterai sehingga bagian belakang yang rata menghadap ke atas
Anda akan membangun tubuh robot menggunakan baterai sebagai dasarnya.
Langkah 3. Sejajarkan dua servos di ujung paket baterai
Ini harus menjadi ujung kabel paket baterai yang keluar. Servo harus menyentuh bagian bawah, dan mekanisme putaran masing-masing harus menghadap ke luar sisi paket baterai. Servo harus disejajarkan dengan benar sehingga roda berjalan lurus. Kabel untuk servos harus keluar dari bagian belakang baterai.
Langkah 4. Tempelkan servos dengan selotip atau lem Anda
Pastikan mereka terpasang dengan kuat ke unit baterai. Bagian belakang servos harus sejajar rata dengan bagian belakang baterai.
Servo sekarang harus mengambil bagian belakang paket baterai
Langkah 5. Tempelkan papan tempat memotong roti secara tegak lurus pada ruang terbuka pada unit baterai
Itu harus sedikit menggantung di bagian depan paket baterai dan akan melampaui setiap sisi. Pastikan sudah terpasang dengan aman sebelum melanjutkan. Baris "A" harus paling dekat dengan servos.
Langkah 6. Pasang mikrokontroler Arduino ke bagian atas servos
Jika Anda memasang servos dengan benar, harus ada ruang datar yang dibuat oleh mereka menyentuh. Tempelkan papan Arduino ke ruang datar ini sehingga konektor USB dan Daya Arduino menghadap ke belakang (jauh dari papan tempat memotong roti). Bagian depan Arduino seharusnya hampir tidak tumpang tindih dengan papan tempat memotong roti.
Langkah 7. Pasang roda pada servos
Tekan dengan kuat roda ke mekanisme putaran servo. Ini mungkin memerlukan sejumlah besar kekuatan, karena roda dirancang agar pas sekencang mungkin untuk traksi terbaik.
Langkah 8. Pasang kastor ke bagian bawah papan tempat memotong roti
Jika Anda membalik sasis, Anda akan melihat sedikit papan tempat memotong roti yang memanjang melewati baterai. Pasang kastor ke bagian yang diperpanjang ini, gunakan anak tangga jika perlu. Kastor bertindak sebagai roda depan, memungkinkan robot untuk dengan mudah berbelok ke segala arah.
Jika Anda membeli kit, kastor mungkin dilengkapi dengan beberapa anak tangga yang dapat Anda gunakan untuk memastikan kastor mencapai tanah. Saya
Bagian 2 dari 6: Menghubungkan Robot
Langkah 1. Putuskan dua header 3-pin
Anda akan menggunakan ini untuk menghubungkan servos ke papan tempat memotong roti. Dorong pin ke bawah melalui header sehingga pin keluar pada jarak yang sama di kedua sisi.
Langkah 2. Masukkan kedua header ke pin 1-3 dan 6-8 pada baris E papan tempat memotong roti
Pastikan mereka dimasukkan dengan kuat.
Langkah 3. Hubungkan kabel servo ke header, dengan kabel hitam di sisi kiri (pin 1 dan 6)
Ini akan menghubungkan servos ke papan tempat memotong roti. Pastikan servo kiri terhubung ke header kiri dan servo kanan ke header kanan.
Langkah 4. Hubungkan kabel jumper merah dari pin C2 dan C7 ke pin rel merah (positif)
Pastikan Anda menggunakan rel merah di bagian belakang papan tempat memotong roti (lebih dekat dengan sisa sasis).
Langkah 5. Hubungkan kabel jumper hitam dari pin B1 dan B6 ke pin rel biru (ground)
Pastikan Anda menggunakan rel biru di bagian belakang papan tempat memotong roti. Jangan mencolokkannya ke pin rel merah.
Langkah 6. Hubungkan kabel jumper putih dari pin 12 dan 13 pada Arduino ke A3 dan A8
Ini akan memungkinkan Arduino untuk mengontrol servos dan memutar roda.
Langkah 7. Pasang sensor ke bagian depan papan tempat memotong roti
Itu tidak dicolokkan ke rel daya luar di papan tempat memotong roti, melainkan ke baris pertama pin berhuruf (J). Pastikan Anda menempatkannya tepat di tengah, dengan jumlah pin yang sama tersedia di setiap sisi.
Langkah 8. Hubungkan kabel jumper hitam dari pin I14 ke pin rel biru pertama yang tersedia di sebelah kiri sensor
Ini akan membumikan sensor.
Langkah 9. Hubungkan kabel jumper merah dari pin I17 ke pin rel merah pertama yang tersedia di sebelah kanan sensor
Ini akan memberi daya pada sensor.
Langkah 10. Hubungkan kabel jumper putih dari pin I15 ke pin 9 pada Arduino, dan dari I16 ke pin 8
Ini akan memberi makan informasi dari sensor ke mikrokontroler.
Bagian 3 dari 6: Menghubungkan Daya
Langkah 1. Balikkan robot pada sisinya sehingga Anda dapat melihat baterai di dalam kemasan
Arahkan agar kabel baterai keluar ke kiri di bagian bawah.
Langkah 2. Hubungkan kabel merah ke pegas kedua dari kiri di bawah
Pastikan unit baterai diarahkan dengan benar.
Langkah 3. Hubungkan kabel hitam ke pegas terakhir di kanan bawah
Kedua kabel ini akan membantu memberikan tegangan yang benar ke Arduino.
Langkah 4. Hubungkan kabel merah dan hitam ke pin merah dan biru paling kanan di bagian belakang papan tempat memotong roti
Kabel hitam harus dicolokkan ke pin rel biru di pin 30. Kabel merah harus dicolokkan ke pin rel merah di pin 30.
Langkah 5. Hubungkan kabel hitam dari pin GND pada Arduino ke rel biru belakang
Hubungkan pada pin 28 pada rel biru.
Langkah 6. Hubungkan kabel hitam dari rel biru belakang ke rel biru depan di pin 29 untuk masing-masing
Jangan menghubungkan rel merah, karena kemungkinan besar Anda akan merusak Arduino.
Langkah 7. Hubungkan kabel merah dari rel merah depan di pin 30 ke pin 5V di Arduino
Ini akan memberikan daya ke Arduino.
Langkah 8. Masukkan sakelar tombol tekan di celah antara baris pada pin 24-26
Saklar ini akan memungkinkan Anda untuk mematikan robot tanpa harus mencabut listrik.
Langkah 9. Hubungkan kabel merah dari H24 ke rel merah di pin berikutnya yang tersedia di sebelah kanan sensor
Ini akan menyalakan tombol.
Langkah 10. Gunakan resistor untuk menghubungkan H26 ke rel biru
Hubungkan ke pin langsung di sebelah kabel hitam yang Anda sambungkan beberapa langkah yang lalu.
Langkah 11. Hubungkan kabel putih dari G26 ke pin 2 di Arduino
Ini akan memungkinkan Arduino untuk mendaftarkan tombol tekan.
Bagian 4 dari 6: Menginstal Perangkat Lunak Arduino
Langkah 1. Unduh dan ekstrak Arduino IDE
Ini adalah lingkungan pengembangan Arduino dan memungkinkan Anda memprogram instruksi yang kemudian dapat Anda unggah ke mikrokontroler Arduino Anda. Anda dapat mengunduhnya secara gratis dari arduino.cc/en/main/software. Buka zip file yang diunduh dengan mengklik dua kali dan pindahkan folder di dalamnya ke lokasi yang mudah diakses. Anda tidak akan benar-benar menginstal program. Sebagai gantinya, Anda hanya akan menjalankannya dari folder yang diekstrak dengan mengklik dua kali arduino.exe.
Langkah 2. Hubungkan baterai ke Arduino
Pasang kembali jack baterai ke konektor pada Arduino untuk memberikan daya.
Langkah 3. Colokkan Arduino ke komputer Anda melalui USB
Windows kemungkinan tidak akan mengenali perangkat.
Langkah 4. Tekan
Menang + R dan ketik devmgmt.msc.
Ini akan meluncurkan Pengelola Perangkat.
Langkah 5. Klik kanan pada "Perangkat tidak dikenal" di bagian "Perangkat lain" dan pilih "Perbarui Perangkat Lunak Driver
" Jika Anda tidak melihat opsi ini, klik "Properties", pilih tab "Driver", lalu klik "Update Driver".
Langkah 6. Pilih "Jelajahi komputer saya untuk perangkat lunak driver
" Ini akan memungkinkan Anda untuk memilih driver yang disertakan dengan Arduino IDE.
Langkah 7. Klik "Browse" lalu arahkan ke folder yang telah Anda ekstrak tadi
Anda akan menemukan folder "driver" di dalamnya.
Langkah 8. Pilih folder "driver" dan klik "OK
" Konfirmasikan bahwa Anda ingin melanjutkan jika Anda diperingatkan tentang perangkat lunak yang tidak dikenal.
Bagian 5 dari 6: Memprogram Robot
Langkah 1. Jalankan Arduino IDE dengan mengklik dua kali file arduino.exe di folder IDE
Anda akan disambut dengan proyek kosong.
Langkah 2. Tempel kode berikut untuk membuat robot Anda lurus
Kode di bawah ini akan membuat Arduino Anda terus bergerak maju.
#include // ini menambahkan library "Servo" ke program // berikut ini membuat dua objek servo Servo leftMotor; Servo kananMotor; void setup() { leftMotor.attach(12); // jika Anda tidak sengaja mengganti nomor pin untuk servo Anda, Anda dapat menukar nomornya di sini rightMotor.attach(13); } void loop() { leftMotor.write(180); // dengan rotasi terus menerus, 180 memberi tahu servo untuk bergerak dengan kecepatan penuh "maju." kananMotor. tulis (0); // jika keduanya berada pada 180, robot akan berputar karena servo terbalik. "0, " memerintahkannya untuk bergerak "mundur" dengan kecepatan penuh. }
Langkah 3. Bangun dan unggah program
Klik tombol panah kanan di sudut kiri atas untuk membuat dan mengunggah program ke Arduino yang terhubung.
Anda mungkin ingin mengangkat robot dari permukaan, karena robot akan terus bergerak maju setelah program diunggah
Langkah 4. Tambahkan fungsionalitas tombol pemutus
Tambahkan kode berikut ke bagian "void loop()" dari kode Anda untuk mengaktifkan tombol pemutus, di atas fungsi "write()".
if(digitalRead(2) == HIGH) // register ini ketika tombol ditekan pada pin 2 Arduino { while(1) { leftMotor.write(90); // "90" adalah posisi netral untuk servo, yang memberitahu mereka untuk berhenti berbelok ke kananMotor.write(90); } }
Langkah 5. Unggah dan uji kode Anda
Dengan menambahkan kode tombol pemutus, Anda dapat mengunggah dan menguji robot. Itu harus terus bergerak maju sampai Anda menekan sakelar, di mana ia akan berhenti bergerak. Kode lengkapnya akan terlihat seperti ini:
#include // berikut ini membuat dua objek servo Servo leftMotor; Servo kananMotor; void setup() { leftMotor.attach(12); rightMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) { while(1) { leftMotor.write(90); rightMotor.write(90); } } leftMotor.write(180); rightMotor.write(0); }
Bagian 6 dari 6: Contoh
Langkah 1. Ikuti sebuah contoh
Kode berikut akan menggunakan sensor yang terpasang pada robot untuk membuatnya berbelok ke kiri setiap kali menemui rintangan. Lihat komentar dalam kode untuk detail tentang apa yang dilakukan setiap bagian. Kode di bawah ini adalah keseluruhan program.
#sertakan Servo kiriMotor; Servo kananMotor; const int serialPeriod = 250; // ini membatasi output ke konsol setiap 1/4 detik unsigned long timeSerialDelay = 0; const int loopPeriod = 20; // ini menyetel seberapa sering sensor membaca hingga 20 md, yang merupakan frekuensi 50Hz unsigned long timeLoopDelay = 0; // ini menetapkan fungsi TRIG dan ECHO ke pin pada Arduino. Lakukan penyesuaian pada angka di sini jika Anda menghubungkan secara berbeda const int ultrasonic2TrigPin = 8; const int ultrasonik2EchoPin = 9; int ultrasonik2Jarak; int ultrasonik2Durasi; // ini mendefinisikan dua kemungkinan status untuk robot: mengemudi ke depan atau ke kiri #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = maju kedepan (DEFAULT), 1 = belok kiri void setup() { Serial.begin(9600); // konfigurasi pin sensor ini pinMode(ultrasonic2TrigPin, OUTPUT); pinMode(ultrasonik2EchoPin, INPUT); // ini menetapkan motor ke pin Arduino leftMotor.attach(12); rightMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) // ini mendeteksi tombol pemutus { while(1) { leftMotor.write(90); rightMotor.write(90); } } debugOutput(); // ini mencetak pesan debug ke konsol serial if(millis() - timeLoopDelay >= loopPeriod) { readUltrasonicSensors(); // ini menginstruksikan sensor untuk membaca dan menyimpan jarak yang diukur stateMachine(); timeLoopDelay = milis(); } } void stateMachine() { if(state == DRIVE_FORWARD) // jika tidak ada rintangan yang terdeteksi { if(ultrasonic2Distance > 6 || ultrasonic2Distance < 0) // jika tidak ada apa-apa di depan robot. ultrasonicDistance akan negatif untuk beberapa ultrasonik jika tidak ada halangan { // drive forward rightMotor.write(180); leftMotor.write(0); } else // jika ada objek di depan kita { state = TURN_LEFT; } } else if(state == TURN_LEFT) // jika ada rintangan yang terdeteksi, belok kiri { unsigned long timeToTurnLeft = 500; // dibutuhkan sekitar 0,5 detik untuk berbelok 90 derajat. Anda mungkin perlu menyesuaikan ini jika ukuran roda Anda berbeda dari contoh unsigned long turnStartTime = millis(); // simpan waktu saat kita mulai berputar while((millis()-turnStartTime) < timeToTurnLeft) // tetap di loop ini sampai timeToTurnLeft telah berlalu { // belok kiri, ingat bahwa ketika keduanya disetel ke "180" itu akan berubah. rightMotor.write(180); leftMotor.write(180); } status = DRIVE_FORWARD; } } void readUltrasonicSensors() { // ini untuk ultrasonik 2. Anda mungkin perlu mengubah perintah ini jika menggunakan sensor yang berbeda. digitalWrite(ultrasonik2TrigPin, TINGGI); delayMicroseconds(10); // menjaga pin trigonometri tetap tinggi setidaknya selama 10 mikrodetik digitalWrite(ultrasonic2TrigPin, LOW); ultrasonik2Durasi = pulseIn(ultrasonik2EchoPin, TINGGI); ultrasonik2Jarak = (ultrasonik2Durasi/2)/29; } // berikut ini untuk men-debug error di console. void debugOutput() { if((millis() - timeSerialDelay) > serialPeriod) { Serial.print("ultrasonic2Distance: "); Serial.print(ultrasonik2Jarak); Serial.print("cm"); Serial.println(); timeSerialDelay = milis(); } }