Isi kandungan:

Cara Membuat Rintangan DIY Arduino Menghindari Robot di Rumah: 4 Langkah
Cara Membuat Rintangan DIY Arduino Menghindari Robot di Rumah: 4 Langkah

Video: Cara Membuat Rintangan DIY Arduino Menghindari Robot di Rumah: 4 Langkah

Video: Cara Membuat Rintangan DIY Arduino Menghindari Robot di Rumah: 4 Langkah
Video: Cara Membuat Robot Arduino Wall Avoider Mudah dan Murah.mp4 2024, Julai
Anonim
Image
Image

Helo Guys, Dalam Instructable ini, anda akan membuat rintangan mengelakkan robot. Instructable ini melibatkan pembinaan robot dengan sensor ultrasonik yang dapat mengesan objek berdekatan dan mengubah arahnya untuk mengelakkan objek tersebut. Sensor ultrasonik akan dipasang pada motor servo yang sentiasa mengimbas ke kiri dan ke kanan mencari objek yang menghalangnya.

Jadi, tanpa basa-basi lagi, Mari kita mulakan!

Langkah 1: Apa yang Anda Perlu dalam Projek ini:

Apa yang Anda Perlu dalam Projek ini
Apa yang Anda Perlu dalam Projek ini
Apa yang Anda Perlu dalam Projek ini
Apa yang Anda Perlu dalam Projek ini

Inilah Senarai Bahagian:

1) Arduino Uno

2) Perisai Pemandu Motor

3) Set Motor, Rangka dan roda gigi

4) Motor Servo

5) Sensor Ultrasonik

6) Bateri Li-ion (2x)

7) Pemegang Bateri

8) Wayar Jumper lelaki dan wanita

9) Besi Pematerian

10) Pengecas

Langkah 2: Rajah Litar

Rajah Litar
Rajah Litar

Bekerja:

Sebelum memulakan projek, penting untuk memahami bagaimana sensor ultrasonik berfungsi. Prinsip asas di sebalik penggunaan sensor ultrasonik adalah seperti berikut:

Dengan menggunakan isyarat pemicu luaran, pin Trig pada sensor ultrasonik dibuat logik tinggi sekurang-kurangnya 10µs. Satu letupan sonik dari modul pemancar dihantar. Ini terdiri daripada 8 denyutan 40KHz.

Isyarat kembali kembali setelah memukul permukaan dan penerima mengesan isyarat ini. Pin Echo tinggi dari saat menghantar isyarat dan menerimanya. Masa ini boleh ditukar menjadi jarak dengan menggunakan pengiraan yang sesuai.

Tujuan projek ini adalah untuk melaksanakan robot menghindari halangan menggunakan sensor ultrasonik dan Arduino. Semua sambungan dibuat mengikut rajah litar. Kerja projek dijelaskan di bawah.

Semasa robot dihidupkan, kedua-dua motor robot akan berjalan normal dan robot bergerak ke hadapan. Selama ini, sensor ultrasonik terus mengira jarak antara robot dan permukaan pantulan.

Maklumat ini diproses oleh Arduino. Sekiranya jarak antara robot dan halangan kurang dari 15cm, Robot berhenti dan mengimbas ke arah kiri dan kanan untuk jarak baru menggunakan Motor Servo dan Sensor Ultrasonik. Sekiranya jarak ke arah kiri lebih dari jarak sebelah kanan, robot akan bersiap untuk belok kiri. Tetapi pertama, ia menyandarkan sedikit dan kemudian mengaktifkan Motor Roda Kiri dalam arah terbalik.

Begitu juga, jika jarak kanan lebih besar daripada jarak kiri, Robot menyiapkan putaran kanan. Proses ini berterusan selama-lamanya dan robot terus bergerak tanpa menghadapi sebarang halangan.

Langkah 3: Pengaturcaraan Arduino UNO

#sertakan

#sertakan

#sertakan

# tentukan TRIG_PIN A1

# tentukan ECHO_PIN A0

# tentukan MAX_DISTANCE 200

# tentukan MAX_SPEED 255 // menetapkan kelajuan motor DC

# tentukan MAX_SPEED_OFFSET 20

Sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor motor3 (3, MOTOR34_1KHZ);

AF_DCMotor motor4 (4, MOTOR34_1KHZ); Servo myservo;

boolean goingForward = palsu;

jarak int = 100; int speedSet = 0;

batal persediaan () {

myservo.attach (10);

myservo.write (115); kelewatan (2000); jarak = bacaPing (); kelewatan (100); jarak = bacaPing (); kelewatan (100); jarak = bacaPing (); kelewatan (100); jarak = bacaPing (); kelewatan (100); }

gelung kosong () {

int jarakR = 0; int jarakL = 0; kelewatan (40);

jika (jarak <= 15) {moveStop (); kelewatan (100); bergerak ke belakang(); kelewatan (300); bergerakStop (); kelewatan (200); jarakR = lookRight (); kelewatan (200); jarakL = lookLeft (); kelewatan (200);

jika (jarakR> = jarakL) {

belok kanan(); bergerakStop (); } lain {turnLeft (); bergerakStop (); }} lain {moveForward (); } jarak = readPing (); }

int lookRight () {

myservo.write (50); kelewatan (500); jarak int = readPing (); kelewatan (100); myservo.write (115); jarak balik; }

int lookLeft () {

myservo.write (170); kelewatan (500); jarak int = readPing (); kelewatan (100); myservo.write (115); jarak balik; kelewatan (100); }

int readPing () {

kelewatan (70); int cm = sonar.ping_cm (); jika (cm == 0) {cm = 250; } pulangan cm; }

batal bergerakStop () {

motor3.run (SIARAN);

motor4.run (SIARAN); }

batal moveForward () {

jika (! goForward) {

pergiForward = benar;

motor3.run (KEHADIRAN);

motor4.run (KEHADIRAN); untuk (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // perlahan-lahan menaikkan kelajuan untuk mengelakkan bateri terlalu cepat habis {

motor3.setSpeed (speedSet);

motor4.setSpeed (speedSet); kelewatan (5); }}}

batal bergerakKembali () {

pergiForward = palsu;

motor3.run (LATAR BELAKANG);

motor4.run (LATAR BELAKANG); untuk (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // perlahan-lahan menaikkan kelajuan untuk mengelakkan bateri terlalu cepat habis {

motor3.setSpeed (speedSet);

motor4.setSpeed (speedSet); kelewatan (5); }}

kekosongan pusingan kanan () {

motor3.run (KEHADIRAN);

motor4.run (LATAR BELAKANG); kelewatan (500);

motor3.run (KEHADIRAN);

motor4.run (KEHADIRAN); }

kekosongan pusingan kiri () {

motor3.run (LATAR BELAKANG);

motor4.run (KEHADIRAN); kelewatan (500);

motor3.run (KEHADIRAN);

motor4.run (KEHADIRAN); }

1) Muat turun dan Pasang Arduino Desktop IDE

  • tingkap -
  • Mac OS X -
  • Linux -

2) Muat turun dan tampal fail perpustakaan NewPing (Perpustakaan fungsi sensor ultrasonik) ke folder perpustakaan Arduino.

  1. Muat turun NewPing.rar di bawah
  2. Ekstrak ke jalan - C: / Arduino / perpustakaan

3) Muat naik kod ke papan Arduino melalui kabel USB

Muat turun Kod:

Langkah 4: Hebat

Sekarang robot anda sudah bersedia untuk mengelakkan halangan…

Saya dengan senang hati akan menjawab sebarang soalan yang anda ada

Emailme: [email protected]

Laman web:

Langgan Saluran YouTube saya:

Instagram:

Facebook:

Terima kasih:)

Disyorkan: