Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Pembuat Peta Ultrasonik menggunakan Arduino Yun

Komponen dan persediaan

Arduino Yun
× 1
Sensor Ultrasonik
× 1
Servo (Tower Pro MG996R)
× 1
Kabel jumper (generik)
× 10

Aplikasi dan layanan online

Arduino IDE
MATLAB

Tentang proyek ini

Langkah 1:Teori

Dalam proyek ini, kami menggunakan sensor Jarak ultrasonik. Ini menghasilkan gelombang suara di luar jangkauan pendengaran manusia dan mengukur jarak dengan menghitung waktu yang dibutuhkan oleh gelombang ini untuk menabrak rintangan dan melakukan perjalanan kembali. Ini mirip dengan prinsip yang digunakan oleh kelelawar dan kapal pesiar.

Komponen lain yang akan kita gunakan adalah motor servo. Ini berbeda dari motor DC biasa karena dapat berputar dengan sangat tepat ke posisi sudut tertentu dan mempertahankan kondisinya di sana. Ketika motor servo diberikan pulsa dengan durasi tertentu, motor servo bergerak ke posisi sudut yang sesuai.

Kami akan menggunakan kedua komponen ini untuk mendapatkan bidang pandang 180 derajat untuk robot kami.

Langkah 2:Mengumpulkan Bahan

Proyek ini menggunakan perangkat keras berikut

  • Arduino Uno/Yun (Harap diperhatikan bahwa papan tapak Arduino apa pun dapat digunakan sebagai pengganti Uno atau Yun)
  • Perisai Pembuatan Prototipe Arduino
  • Sensor Ultrasonik HC-04
  • Motor servo (Saya menggunakan Tower Pro SG90 karena sangat ringkas)
  • Di sisi perangkat lunak kami menggunakan program berikut
  • Arduino IDE mengupload kode kontrol ke Arduino untuk memutar servo dan mendapatkan data jarak dari sensor ultrasonik dan juga mendorongnya ke port serial.
  • Mathworks MatLab untuk menerima data dari serial line, memprosesnya dan memvisualisasikannya ke dalam grafik.

Langkah 3:Perakitan Mekanik

Menggunakan sepotong kecil PCB tujuan umum, buat header kecil untuk HC-04, dan tempelkan ke tanduk servo menggunakan selotip dua sisi.

Langkah ini opsional, tetapi untuk membuat sistem lebih ringkas, saya telah memasang servo ke bagian menonjol pelindung protoboard menggunakan selotip dua sisi juga.

Hasil akhirnya akan terlihat seperti perut Wall-E.

Langkah 4:Kode Arduino

Kode Arduino mengontrol gerakan motor servo, dan kapan pembacaan dari sensor ultrasonik ditangkap dan seberapa sering. Ini juga mendorong data sensor ke port serial.

  • Impor perpustakaan
  • Inisialisasi variabel dan pin.
  • Inisialisasi objek servo
  • Inisialisasi komunikasi serial
  • Tunggu 3 detik
  • Inisialisasi penghitung ke 0
  • Memutar servo sebesar 1 derajat
  • Dapatkan data sensor ultrasonik 10 kali (diatur secara default)
  • Data rata-rata
  • Kirim rata-rata ke port serial
  • Kembali ke langkah 7

Langkah 5:Kode MatLab

Kode MatLab lebih banyak berurusan dengan data daripada kontrol papan yang sebenarnya, sehingga semua data sensor didorong melalui serial ke PC, di mana ia dibaca oleh MatLab.

Sekarang, data yang kami terima dari Arduino memberi tahu kami dua hal. Derajat rotasi servo dan jarak rintangan ke arah itu. Oleh karena itu, data yang kita miliki saat ini berada dalam sistem koordinat Kutub. Agar masuk akal bagi mata manusia saat divisualisasikan, itu harus dikonversi ke sistem koordinat Cartesian atau XY.

Jadi kode MatLab melakukan hal ini. Ia mendapatkan data secara serial dari port COM, menyimpannya ke dalam matriks dengan sudut rotasi, dan kemudian mengubahnya menjadi koordinat Cartesian dengan rumus yang diberikan di atas.

Setelah selesai, itu memberikan output dengan memplot titik-titik pada grafik. Saya menempatkan papan di dalam kotak, dan saya mendapatkan hasil sebagai berikut.

Langkah 6:Kesimpulan

Meskipun sistemnya tidak sempurna, itu menyelesaikan pekerjaan. Itu bisa mendapatkan perkiraan kasar lebar dan panjang kotak dan mengirimkan data secara akurat.

Satu-satunya kesalahan yang dapat saya lihat saat ini adalah karena getaran sensor saat servo bergerak dan kesalahan pembacaan dari sensor itu sendiri.

Selain itu, sistem ini berfungsi dengan baik dan dapat digunakan untuk eksperimen persepsi kedalaman serta proyek visi komputer dasar.

Kode

  • matlab_code_to_run_on_pc.m
  • Kode Arduino
matlab_code_to_run_on_pc.mMATLAB
Kode MatLab untuk dikompilasi dan dieksekusi di PC
theta =0:(pi/180):pi;s =serial('COM10');s.BaudRate=9600fopen(s)i =0;inc =1;sementara i<180 A =fget(s); angka(i+1) =str2angka(A); i =i+1;endfclose(s)j =1sementara j<181 tab(j,1) =(j-1)*inc tab(j,2) =num(j) tab(j,3) =num( j)*cosd((j-1)*inc) tab(j,4) =num(j)*sind((j-1)*inc) j =j+1end%figur%polar(theta,num)plot (tab(:,3),tab(:,4))
Kode ArduinoArduino
Kode Arduino untuk diunggah ke Arduino Yun
#include #include #define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 200 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); Servo myservo; int pos =0; int itu =10;void setup() { myservo.attach(9); Serial.begin(9600); delay(3000);}void loop() { int i =0; int t =0; int a =0; for (i =0; i <180; i ++) { unsigned int uS =sonar.ping(); myservo.write(i); penundaan (20); for (t =0; t   

Skema

File fritzing untuk koneksi sensor servo dan ultrasonik YunConfig.fzz

Proses manufaktur

  1. Membuat Monitor Ambilight Menggunakan Arduino
  2. Sistem Robotika Deteksi Manusia Menggunakan Arduino Uno
  3. Mesin ULTRASONIC LEVITATION Menggunakan ARDUINO
  4. FlickMote
  5. Voltmeter DIY Menggunakan Arduino dan Smartphone
  6. Pemantau Detak Jantung Menggunakan IoT
  7. Mainan yang Dikendalikan Android Menggunakan Raspberry Motor Shield
  8. IOT - Smart Jar Menggunakan ESP8266, Arduino dan Sensor Ultrasonik
  9. WebServerBlink Menggunakan Arduino Uno WiFi
  10. Robot Pengikut Baris