Unduh PDF Unduh PDF

Apakah Anda ingin mempelajari cara membuat robot Anda sendiri? Ada banyak jenis robot yang berbeda, yang dapat Anda buat sendiri. Kebanyakan orang ingin melihat robot melakukan pekerjaan mudah yaitu bergerak dari titik A ke B. Anda dapat membuat robot sepenuhnya dari komponen-komponen analog atau membeli starter kit . Membuat robot Anda sendiri adalah cara yang bagus untuk belajar elektronika dan program komputer.

Bagian 1
Bagian 1 dari 5:

Menyusun Robot

Unduh PDF
  1. Untuk membuat robot dasar, Anda membutuhkan beberapa komponen sederhana. Anda dapat menemukan kebanyakan atau semua komponen ini di toko hobi elektronik lokal, atau di beberapa pengecer daring ( online ). Beberapa kit mencakup semua komponen ini. Robot ini tidak membutuhkan penyolderan apa pun:
    • Arduino Uno (atau microcontroller lain)
    • 2 servo 360 derajat
    • 2 roda yang sesuai dengan servo
    • 1 roda bebas
    • 1 papan penguji ( breadboard atau project board ) yang belum disolder (carilah papan penguji yang memiliki dua baris positif dan negatif di setiap sisinya)
    • 1 sensor jarak (dengan kabel konektor empat pin)
    • 1 sakelar tombol tekan
    • 1 resistor 10kΩ
    • 1 kabel USB A ke B
    • 1 set header yang dapat dipatahkan
    • 1 6 x AA dudukan baterai dengan soket daya 9V DC
    • 1 pak kabel jumper atau kabel tunggal ukuran 22
    • Isolasi bolak-balik ( double tape ) atau lem tembak
  2. Anda akan membangun badan robot menggunakan tempat baterai itu sebagai dasarnya.
  3. Ujung ini adalah ujung tempat kabel tempat baterai keluar. Servo sebaiknya menyentuh bagian bawah, dan mekanisme perputaran masing-masing servo sebaiknya menghadap keluar dari sisi-sisi tempat baterai. Penting agar servo-servo ini disusun dengan tepat sehingga rodanya lurus. Kabel-kabel untuk servo harus keluar dari bagian belakang tempat baterai.
  4. Pastikan bahwa servo menempel dengan kuat pada tempat baterai. Bagian belakang servo harus disusun sejajar dengan bagian belakang tempat baterai.
    • Sekarang, servo-servo seharusnya menghabiskan separuh ruangan di bagian belakang dari tempat baterai.
  5. Papan penguji ini akan menggantung sedikit di bagian depan tempat baterai, dan akan memanjang ke kedua sisi. Pastikan bahwa papan penguji sudah kencang sebelum melanjutkan. Baris “A” sebaiknya berada paling dekat dengan servo.
  6. Jika Anda menempelkan servo dengan benar, seharusnya ada bagian rata yang terbentuk dari kedua servo yang saling bersentuhan. Tempelkan papan Arduino ke tempat yang rata ini sehingga USB dan konektor daya Arduino menghadap ke bawah (menjauh dari papan penguji). Bagian depan Arduino akan bertindihan dengan papan penguji.
  7. Tekan dengan kuat roda-roda ke mekanisme servo yang berputar. Ini mungkin membutuhkan gaya yang cukup besar karena roda-roda didesain untuk memiliki lubang yang tepat sesuai dengan bentuk ujung servo.
  8. Jika Anda membalikkan badan robot, Anda akan melihat sedikit papan penguji yang menggantung dari tempat baterai. Pasanglah roda bebas pada bagian yang menggantung ini. Gunakan ganjal jika dibutuhkan. Roda bebas berfungsi sebagai roda depan yang memungkinkan robot untuk berbelok ke arah mana pun dengan mudah. [1]
    • Jika Anda membeli kit, roda bebasnya mungkin memiliki beberapa ganjal yang dapat Anda gunakan untuk memastikan agar roda bebas menyentuh tanah.
    Iklan
Bagian 2
Bagian 2 dari 5:

Memasang Kabel Robot

Unduh PDF
  1. Anda akan menggunakan ini untuk menghubungkan servo ke papan penguji. Doronglah pin ke bawah melalui header , sehingga pin akan keluar dengan jarak yang sama pada kedua sisi.
  2. Pastikan keduanya dimasukkan dengan kokoh atau kuat.
  3. Ini akan menghubungkan servo dengan papan penguji. Pastikan servo kiri terhubung dengan header kiri, dan servo kanan terhubung dengan header kanan.
  4. Pastikan Anda menggunakan rail merah di bagian belakang papan penguji (lebih dekat ke badan robot yang lain).
  5. Pastikan Anda menggunakan rail biru di bagian belakang papan penguji. Jangan memasang kabel ke pin rail merah.
  6. Ini akan memungkinkan Arduino mengendalikan servo dan memutar roda.
  7. Sensor tidak dipasang ke rail daya luar pada papan penguji, tetapi pada dua baris pin berhuruf pertama (J). Pastikan Anda menempatkannya tepat di tengah dengan jumlah pin yang kosong sama banyak di setiap sisinya.
  8. Ini akan meng-ground-kan sensor.
  9. Ini akan memberikan daya untuk sensor.
  10. Ini akan memberikan informasi dari sensor ke microcontroller .
    Iklan
Bagian 3
Bagian 3 dari 5:

Memasang Kabel Daya

Unduh PDF
  1. Susunlah tempat baterai sehingga kabelnya keluar melalui bagian kiri bawah.
  2. Pastikan bahwa tempat baterai tersusun dengan benar atau menghadap ke arah yang benar.
  3. Kedua kabel ini akan membantu memberikan tegangan yang tepat ke Arduino.
  4. Kabel hitam harus dimasukkan ke pin rail biru pada pin 30. Kabel merah harus dimasukkan ke pin rail merah pada pin 30.
  5. Hubungkan kabel pada pin 28 di rail biru.
  6. Jangan menghubungkan rail merahnya karena Anda mungkin akan merusak Arduino.
  7. Ini akan memberikan daya ke Arduino.
  8. Sakelar ini akan memungkinkan Anda mematikan robot tanpa harus mematikan daya.
  9. Ini akan memberikan daya untuk tombolnya.
  10. Hubungkan ke pin secara langsung di sebelah kabel hitam yang baru saja Anda hubungkan pada beberapa langkah sebelumnya.
  11. Ini akan memungkinkan Arduino mendeteksi tombol tekan.
    Iklan
Bagian 4
Bagian 4 dari 5:

Memasang Perangkat Lunak Arduino

Unduh PDF
  1. Ini adalah tempat pengembangan Arduino dan memungkinkan Anda untuk memprogram instruksi yang kemudian dapat Anda unggah ke microcontroller Arduino Anda. Anda dapat mengunduhnya dengan gratis dari arduino.cc/en/main/software . Unzip berkas yang telah diunduh dengan mengeklik dua kali pada berkas dan pindahkan folder yang ada di dalamnya ke lokasi yang mudah untuk diakses. Anda tidak akan benar-benar memasang program itu, melainkan Anda hanya akan menjalankannya dari folder yang telah diekstrak dengan mengeklik dua kali pada arduino.exe .
  2. Masukkan soket belakang baterai ke konektor pada Arduino untuk memberinya daya.
  3. Kemungkinan, Windows tidak akan mengenali perangkat.
  4. ⊞ Win + R dan ketik devmgmt.msc . Perintah ini akan membuka Device Manager .
  5. Jika Anda tidak melihat pilihan ini, klik Properties , pilih tab Driver , dan kemudian klik Update Driver .
  6. Ini akan memungkinkan Anda untuk memilih driver bawaan yang menyertai Arduino IDE.
  7. Anda akan menemukan folder drivers di dalamnya.
  8. Konfirmasikan bahwa Anda ingin melanjutkan jika Anda diperingatkan tentang perangkat lunak yang tidak diketahui.
    Iklan
Bagian 5
Bagian 5 dari 5:

Memprogram Robot

Unduh PDF
  1. Anda akan disambut dengan proyek kosong.
  2. Kode di bawah ini akan membuat Arduino Anda terus maju.
     #include 
     <Servo.h> // ini menambahkan perpustakaan “Servo” ke program 
      
     // perintah berikut menciptakan dua objek servo 
     Servo 
     leftMotor 
     ; 
     Servo 
     rightMotor 
     ; 
     void 
     setup 
     () 
     { 
     leftMotor 
     . 
     attach 
     ( 
     12 
     ); 
     // jika Anda tidak sengaja menukar angka pin untuk servo Anda, Anda dapat menukar angka-angkanya di sini 
     rightMotor 
     . 
     attach 
     ( 
     13 
     ); 
     } 
     void 
     loop 
     () 
     { 
     leftMotor 
     . 
     write 
     ( 
     180 
     ); 
     // dengan rotasi 360 derajat (rotasi terus-menerus), angka 180 menginstruksikan servo untuk bergerak “maju” dengan kecepatan penuh. 
     rightMotor 
     . 
     write 
     ( 
     0 
     ); 
     // jika nilai keduanya adalah 180, robot akan berputar membentuk lingkaran karena servonya terbalik. “0” memberi tahu robot untuk bergerak “mundur” dengan kecepatan penuh. 
     } 
    
  3. Klik tombol panah kanan di pojok kiri atas untuk membuat dan mengunggah program ke Arduino yang sudah terhubung.
    • Anda mungkin ingin mengangkat robot dari permukaan karena robot akan terus berjalan maju setelah program diunggah.
  4. Tambahkan kode berikut ke bagian "void loop()" pada kode Anda untuk menambahkan fungsi sakelar stop di atas fungsi "write()" .
     if 
     ( 
     digitalRead 
     ( 
     2 
     ) 
     == 
     HIGH 
     ) 
     // perintah ini berjalan saat tombol ditekan pada pin 2 Arduino 
     { 
     while 
     ( 
     1 
     ) 
     { 
     leftMotor 
     . 
     write 
     ( 
     90 
     ); 
     // "90" adalah posisi netral untuk servo, yang memberi tahu servo agar berhenti membelok 
     rightMotor 
     . 
     write 
     ( 
     90 
     ); 
     } 
     } 
    
  5. Dengan kode sakelar stop yang sudah ditambahkan, Anda dapat mengunggah kode dan menguji robot. Robot seharusnya terus maju hingga Anda menekan tombol sakelar stop yang akan menyebabkan robot berhenti. Kode lengkapnya akan terlihat seperti ini:
     #include 
     <Servo.h> 
      
     // perintah berikut menciptakan dua objek servo 
     Servo 
     leftMotor 
     ; 
     Servo 
     rightMotor 
     ; 
     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 
     ); 
     } 
    
    Iklan

Contoh

Kode berikut akan menggunakan sensor yang dipasang pada robot untuk membuatnya berbelok ke kiri setiap kali robot menemui halangan. Lihatlah komentar-komentar dalam kode untuk detail kegunaan masing-masing bagian. Kode di bawah ini adalah program keseluruhannya. [2]

 #include 
 <Servo.h> 
  
 Servo 
 leftMotor 
 ; 
 Servo 
 rightMotor 
 ; 
 const 
 int 
 serialPeriod 
 = 
 250 
 ; 
 // kode ini memberikan jeda waktu keluaran konsol menjadi setiap 1/4 detik (250 ms) 
 unsigned 
 long 
 timeSerialDelay 
 = 
 0 
 ; 
 const 
 int 
 loopPeriod 
 = 
 20 
 ; 
 // kode ini mengatur frekuensi pembacaan sensor menjadi 20 ms, yang merupakan frekuensi 50 Hz 
 unsigned 
 long 
 timeLoopDelay 
 = 
 0 
 ; 
 // kode ini memberikan fungsi TRIG dan ECHO ke pin-pin pada Arduino. Sesuaikan angka-angka di sini jika Anda menghubungkannya dengan cara yang berbeda 
 const 
 int 
 ultrasonic2TrigPin 
 = 
 8 
 ; 
 const 
 int 
 ultrasonic2EchoPin 
 = 
 9 
 ; 
 int 
 ultrasonic2Distance 
 ; 
 int 
 ultrasonic2Duration 
 ; 
 // kode ini mendefinisikan dua keadaan robot yang mungkin: terus maju atau berbelok ke kiri 
 #define DRIVE_FORWARD     0 
 #define TURN_LEFT         1 
 int 
 state 
 = 
 DRIVE_FORWARD 
 ; 
 // 0 = terus maju (<i>DEFAULT</i>), 1 = belok kiri 
 void 
 setup 
 () 
 { 
 Serial 
 . 
 begin 
 ( 
 9600 
 ); 
 // sensor ini menentukan konfigurasi pin 
 pinMode 
 ( 
 ultrasonic2TrigPin 
 , 
 OUTPUT 
 ); 
 pinMode 
 ( 
 ultrasonic2EchoPin 
 , 
 INPUT 
 ); 
 // ini menugaskan motor ke pin-pin Arduino 
 leftMotor 
 . 
 attach 
 ( 
 12 
 ); 
 rightMotor 
 . 
 attach 
 ( 
 13 
 ); 
 } 
 void 
 loop 
 () 
 { 
 if 
 ( 
 digitalRead 
 ( 
 2 
 ) 
 == 
 HIGH 
 ) 
 // kode ini mendeteksi sakelar ''stop'' 
 { 
 while 
 ( 
 1 
 ) 
 { 
 leftMotor 
 . 
 write 
 ( 
 90 
 ); 
 rightMotor 
 . 
 write 
 ( 
 90 
 ); 
 } 
 } 
 debugOutput 
 (); 
 // kode ini mencetak pesan-pesan <i>debug</i> ke konsol serial 
 if 
 ( 
 millis 
 () 
 - 
 timeLoopDelay 
 >= 
 loopPeriod 
 ) 
 { 
 readUltrasonicSensors 
 (); 
 // kode ini memerintahkan sensor untuk membaca dan menyimpan data tentang jarak yang diukur 
 stateMachine 
 (); 
 timeLoopDelay 
 = 
 millis 
 (); 
 } 
 } 
 void 
 stateMachine 
 () 
 { 
 if 
 ( 
 state 
 == 
 DRIVE_FORWARD 
 ) 
 // jika tidak ada halangan yang terdeteksi 
 { 
 if 
 ( 
 ultrasonic2Distance 
 > 
 6 
 || 
 ultrasonic2Distance 
 < 
 0 
 ) 
 // jika tidak ada sesuatu di depan robot. <i>ultrasonicDistance</i> akan bernilai negatif untuk beberapa <i>ultrasonics</i> jika tidak ada halangan 
 { 
 // drive forward 
 rightMotor 
 . 
 write 
 ( 
 180 
 ); 
 leftMotor 
 . 
 write 
 ( 
 0 
 ); 
 } 
 else 
 //  jika ada benda di depan kita 
 { 
 state 
 = 
 TURN_LEFT 
 ; 
 } 
 } 
 else 
 if 
 ( 
 state 
 == 
 TURN_LEFT 
 ) 
 // jika halangan terdeteksi, belok kiri 
 { 
 unsigned 
 long 
 timeToTurnLeft 
 = 
 500 
 ; 
 // membutuhkan sekitar 0,5 detik untuk belok 90 derajat. Anda mungkin perlu menyesuaikan nilai ini jika roda-roda Anda berbeda ukuran dengan ukuran pada contoh 
 unsigned 
 long 
 turnStartTime 
 = 
 millis 
 (); 
 // menyimpan kondisi saat robot mulai belok 
 while 
 (( 
 millis 
 () 
 - 
 turnStartTime 
 ) 
 < 
 timeToTurnLeft 
 ) 
 // tetap menjalankan siklus ini hingga <i>timeToTurnLeft</i> (500) sudah berlalu 
 { 
 // belok kiri, ingatlah bahwa saat keduanya bernilai “180”, robot akan berbelok. 
 rightMotor 
 . 
 write 
 ( 
 180 
 ); 
 leftMotor 
 . 
 write 
 ( 
 180 
 ); 
 } 
 state 
 = 
 DRIVE_FORWARD 
 ; 
 } 
 } 
 void 
 readUltrasonicSensors 
 () 
 { 
 // ini untuk <i>ultrasonic</i> 2. Anda mungkin perlu mengubah perintah ini jika Anda menggunakan sensor yang berbeda. 
 digitalWrite 
 ( 
 ultrasonic2TrigPin 
 , 
 HIGH 
 ); 
 delayMicroseconds 
 ( 
 10 
 ); 
 // tarik pin TRIG ke tinggi setidaknya selama 10 mikrodetik 
 digitalWrite 
 ( 
 ultrasonic2TrigPin 
 , 
 LOW 
 ); 
 ultrasonic2Duration 
 = 
 pulseIn 
 ( 
 ultrasonic2EchoPin 
 , 
 HIGH 
 ); 
 ultrasonic2Distance 
 = 
 ( 
 ultrasonic2Duration 
 / 
 2 
 ) 
 / 
 29 
 ; 
 } 
 // berikut adalah untuk galat <i>debug</i> dalam konsol. 
 void 
 debugOutput 
 () 
 { 
 if 
 (( 
 millis 
 () 
 - 
 timeSerialDelay 
 ) 
 > 
 serialPeriod 
 ) 
 { 
 Serial 
 . 
 print 
 ( 
 "ultrasonic2Distance: " 
 ); 
 Serial 
 . 
 print 
 ( 
 ultrasonic2Distance 
 ); 
 Serial 
 . 
 print 
 ( 
 "cm" 
 ); 
 Serial 
 . 
 println 
 (); 
 timeSerialDelay 
 = 
 millis 
 (); 
 } 
 } 

Tentang wikiHow ini

Halaman ini telah diakses sebanyak 90.940 kali.

Apakah artikel ini membantu Anda?

Iklan