Script AI untuk Deteksi dan Penghindaran Hambatan pada STM32

3 min read 23-08-2024
Script AI untuk Deteksi dan Penghindaran Hambatan pada STM32

Teknologi telah membawa kemajuan yang signifikan dalam bidang otomasi dan robotika. Salah satu aplikasi yang menarik dari teknologi ini adalah kemampuan robot untuk mendeteksi dan menghindari hambatan. Dalam artikel ini, kita akan membahas bagaimana membuat script AI untuk deteksi dan penghindaran hambatan menggunakan mikrokontroler STM32.

Pendahuluan

Penghindaran hambatan adalah salah satu aspek terpenting dalam pengembangan robot otonom. Dengan adanya kemampuan untuk mendeteksi dan menghindari rintangan, robot dapat beroperasi secara mandiri tanpa memerlukan intervensi manusia. Dalam artikel ini, kita akan mengeksplorasi penggunaan STM32 sebagai platform untuk mengimplementasikan algoritma deteksi dan penghindaran hambatan.

Apa itu STM32?

STM32 adalah keluarga mikrokontroler berbasis ARM Cortex-M yang dikembangkan oleh STMicroelectronics. Keunggulan dari STM32 adalah kemampuannya untuk menawarkan performa tinggi, konsumsi daya rendah, dan berbagai fitur yang mendukung aplikasi embedded. Dengan berbagai model dan variasi yang tersedia, STM32 menjadi pilihan populer di kalangan pengembang dan insinyur.

Komponen yang Diperlukan

Sebelum kita masuk ke dalam scripting, berikut adalah beberapa komponen yang diperlukan untuk proyek deteksi dan penghindaran hambatan ini:

  1. STM32 Development Board: Pilih papan pengembangan STM32 sesuai kebutuhan Anda.
  2. Sensor Ultrasonik: Sensor seperti HC-SR04 digunakan untuk mendeteksi jarak dengan memancarkan gelombang suara.
  3. Motor Driver: Untuk menggerakkan roda robot.
  4. Roda dan Chassis: Sebagai basis fisik dari robot.
  5. Baterai: Sebagai sumber daya untuk robot.
  6. Kabel Jumper dan Breadboard: Untuk membuat koneksi antar komponen.

Rangkaian Dasar

Sebelum memulai scripting, kita harus menyambungkan semua komponen di atas. Di bawah ini adalah rangkaian dasar untuk proyek ini:

  • Hubungkan sensor ultrasonik ke pin digital STM32.
  • Hubungkan motor driver ke pin PWM STM32 untuk mengontrol kecepatan dan arah motor.
  • Hubungkan semua komponen listrik dengan benar untuk memastikan pengoperasian yang efektif.

Pengaturan Lingkungan Pengembangan

Sebelum memulai penulisan script, pastikan Anda memiliki alat pengembangan yang tepat:

  1. IDE STM32: Anda dapat menggunakan STM32CubeIDE atau kelebihan lainnya seperti Keil µVision atau IAR Embedded Workbench.
  2. Library untuk Sensor dan Motor: Beberapa library mungkin sudah ada di dalam IDE atau dapat diunduh dari repositori GitHub untuk pengontrolan sensor ultrasonik dan motor driver.

Script AI untuk Deteksi Hambatan

Berikut adalah contoh implementasi script dalam bahasa C untuk STM32 yang menggambarkan bagaimana robot dapat mendeteksi dan menghindari hambatan menggunakan sensor ultrasonik:

#include "mbed.h"

// Pin set up
DigitalOut motor_left_pwm(D3);
DigitalOut motor_right_pwm(D5);
DigitalIn echo(D7);   // Echo pin
DigitalOut trigger(D6); // Trigger pin

// Fungsi untuk mengukur jarak
float measure_distance() {
    trigger = 1;                // Kirim pulsa trigger
    wait_us(10);                // Tunggu 10 microseconds
    trigger = 0;                // Matikan trigger

    // Tunggu sampai echo tinggi
    while (echo == 0);
    Timer t;                   // Inisialisasi timer
    t.start();                 // Mulai timer
    while (echo == 1);        // Tunggu sampai echo turun
    t.stop();                  // Hentikan timer

    return t.read() * 17150;   // Hitung jarak dalam cm
}

int main() {
    while (true) {
        float distance = measure_distance();

        if (distance < 15) { // Jika jarak kurang dari 15 cm
            motor_left_pwm = 0;    // Matikan motor kiri
            motor_right_pwm = 0;   // Matikan motor kanan
            wait(1);               // Tunggu 1 detik
            // Putar balik jika ada hambatan
            motor_left_pwm = 1;    // Jalankan motor kiri
            wait(1);               // Tunggu 1 detik
            motor_right_pwm = 1;   // Jalankan motor kanan
        } else {
            motor_left_pwm = 1;    // Jalankan motor kiri
            motor_right_pwm = 1;   // Jalankan motor kanan
        }
    }
}

Penjelasan Script

  • Pengaturan Pin: Script ini dimulai dengan mendefinisikan pin untuk motor, trigger dan echo sensor ultrasonik.
  • Fungsi Measure Distance: Fungsi ini mengukur waktu yang dibutuhkan untuk gelombang suara pergi dan kembali dan menghitung jarak.
  • Loop Utama: Dalam loop, jarak diukur dan dibandingkan dengan threshold. Jika jarak kurang dari 15 cm, robot akan berhenti dan berbalik.

Pengujian

Setelah menulis script, saatnya untuk melakukan pengujian. Tes robot dalam lingkungan yang memiliki berbagai hambatan. Perhatikan bagaimana robot berperilaku saat mendekati rintangan. Anda mungkin perlu melakukan tuning pada parameter untuk meningkatkan kinerja.

Kesimpulan

Dengan memahami fundamental deteksi dan penghindaran hambatan, Anda dapat mengembangkan robot yang lebih cerdas dan otonom. STM32 menawarkan platform yang kuat untuk menerapkan berbagai algoritma AI. Script yang telah kita bahas adalah contoh sederhana dari bagaimana Anda dapat memulai proyek ini.

Pengembangan lebih lanjut dapat melibatkan penggunaan sensor tambahan, peningkatan algoritma AI, dan pengoptimalan kode untuk kinerja yang lebih baik. Selamat mencoba dan semoga sukses dalam proyek robotika Anda!