Cara Membina Robot di Rumah (dengan Gambar)

Isi kandungan:

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

Video: Cara Membina Robot di Rumah (dengan Gambar)

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

Adakah anda ingin belajar membina robot anda sendiri? Terdapat banyak jenis robot yang boleh anda buat sendiri. Sebilangan besar orang ingin melihat robot melakukan tugas mudah bergerak dari titik A ke titik B. Anda boleh membuat robot sepenuhnya dari komponen analog atau membeli alat pemula dari awal! Membina robot anda sendiri adalah kaedah terbaik untuk mengajar diri anda sendiri elektronik dan juga pengaturcaraan komputer.

Langkah-langkah

Bahagian 1 dari 6: Memasang Robot

1123333 1
1123333 1

Langkah 1. Kumpulkan komponen anda

Untuk membina robot asas, anda memerlukan beberapa komponen mudah. Anda boleh menemui sebahagian besar, jika tidak semua, komponen ini di kedai hobi elektronik tempatan anda, atau beberapa peruncit dalam talian. Beberapa kit asas mungkin merangkumi semua komponen ini juga. Robot ini tidak memerlukan pematerian:

  • Arduino Uno (atau pengawal mikro lain)
  • 2 servo putaran berterusan
  • 2 roda yang sesuai dengan servo
  • 1 roller kastor
  • 1 papan roti solderless kecil (cari papan roti yang mempunyai dua garis positif dan negatif di setiap sisi)
  • Sensor jarak 1 (dengan kabel penyambung empat pin)
  • 1 suis butang tekan mini
  • 1 perintang 10kΩ
  • 1 kabel USB A hingga B
  • 1 set tajuk pengasingan
  • 1 pemegang bateri 6 x AA dengan soket kuasa 9V DC
  • 1 pek jumper wayar atau 22-gauge hook-up wire
  • Pita dua sisi yang kuat atau gam panas
1123333 2
1123333 2

Langkah 2. Balikkan pek bateri sehingga punggung rata menghadap ke atas

Anda akan membina badan robot menggunakan pek bateri sebagai asas.

1123333 3
1123333 3

Langkah 3. Sejajarkan dua servo di hujung pek bateri

Ini semestinya hujung wayar bateri keluar dari servos harus menyentuh bagian bawah, dan mekanisme berputar masing-masing harus menghadap ke luar sisi bateri. Servo mesti diselaraskan dengan betul supaya roda lurus. Kabel untuk servo mesti keluar dari bahagian belakang pek bateri.

1123333 4
1123333 4

Langkah 4. Lekatkan servo dengan pita atau gam anda

Pastikan ia terpasang dengan kuat pada pek bateri. Bahagian belakang servo harus sejajar dengan bahagian belakang pek bateri.

Servo kini harus menggunakan separuh bateri belakang

1123333 5
1123333 5

Langkah 5. Lekatkan papan roti tegak lurus di ruang terbuka pada pek bateri

Ia harus digantung di bahagian depan pek bateri sedikit dan akan melampaui setiap sisi. Pastikan ia diikat dengan selamat sebelum meneruskan. Baris "A" harus paling dekat dengan servo.

1123333 6
1123333 6

Langkah 6. Pasang mikrokontroler Arduino ke bahagian atas servos

Sekiranya anda memasang servo dengan betul, harus ada ruang rata yang dibuat oleh mereka untuk menyentuh. Pasang papan Arduino ke ruang rata ini sehingga penyambung Arduino USB dan Power menghadap ke belakang (jauh dari papan roti). Bahagian depan Arduino hampir tidak bertindih di atas papan roti.

1123333 7
1123333 7

Langkah 7. Letakkan roda di servo

Tekan roda dengan kuat ke mekanisme putaran servo. Ini mungkin memerlukan kekuatan yang besar, kerana roda dirancang agar sepasang mungkin untuk daya tarikan terbaik.

1123333 8
1123333 8

Langkah 8. Pasangkan kastor ke bahagian bawah papan roti

Sekiranya anda membalikkan casisnya, anda akan melihat sedikit papan roti melampaui pek bateri. Pasang kastor ke bahagian yang diperluas ini, gunakan riser jika perlu. Kastor bertindak sebagai roda depan, membolehkan robot berpusing ke arah mana pun dengan mudah.

Sekiranya anda membeli kit, kastor mungkin disertakan dengan beberapa riser yang boleh anda gunakan untuk memastikan kastor sampai ke tanah. i

Bahagian 2 dari 6: Pendawaian Robot

1123333 9
1123333 9

Langkah 1. Putuskan dua tajuk 3-pin

Anda akan menggunakan ini untuk menyambungkan servo ke papan roti. Tolak pin ke bawah melalui pengepala sehingga pin keluar pada jarak yang sama di kedua sisi.

1123333 10
1123333 10

Langkah 2. Masukkan dua tajuk ke dalam pin 1-3 dan 6-8 pada baris E papan roti

Pastikan ia dimasukkan dengan kuat.

1123333 11
1123333 11

Langkah 3. Sambungkan kabel servo ke tajuk, dengan kabel hitam di sebelah kiri (pin 1 dan 6)

Ini akan menghubungkan servos ke papan roti. Pastikan servo kiri disambungkan ke header kiri dan servo kanan ke header kanan.

1123333 12
1123333 12

Langkah 4. Sambungkan wayar pelompat merah dari pin C2 dan C7 ke pin rel merah (positif)

Pastikan anda menggunakan rel merah di bahagian belakang papan roti (lebih dekat dengan casis yang lain).

1123333 13
1123333 13

Langkah 5. Sambungkan wayar pelompat hitam dari pin B1 dan B6 ke pin rel biru (tanah)

Pastikan bahawa anda menggunakan rel biru di bahagian belakang papan roti. Jangan pasangkannya ke pin rel merah.

1123333 14
1123333 14

Langkah 6. Sambungkan wayar pelompat putih dari pin 12 dan 13 di Arduino ke A3 dan A8

Ini akan membolehkan Arduino mengawal servos dan memutar roda.

1123333 15
1123333 15

Langkah 7. Pasang sensor ke bahagian depan papan roti

Ia tidak disambungkan ke rel kuasa luar di papan roti, melainkan pada baris pertama pin huruf (J). Pastikan anda meletakkannya di tengah yang tepat, dengan jumlah pin yang sama tersedia di setiap sisi.

1123333 16
1123333 16

Langkah 8. Sambungkan wayar pelompat hitam dari pin I14 ke pin rel biru pertama yang tersedia di sebelah kiri sensor

Ini akan menggerakkan sensor.

1123333 17
1123333 17

Langkah 9. Sambungkan wayar pelompat merah dari pin I17 ke pin rel merah pertama yang tersedia di sebelah kanan sensor

Ini akan menghidupkan sensor.

1123333 18
1123333 18

Langkah 10. Sambungkan wayar pelompat putih dari pin I15 hingga pin 9 di Arduino, dan dari I16 hingga pin 8

Ini akan memberi maklumat dari sensor ke mikrokontroler.

Bahagian 3 dari 6: Pendawaian Kuasa

1123333 19
1123333 19

Langkah 1. Balikkan robot di sisinya sehingga anda dapat melihat bateri di dalam pek

Luruskan sehingga kabel pek bateri keluar ke kiri di bahagian bawah.

1123333 20
1123333 20

Langkah 2. Sambungkan wayar merah ke pegas kedua dari kiri di bahagian bawah

Pastikan bahawa pek bateri berorientasikan dengan betul.

1123333 21
1123333 21

Langkah 3. Sambungkan wayar hitam ke musim bunga terakhir di kanan bawah

Kedua-dua kabel ini akan membantu memberikan voltan yang betul ke Arduino.

1123333 22
1123333 22

Langkah 4. Sambungkan wayar merah dan hitam ke pin merah dan biru paling kanan di bahagian belakang papan roti

Kabel hitam harus dipasang ke pin rel biru pada pin 30. Kabel merah harus dipasang ke pin rel merah pada pin 30.

1123333 23
1123333 23

Langkah 5. Sambungkan wayar hitam dari pin GND di Arduino ke rel biru belakang

Sambungkannya pada pin 28 di rel biru.

1123333 24
1123333 24

Langkah 6. Sambungkan wayar hitam dari rel biru belakang ke rel biru depan pada pin 29 untuk masing-masing

Jangan sambungkan rel merah, kerana kemungkinan anda akan merosakkan Arduino.

1123333 25
1123333 25

Langkah 7. Sambungkan wayar merah dari rel merah depan pada pin 30 ke pin 5V di Arduino

Ini akan memberi kekuatan kepada Arduino.

1123333 26
1123333 26

Langkah 8. Masukkan suis butang tekan di jurang antara baris pada pin 24-26

Suis ini akan membolehkan anda mematikan robot tanpa perlu mencabut kuasa.

1123333 27
1123333 27

Langkah 9. Sambungkan wayar merah dari H24 ke rel merah di pin yang tersedia seterusnya di sebelah kanan sensor

Ini akan menghidupkan butang.

1123333 28
1123333 28

Langkah 10. Gunakan perintang untuk menyambungkan H26 ke rel biru

Sambungkannya ke pin tepat di sebelah wayar hitam yang anda sambungkan beberapa langkah yang lalu.

1123333 29
1123333 29

Langkah 11. Sambungkan wayar putih dari G26 ke pin 2 di Arduino

Ini akan membolehkan Arduino mendaftarkan butang tekan.

Bahagian 4 dari 6: Memasang Perisian Arduino

1123333 30
1123333 30

Langkah 1. Muat turun dan ekstrak Arduino IDE

Ini adalah persekitaran pengembangan Arduino dan membolehkan anda memprogram arahan yang kemudian anda boleh muat naik ke mikrokontroler Arduino anda. Anda boleh memuat turunnya secara percuma dari arduino.cc/en/main/software. Buka zip fail yang dimuat turun dengan mengklik dua kali dan pindahkan folder ke dalam ke lokasi yang mudah diakses. Anda sebenarnya tidak akan memasang program. Sebaliknya, anda hanya akan menjalankannya dari folder yang diekstrak dengan mengklik dua kali arduino.exe.

1123333 31
1123333 31

Langkah 2. Sambungkan pek bateri ke Arduino

Pasang bicu belakang bateri ke penyambung di Arduino untuk memberikannya kuasa.

1123333 32
1123333 32

Langkah 3. Pasangkan Arduino ke komputer anda melalui USB

Windows kemungkinan tidak akan mengenali peranti tersebut.

1123333 33
1123333 33

Langkah 4. Tekan

⊞ Menang + R dan taip devmgmt.msc.

Ini akan melancarkan Pengurus Peranti.

1123333 34
1123333 34

Langkah 5. Klik kanan pada "Peranti tidak diketahui" di bahagian "Peranti lain" dan pilih "Kemas kini Perisian Pemacu

" Sekiranya anda tidak melihat pilihan ini, klik "Properties" sebagai gantinya, pilih tab "Driver", dan kemudian klik "Update Driver."

1123333 35
1123333 35

Langkah 6. Pilih "Browse komputer saya untuk perisian pemacu

" Ini akan membolehkan anda memilih pemacu yang disertakan dengan Arduino IDE.

1123333 36
1123333 36

Langkah 7. Klik "Browse" kemudian arahkan ke folder yang anda ekstrak sebelumnya

Anda akan menemui folder "pemacu" di dalamnya.

1123333 37
1123333 37

Langkah 8. Pilih folder "pemacu" dan klik "OK

" Sahkan bahawa anda ingin meneruskan sekiranya anda diberi amaran mengenai perisian yang tidak diketahui.

Bahagian 5 dari 6: Memprogram Robot

1123333 38
1123333 38

Langkah 1. Mulakan Arduino IDE dengan mengklik dua kali fail arduino.exe dalam folder IDE

Anda akan disambut dengan projek kosong.

1123333 39
1123333 39

Langkah 2. Tampal kod berikut untuk membuat robot anda lurus

Kod di bawah ini akan menjadikan Arduino anda terus maju.

#include // ini menambah perpustakaan "Servo" ke program // berikut mewujudkan dua objek servo Servo leftMotor; Servo kananMotor; batal persediaan () {leftMotor.attach (12); // jika anda menukar nombor pin untuk servos anda secara tidak sengaja, anda boleh menukar nombor di sini dengan betulMotor.attach (13); } gelung kosong () {leftMotor.write (180); // dengan putaran berterusan, 180 memberitahu servo untuk bergerak dengan kelajuan penuh "maju". betulMotor. tulis (0); // jika kedua-duanya berada pada suhu 180, robot akan berpusing kerana servo dibalik. "0," memberitahu untuk menggerakkan kelajuan penuh "ke belakang." }

1123333 40
1123333 40

Langkah 3. Bina dan muat naik program

Klik butang anak panah kanan di sudut kiri atas untuk membina dan memuat naik program ke Arduino yang bersambung.

Anda mungkin ingin mengangkat robot dari permukaan, kerana ia akan terus bergerak maju setelah program dimuat naik

1123333 41
1123333 41

Langkah 4. Tambahkan fungsi kill kill

Tambahkan kod berikut ke bahagian "loop void ()" pada kod anda untuk mengaktifkan suis kill, di atas fungsi "tulis ()".

jika (digitalRead (2) == TINGGI) // ini mendaftar apabila butang ditekan pada pin 2 Arduino {sambil (1) {leftMotor.write (90); // "90" adalah kedudukan neutral untuk servos, yang memberitahu mereka untuk berhenti membelok ke kananMotor.write (90); }}

1123333 42
1123333 42

Langkah 5. Muat naik dan uji kod anda

Dengan kod suis kill ditambahkan, anda boleh memuat naik dan menguji robot. Ia harus terus bergerak ke depan sehingga anda menekan suis, pada ketika itu ia akan berhenti bergerak. Kod penuh akan kelihatan seperti ini:

#include // berikut membuat dua objek servo Servo leftMotor; Servo kananMotor; batal persediaan () {leftMotor.attach (12); rightMotor.attach (13); } gelung void () {if (digitalRead (2) == TINGGI) {sambil (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

Bahagian 6 dari 6: Contoh

Langkah 1. Ikuti contoh

Kod berikut akan menggunakan sensor yang dilekatkan pada robot untuk membuatnya berpusing ke kiri setiap kali menghadapi halangan. Lihat komen dalam kod untuk perincian mengenai apa yang dilakukan oleh setiap bahagian. Kod di bawah adalah keseluruhan program.

#masuk Servo leftMotor; Servo kananMotor; const int serialPeriod = 250; // ini menghadkan output ke konsol hingga setiap 1/4 saat tidak ditandatangani lamaSerialDelay = 0; const int loopPeriod = 20; // ini menetapkan seberapa kerap sensor mengambil bacaan hingga 20ms, iaitu frekuensi 50Hz lama tidak ditandatanganiLoopDelay = 0; // ini memberikan fungsi TRIG dan ECHO ke pin di Arduino. Lakukan penyesuaian pada nombor di sini jika anda tersambung secara berbeza const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonik2Distance; int ultrasonik2Duration; // ini menentukan dua keadaan yang mungkin untuk robot: memandu ke hadapan atau membelok ke kiri #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = memandu ke hadapan (DEFAULT), 1 = pusing kiri kosong persediaan () {Serial.begin (9600); // konfigurasi pin sensor ini pinMode (ultrasonik2TrigPin, OUTPUT); pinMode (ultrasonik2EchoPin, INPUT); // ini memberikan motor ke pin Arduino leftMotor.attach (12); rightMotor.attach (13); } gelung void () {if (digitalRead (2) == TINGGI) // ini mengesan suis kill {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // ini mencetak mesej debug ke konsol bersiri jika (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // ini memerintahkan sensor untuk membaca dan menyimpan keadaan jarak yang diukur stateMachine (); timeLoopDelay = milis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // jika tidak ada halangan yang dikesan {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // jika tidak ada apa-apa di hadapan robot. ultrasonik Jarak akan menjadi negatif bagi sesetengah ultrasonik jika tidak ada halangan {// drive rightMotor.write (180); leftMotor.write (0); } lain // jika ada objek di hadapan kita {state = TURN_LEFT; }} lain jika (state == TURN_LEFT) // jika halangan dikesan, pusing kiri {unsigned long timeToTurnLeft = 500; // diperlukan sekitar 5 saat untuk bertukar 90 darjah. Anda mungkin perlu menyesuaikannya jika roda anda berukuran berbeza daripada contoh putaran panjang yang tidak ditandatanganiStartTime = millis (); // jimat masa kita mula berpusing sementara ((milis () - turnStartTime) <timeToTurnLeft) // tetap dalam gelung ini sehingga timeToTurnLeft berlalu {// belok kiri, ingat bahawa apabila kedua-duanya diatur ke "180" ia akan berubah. rightMotor.write (180); leftMotor.write (180); } nyatakan = DRIVE_FORWARD; }} batal readUltrasonicSensors () {// ini untuk ultrasonik 2. Anda mungkin perlu mengubah arahan ini jika anda menggunakan sensor yang berbeza. digitalWrite (ultrasonik2TrigPin, TINGGI); kelewatanMikrodetik (10); // memastikan pin trig tetap tinggi sekurang-kurangnya 10 mikrodetik digitalWrite (ultrasonik2TrigPin, RENDAH); ultrasonic2Duration = pulseIn (ultrasonic2EchoPin, TINGGI); ultrasonic2Distance = (ultrasonic2Duration / 2) / 29; } // berikut adalah untuk kesalahan debug pada konsol. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonik2Distance); Serial.print ("cm"); Bersiri.println (); timeSerialDelay = milis (); }}

Disyorkan: