Daftar Isi:

Sistem Radar Sederhana Dari Magicbit: 6 Langkah
Sistem Radar Sederhana Dari Magicbit: 6 Langkah

Video: Sistem Radar Sederhana Dari Magicbit: 6 Langkah

Video: Sistem Radar Sederhana Dari Magicbit: 6 Langkah
Video: How To Make An Automatic Object Sensing Smart Dustbin - DIY Project 2024, Juli
Anonim

Tutorial ini menunjukkan cara membuat sistem radar sederhana menggunakan sensor HC-SR04 dan papan pengembang Microbit dengan pemrosesan dan Arduino IDE.

Perlengkapan:

  • Motor servo mikro SG90
  • Kabel jumper (umum)
  • Papan tempat memotong roti (generik)
  • Magicbit
  • Kabel USB-A ke Micro-USB
  • Sensor Ultrasonik - HC-SR04 (Generik)

Langkah 1: Cerita

Dalam tutorial ini kita akan belajar tentang cara membuat sistem radar sederhana menggunakan papan dev inti Magicbit. Untuk tujuan ini kami menggunakan sensor ultrasonik HC-SR04 dan untuk menampilkan data, kami menggunakan lingkungan pemrosesan. Mari kita mulai.

Langkah 2: Teori dan Metodologi

Pertama, mari kita bahas bagaimana cara kerjanya. Prinsipnya sangat mudah. Pertama kami memutar sensor kami di sekitar sumbu vertikal dalam kisaran 180 derajat secara terus menerus. Selama gerakan itu kami mengambil data tentang jarak ke objek terdekat dari sensor ultrasonik di setiap sudut. Untuk proses ini kami menggunakan papan inti Magicbit. Setelah itu, kita harus membuat koneksi dengan lingkungan pemrosesan untuk menampilkan data kita. Untuk itu kami menggunakan protokol komunikasi serial dengan baud rate yang sesuai. Kemudian kami merancang antarmuka sistem radar kami dengan menggunakan pemrosesan IDE. Dalam IDE itu kami mengkonfigurasi komunikasi serial kami untuk mendapatkan data waktu nyata melalui serial. Jadi kami melakukan komunikasi waktu nyata dengan Magicbit dan menunjukkan data yang dikirim dari Magicbit ke IDE pemrosesan.

Langkah 3: Pengaturan Perangkat Keras

Pengaturan Perangkat Keras
Pengaturan Perangkat Keras
Pengaturan Perangkat Keras
Pengaturan Perangkat Keras

Untuk proyek ini kami terutama menggunakan tiga komponen perangkat keras. Mereka adalah Magicbit, motor servo dan sensor ultrasonik. Hubungan antara semua bagian ini ditunjukkan pada Gambar di atas.

Sensor ultrasonik menggunakan 3,3 v untuk power up. Oleh karena itu kami menggunakan port kanan bawah papan Magicbit untuk menghubungkan sensor ultrasonik ke Magicbit. Tetapi motor servo digunakan 5V untuk bekerja dengan benar, Oleh karena itu kami menggunakan port kiri bawah untuk menghubungkan motor servo dengan Magicbit. Dalam hal ini, kami menggunakan modul konektor servo bit ajaib. Tetapi jika Anda tidak memiliki modul itu, Anda dapat menggunakan tiga kabel jumper untuk menghubungkan 5V ke 5V, Gnd ke Gnd dan pin sinyal ke 26 pin di magicbit.

Setelah membangun sirkuit, kami memiliki bagian mekanis kecil untuk dibangun. setel konektor servo satu sisi ke motor servo menggunakan mur kecil. Kemudian pasang sensor pada konektor tersebut menggunakan braket berbentuk L atau cara yang benar. Setelah seluruh sistem kami memperbaiki papan tempat memotong roti. Tetapi Anda dapat menggunakan permukaan lain untuk memasang servo dan Magicbit.

Langkah 4: Pengaturan Perangkat Lunak

Pengaturan Perangkat Lunak
Pengaturan Perangkat Lunak
Pengaturan Perangkat Lunak
Pengaturan Perangkat Lunak

Sisi perangkat lunak sedikit rumit. Untuk pemahaman yang tepat, Anda dapat merujuk tautan berikut sebelum melanjutkan ke bagian selanjutnya.

magicbit-arduino.readthedocs.io/en/latest/

hello.processing.org/editor/

Mari kita lihat kode Arduino IDE dan bagaimana kode itu bekerja.

Untuk mengemudi servo kami menggunakan perpustakaan servo ESP32. Pustaka ini hampir termasuk dalam pengelola papan bit ajaib di Arduino IDE. Untuk menangani sensor ultrasonik kami menggunakan library newPing. Ini dapat diunduh dari tautan berikut.

bitbucket.org/teckel12/arduino-new-ping/do…

Unduh file zip dan dan pergi alat> termasuk perpustakaan> tambahkan perpustakaan Zip di Arduino. sekarang pilih file zip yang Anda unduh dari perpustakaan pin baru. Untuk berkomunikasi dengan pemrosesan kami menggunakan komunikasi serial dengan baud rate 115200. Ini adalah frekuensi yang paling tepat untuk ESP32. Di setiap sudut kami mengirim data kami ke komputer menggunakan protokol ini. Jarak ke objek depan terdekat dari sensor, arah putaran dan sudut putar termasuk dalam data ini. Menggunakan dua untuk loop, kami memutar servo kami dalam dua arah. Sedangkan rotasi satu derajat kami mengirimkan data serial sebanyak 4 kali. Alasan untuk itu dapat Anda pahami dalam memproses penjelasan bagian.

Sekarang saatnya untuk melihat lingkungan pemrosesan. Ini adalah perangkat lunak pemrograman berbasis java. Kami dapat menulis sketsa program kami dalam sketsa ini dalam memproses IDE. Kami juga dapat menghasilkan output visual dari menjalankan program kami. Anda juga dapat mengambil output sebagai objek 2D dan 3d. Tidak hanya itu, ini dapat digunakan untuk pemrosesan gambar dan banyak hal lainnya.

Dalam sketsa pemrosesan, pertama-tama kami merancang antarmuka tampilan data kami menggunakan fungsi grafik sederhana. Pada awal kode kami membangun komunikasi serial kami dengan memasukkan perpustakaan serial. Dalam fungsi setup Anda harus melakukan beberapa perubahan sesuai dengan port USB yang Anda gunakan untuk menghubungkan Magicbit dengan komputer. Anda dapat memeriksa port Anda menggunakan Arduino IDE ketika Anda mengatur Arduino IDE untuk mengunggah kode. Kemudian ubah nama port com di bagian pengaturan dalam sketsa pemrosesan. ketika data serial tersedia, fungsi Serialevent secara otomatis dipicu. Oleh karena itu logika utama dari kode ini termasuk dalam serial event untuk mencegah sudut dan data hilang. ketika data baru tersedia, kami menggambar garis di layar sesuai dengan sudut kami. Saat itu jika tidak ada objek yang terdeteksi, maka garis penuh berwarna hijau. Jika tidak maka beberapa bagian garis akan berwarna merah sesuai jarak dari sensor ke objek. Juga sesuai arah rotasi kita menggambar 200 garis lagi di dekat garis itu dengan tingkat penurunan warna hijau. antara masing-masing Utama kami memiliki perbedaan 0,25 derajat. Oleh karena itu kami mendapatkan 4 pembacaan sekaligus dari Magicbit di setiap rotasi derajat. Karena itu kita dapat membuat pencarian yang indah di layar.

Setelah pengunggahan kode berhasil sepenuhnya ke sulap dan atur bagian perangkat keras, buka IDE pemrosesan dan jalankan kode dengan mengklik tombol run. Sekarang Anda memiliki sistem radar yang sangat sederhana.

Anda dapat menyesuaikan kode yang Anda inginkan apa yang ingin Anda tampilkan.

Langkah 5: Pemecahan masalah

Pemrosesan sketsa tidak berjalan.

  • Tunggu beberapa saat. Karena waktu start up tergantung pada kinerja PC dan GPU Anda.
  • Periksa nomor port seri sudah benar pada sketsa pemrosesan.
  • Periksa koneksi USB sudah diperbaiki dengan benar.
  • Periksa koneksi antara sensor ultrasonik dan Magicbit.
  • Buka monitor serial dan periksa data yang berasal dari Arduino. Jika tidak, maka masalahnya adalah kode Arduino Anda atau pada koneksi USB Anda.

Servo tidak bekerja.

  • Periksa koneksi USB sudah diperbaiki dengan benar.
  • Periksa kabelnya.
  • Periksa servo dalam kondisi baik.

Langkah 6: Kode Arduino

#termasuk

#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 sonar Ping Baru(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // sertakan jarak int perpustakaan servo; Servo RadarServo; void setup() { Serial.begin(115200); RadarServo.attach(26); // Mendefinisikan pada pin mana penundaan terpasang motor servo(3000); } void loop() { // memutar motor servo dari 15 sampai 165 derajat for(int i=0;i<=180;i++){ RadarServo.write(i); penundaan(50); distance = sonar.ping_cm();// Memanggil fungsi untuk menghitung jarak yang diukur oleh sensor Ultrasonik untuk setiap derajat for(int j=0;j0){ break; } Serial.print(i); // Mengirimkan derajat saat ini ke dalam Serial Port Serial.print(", "); // Mengirim karakter tambahan tepat di sebelah nilai sebelumnya yang diperlukan nanti di IDE Pemrosesan untuk pengindeksan Serial.print(j); // Mengirimkan derajat saat ini ke Serial Port Serial.print("*"); Serial.print(1); // Mengirim nilai jarak ke Serial Port Serial.print("/"); // Mengirim karakter tambahan tepat di sebelah nilai sebelumnya yang dibutuhkan nanti di Processing IDE untuk mengindeks Serial.print(distance); // Mengirim nilai jarak ke Serial Port Serial.print("."); // Mengirim karakter tambahan tepat di sebelah nilai sebelumnya yang dibutuhkan nanti dalam Processing IDE untuk pengindeksan } } // Mengulangi baris sebelumnya dari 165 hingga 15 derajat for(int i=180;i>=0;i--){ RadarServo.tulis(i); penundaan(50); jarak = sonar.ping_cm(); for(int j=75;j>=0;j-=25){ if(i==180 && (j==75 ||j==50 ||j==25)){ lanjutkan; } Serial.print(i); // Mengirimkan derajat saat ini ke dalam Serial Port Serial.print(", "); // Mengirim karakter tambahan tepat di sebelah nilai sebelumnya yang dibutuhkan nanti di IDE Pemrosesan untuk pengindeksan Serial.print(j); // Mengirimkan derajat saat ini ke Serial Port Serial.print("*"); Serial.print(-1); // Mengirim nilai jarak ke Serial Port Serial.print("/"); // Mengirim karakter tambahan tepat di sebelah nilai sebelumnya yang dibutuhkan nanti di Processing IDE untuk mengindeks Serial.print(distance); // Mengirim nilai jarak ke Serial Port Serial.print("."); // Mengirim karakter tambahan tepat di sebelah nilai sebelumnya yang dibutuhkan nanti di IDE Pemrosesan untuk pengindeksan } }

}

Direkomendasikan: