Cara Membuat Robot di Rumah (dengan Gambar)

Daftar Isi:

Cara Membuat Robot di Rumah (dengan Gambar)
Cara Membuat Robot di Rumah (dengan Gambar)

Video: Cara Membuat Robot di Rumah (dengan Gambar)

Video: Cara Membuat Robot di Rumah (dengan Gambar)
Video: Belajar Sketchup Dasar Untuk Pemula Baru - Terbaru 2024, Mungkin
Anonim

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

1123333 1
1123333 1

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
1123333 2
1123333 2

Langkah 2. Balikkan baterai sehingga bagian belakang yang rata menghadap ke atas

Anda akan membangun tubuh robot menggunakan baterai sebagai dasarnya.

1123333 3
1123333 3

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.

1123333 4
1123333 4

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

1123333 5
1123333 5

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.

1123333 6
1123333 6

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.

1123333 7
1123333 7

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.

1123333 8
1123333 8

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

1123333 9
1123333 9

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.

1123333 10
1123333 10

Langkah 2. Masukkan kedua header ke pin 1-3 dan 6-8 pada baris E papan tempat memotong roti

Pastikan mereka dimasukkan dengan kuat.

1123333 11
1123333 11

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.

1123333 12
1123333 12

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).

1123333 13
1123333 13

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.

1123333 14
1123333 14

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.

1123333 15
1123333 15

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.

1123333 16
1123333 16

Langkah 8. Hubungkan kabel jumper hitam dari pin I14 ke pin rel biru pertama yang tersedia di sebelah kiri sensor

Ini akan membumikan sensor.

1123333 17
1123333 17

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.

1123333 18
1123333 18

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

1123333 19
1123333 19

Langkah 1. Balikkan robot pada sisinya sehingga Anda dapat melihat baterai di dalam kemasan

Arahkan agar kabel baterai keluar ke kiri di bagian bawah.

1123333 20
1123333 20

Langkah 2. Hubungkan kabel merah ke pegas kedua dari kiri di bawah

Pastikan unit baterai diarahkan dengan benar.

1123333 21
1123333 21

Langkah 3. Hubungkan kabel hitam ke pegas terakhir di kanan bawah

Kedua kabel ini akan membantu memberikan tegangan yang benar ke Arduino.

1123333 22
1123333 22

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.

1123333 23
1123333 23

Langkah 5. Hubungkan kabel hitam dari pin GND pada Arduino ke rel biru belakang

Hubungkan pada pin 28 pada rel biru.

1123333 24
1123333 24

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.

1123333 25
1123333 25

Langkah 7. Hubungkan kabel merah dari rel merah depan di pin 30 ke pin 5V di Arduino

Ini akan memberikan daya ke Arduino.

1123333 26
1123333 26

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.

1123333 27
1123333 27

Langkah 9. Hubungkan kabel merah dari H24 ke rel merah di pin berikutnya yang tersedia di sebelah kanan sensor

Ini akan menyalakan tombol.

1123333 28
1123333 28

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.

1123333 29
1123333 29

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

1123333 30
1123333 30

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.

1123333 31
1123333 31

Langkah 2. Hubungkan baterai ke Arduino

Pasang kembali jack baterai ke konektor pada Arduino untuk memberikan daya.

1123333 32
1123333 32

Langkah 3. Colokkan Arduino ke komputer Anda melalui USB

Windows kemungkinan tidak akan mengenali perangkat.

1123333 33
1123333 33

Langkah 4. Tekan

Menang + R dan ketik devmgmt.msc.

Ini akan meluncurkan Pengelola Perangkat.

1123333 34
1123333 34

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".

1123333 35
1123333 35

Langkah 6. Pilih "Jelajahi komputer saya untuk perangkat lunak driver

" Ini akan memungkinkan Anda untuk memilih driver yang disertakan dengan Arduino IDE.

1123333 36
1123333 36

Langkah 7. Klik "Browse" lalu arahkan ke folder yang telah Anda ekstrak tadi

Anda akan menemukan folder "driver" di dalamnya.

1123333 37
1123333 37

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

1123333 38
1123333 38

Langkah 1. Jalankan Arduino IDE dengan mengklik dua kali file arduino.exe di folder IDE

Anda akan disambut dengan proyek kosong.

1123333 39
1123333 39

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. }

1123333 40
1123333 40

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

1123333 41
1123333 41

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); } }

1123333 42
1123333 42

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(); } }

Direkomendasikan: