Cara Membuat Robot di Rumah (dengan Gambar)

Isi kandungan:

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: cara custom gambar map/peta di Minecraft - (Minecraft windows 10 only) 2024, November
Anonim

Adakah anda ingin belajar membuat robot anda sendiri? Terdapat banyak jenis robot, yang boleh anda buat sendiri. Sebilangan besar orang ingin melihat robot melakukan kerja mudah dari titik A ke B. Anda boleh membina robot sepenuhnya dari komponen analog atau membeli starter kit. Membuat robot anda sendiri adalah kaedah terbaik untuk belajar elektronik dan pengaturcaraan komputer.

Langkah

Bahagian 1 dari 5: Memasang Robot

1123333 1
1123333 1

Langkah 1. Pasang komponen anda

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

  • Arduino Uno (atau pengawal mikro lain)
  • 2 servo 360 darjah
  • 2 roda sepadan dengan servo
  • 1 roda percuma
  • 1 papan ujian (papan roti atau papan projek) yang belum disolder (cari papan ujian yang mempunyai dua baris positif dan negatif di setiap sisi)
  • 1 sensor jarak (dengan kabel penyambung empat pin)
  • 1 suis butang tekan
  • 1 perintang 10kΩ
  • 1 kabel USB A hingga B
  • 1 set tajuk yang boleh dilanggar
  • 1 pemegang bateri 6 x AA dengan soket kuasa 9V DC
  • 1 pek kabel jumper 22 atau kabel tunggal
  • Penebat bolak-balik (double tape) atau gam gun
1123333 2
1123333 2

Langkah 2. Putar ruang bateri sehingga punggungnya yang rata menghadap ke atas

Anda akan membina badan robot menggunakan ruang bateri sebagai pangkalan.

1123333 3
1123333 3

Langkah 3. Susun dua servo menghadap ke arah yang sama di hujung tempat bateri

Hujung ini adalah hujung di mana kabel keluar dari bateri. Servo harus menyentuh bahagian bawah, dan mekanisme putaran setiap servo harus menghadap ke luar dari sisi ruang bateri. Penting agar servo ini disusun dengan betul supaya roda lurus. Kabel untuk servo mesti keluar dari bahagian belakang ruang bateri.

1123333 4
1123333 4

Langkah 4. Lekatkan servo dengan penebat atau gam anda

Pastikan servo dipasang dengan kuat ke ruang bateri. Bahagian belakang servo mesti sejajar dengan bahagian belakang ruang bateri.

Sekarang, servo harus mengambil separuh ruang di bahagian belakang ruang bateri

1123333 5
1123333 5

Langkah 5. Lekatkan papan ujian tegak lurus dengan ruang yang tinggal di ruang bateri

Papan ujian ini akan digantung sedikit di bahagian depan ruang bateri, dan akan memanjang ke kedua-dua sisi. Pastikan papan ujian ketat sebelum meneruskan. Baris "A" harus paling dekat dengan servo.

1123333 6
1123333 6

Langkah 6. Pasang mikrokontroler Arduino ke bahagian atas servo

Sekiranya anda memasang servo dengan betul, mesti ada bahagian rata dari dua servo yang saling bersentuhan. Pasang papan Arduino ke tempat rata ini sehingga penyambung kuasa USB dan Arduino menghadap ke bawah (jauh dari papan ujian). Bahagian depan Arduino akan bertindih dengan papan ujian.

1123333 7
1123333 7

Langkah 7. Pasang roda pada servo

Tekan roda dengan kuat ke mekanisme servo berputar. Ini mungkin memerlukan kekuatan yang besar kerana roda dirancang untuk mempunyai lubang yang sama persis dengan bentuk ujung servo.

1123333 8
1123333 8

Langkah 8. Pasang roda bebas di bahagian bawah papan ujian

Sekiranya anda membalikkan robot, anda akan melihat papan ujian kecil tergantung dari ruang bateri. Pasang roda bebas ke bahagian gantung ini. Gunakan baji jika diperlukan. Roda bebas berfungsi sebagai roda depan yang membolehkan robot berpusing ke arah mana pun dengan mudah.

Sekiranya anda membeli kit, roda bebas mungkin mempunyai beberapa baji yang boleh anda gunakan untuk memastikan roda bebas menyentuh tanah

Bahagian 2 dari 5: Pendawaian Robot

1123333 9
1123333 9

Langkah 1. Potong dua tajuk 3-pin

Anda akan menggunakannya untuk menyambungkan servo ke papan ujian. Tekan pin ke bawah melalui kepala, sehingga keduanya sama jarak di kedua sisi.

1123333 10
1123333 10

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

Pastikan ia dimasukkan dengan kuat atau kuat.

1123333 11
1123333 11

Langkah 3. Sambungkan wayar servo dengan header, dengan wayar hitam di sebelah kiri (pin 1 dan 6)

Ini akan menghubungkan servo dengan papan ujian. Pastikan servo kiri disambungkan ke header kiri, dan servo kanan disambungkan 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 ujian (lebih dekat dengan badan robot yang lain).

1123333 13
1123333 13

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

Pastikan anda menggunakan rel biru di bahagian belakang papan ujian. Jangan pasangkan kabel 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 servo dan memutar roda.

1123333 15
1123333 15

Langkah 7. Pasang sensor ke bahagian depan papan ujian

Sensor tidak dipasang ke rel kuasa luaran pada papan ujian, tetapi pada dua baris pin pertama yang ditulis dengan huruf (J). Pastikan anda meletakkannya tepat di tengah dengan sebilangan pin kosong di setiap sisi.

1123333 16
1123333 16

Langkah 8. Sambungkan wayar pelompat hitam dari pin I14 ke pin rel biru pertama 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 di sebelah kanan sensor

Ini akan memberi kuasa kepada 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 memberikan maklumat dari sensor ke mikrokontroler.

Bahagian 3 dari 5: Memasang Kabel Kuasa

1123333 19
1123333 19

Langkah 1. Balikkan robot sehingga anda dapat melihat ruang bateri di dalamnya

Susun ruang bateri sehingga kabel keluar melalui kiri bawah.

1123333 20
1123333 20

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

Pastikan ruang bateri sejajar dengan betul atau menghadap ke arah yang betul.

1123333 21
1123333 21

Langkah 3. Sambungkan wayar hitam dengan pegas terakhir di kanan bawah

Kedua-dua wayar ini akan membantu memberikan voltan yang tepat ke Arduino.

1123333 22
1123333 22

Langkah 4. Sambungkan wayar merah dan hitam ke pin merah dan biru yang berada di sebelah kanan di bahagian belakang papan ujian

Kawat hitam harus menuju ke pin rel biru pada pin 30. Kawat merah harus menuju ke pin rel merah pada pin 30.

1123333 23
1123333 23

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

Sambungkan wayar ke pin 28 pada rel biru.

1123333 24
1123333 24

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

Jangan sambungkan rel merah kerana anda boleh merosakkan Arduino.

1123333 25
1123333 25

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

Ini akan memberi kekuatan kepada Arduino.

1123333 26
1123333 26

Langkah 8. Masukkan suis tekan butang di ruang antara pin 24-26

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

1123333 27
1123333 27

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

Ini akan memberi kuasa pada butang.

1123333 28
1123333 28

Langkah 10. Gunakan perintang untuk menyambungkan H26 ke rel biru

Sambungkannya ke pin tepat di sebelah wayar hitam yang baru anda sambungkan pada langkah sebelumnya.

1123333 29
1123333 29

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

Ini akan membolehkan Arduino mengesan butang tekan.

Bahagian 4 dari 5: Memasang Perisian Arduino

1123333 30
1123333 30

Langkah 1. Muat turun dan ekstrak Arduino IDE

Di sinilah Arduino dikembangkan 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 pada fail dan memindahkan folder yang terdapat di dalamnya ke lokasi yang mudah diakses. Anda sebenarnya tidak akan memasang program, sebaliknya anda hanya akan menjalankannya dari folder yang diekstrak dengan mengklik dua kali pada arduino.exe.

1123333 31
1123333 31

Langkah 2. Sambungkan petak bateri ke Arduino

Masukkan soket belakang bateri ke dalam penyambung di Arduino untuk menghidupkannya.

1123333 32
1123333 32

Langkah 3. Masukkan Arduino ke dalam komputer anda melalui USB

Kemungkinannya, Windows tidak akan mengenali peranti tersebut.

1123333 33
1123333 33

Langkah 4. Tekan

Menang + R dan taip devmgmt.msc.

Perintah ini akan membuka Pengurus Peranti.

1123333 34
1123333 34

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

Sekiranya anda tidak melihat pilihan ini, klik Properties, 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 terbina dalam yang disertakan dengan Arduino IDE.

1123333 36
1123333 36

Langkah 7. Klik Browse, kemudian buka 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 5: Pengaturcaraan Robot

1123333 38
1123333 38

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

Anda akan disambut dengan projek kosong.

1123333 39
1123333 39

Langkah 2. Tampal atau tampal kod berikut untuk membuat robot anda maju

Kod di bawah ini akan memastikan Arduino anda tetap berjalan.

#include // ini menambah perpustakaan "Servo" ke program // perintah berikut membuat dua objek servo Servo leftMotor; Servo kananMotor; batal persediaan () {leftMotor.attach (12); // jika anda menukar nombor pin untuk servo anda secara tidak sengaja, anda boleh menukar nombor di sini dengan betulMotor.attach (13); } gelung kosong () {leftMotor.write (180); // dengan putaran 360 darjah (putaran berterusan), angka 180 memerintahkan servo untuk bergerak "maju" pada kelajuan penuh. rightMotor.write (0); // jika kedua-dua nilai 180, robot akan berputar dalam bulatan kerana servo terbalik. "0" memberitahu robot untuk bergerak "ke belakang" pada kelajuan penuh. }

1123333 40
1123333 40

Langkah 3. Buat dan muat naik program

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

Anda mungkin ingin mengangkat robot dari permukaan kerana robot akan terus berjalan ke hadapan setelah program dimuat naik

1123333 41
1123333 41

Langkah 4. Tambahkan fungsi suis berhenti (kill switch)

Tambahkan kod berikut ke bahagian "gelung void ()" pada kod anda untuk menambah fungsi suis berhenti di atas fungsi "tulis ()".

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

1123333 42
1123333 42

Langkah 5. Muat naik dan periksa kod anda

Dengan kod suis berhenti sudah ditambah, anda boleh memuat naik kod dan menguji robot. Robot harus terus maju ke hadapan sehingga anda menekan butang berhenti berhenti yang akan menyebabkan robot berhenti. Kod penuh akan kelihatan seperti ini:

#include // perintah berikut membuat dua objek servo leftMotor servo; 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); }

Contohnya

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

#masuk Servo leftMotor; Servo kananMotor; const int serialPeriod = 250; // kod ini memberikan kelewatan masa output konsol agar setiap 1/4 saat (250 ms) lama tidak ditandatanganiSerialDelay = 0; const int loopPeriod = 20; // kod ini menetapkan frekuensi bacaan sensor menjadi 20 ms, iaitu 50 Hz lama tidak ditandatanganiLoopDelay = 0; // kod ini memberikan fungsi TRIG dan ECHO ke pin di Arduino. Laraskan nombor di sini jika anda menghubungkannya dengan cara yang berbeza const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonik2Distance; int ultrasonik2Duration; // kod ini menentukan dua kemungkinan keadaan robot: teruskan ke hadapan atau belok kiri #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = teruskan ke hadapan (DEFAULT), 1 = pusing kiri kosong persediaan () {Serial.begin (9600); // sensor ini menentukan pin konfigurasi pinMode (ultrasonik2TrigPin, OUTPUT); pinMode (ultrasonik2EchoPin, INPUT); // ini memberikan motor ke pin Arduino leftMotor.attach (12); rightMotor.attach (13); } gelung void () {if (digitalRead (2) == TINGGI) // kod ini mengesan '' berhenti '' {sementara (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // kod ini mencetak mesej debug ke konsol bersiri jika (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // kod ini memerintahkan sensor untuk membaca dan menyimpan data mengenai keadaan jarak mesin yang diukur (); timeLoopDelay = milis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // jika tidak ada halangan yang dikesan {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // jika tidak ada yang berada di hadapan robot. ultrasonik Jarak akan menjadi negatif bagi sebilangan ultrasonik sekiranya tidak ada halangan {// maju kananMotor.write (180); leftMotor.write (0); } lain // jika ada objek di hadapan kita {state = TURN_LEFT; }} lain jika (state == TURN_LEFT) // jika ada halangan yang dikesan, pusing kiri {unsigned long timeToTurnLeft = 500; // mengambil masa kira-kira 0.5 saat untuk bertukar 90 darjah. Anda mungkin perlu menyesuaikan nilai ini jika roda anda berbeza dalam ukuran dari ukuran dalam contoh putaran panjang yang tidak ditandatanganiStartTime = millis (); // jaga keadaan ketika robot mula berpusing sementara ((milis () - turnStartTime) <timeToTurnLeft) // simpan kitaran ini sehingga timeToTurnLeft (500) berlalu {// belok kiri, ingatlah bahawa ketika keduanya adalah "180", robot akan berpusing. 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); // tarik pin TRIG 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: