Modul Bluetooth HM-10 untuk Koneksi STM32

3 min read 22-08-2024
Modul Bluetooth HM-10 untuk Koneksi STM32

Modul Bluetooth HM-10 adalah salah satu modul Bluetooth yang paling populer dan banyak digunakan dalam proyek-proyek berbasis mikrokontroler. Dengan kemampuannya untuk berkomunikasi menggunakan protokol Bluetooth Low Energy (BLE), modul ini sangat cocok untuk berbagai aplikasi IoT. Dalam artikel ini, kita akan membahas cara menggunakan modul Bluetooth HM-10 untuk berkomunikasi dengan mikrokontroler STM32.

Pendahuluan

Bluetooth adalah teknologi tanpa kabel yang memungkinkan perangkat berkomunikasi satu sama lain dalam jarak pendek. Modul HM-10 adalah salah satu modul Bluetooth yang paling banyak digunakan karena ukurannya yang kecil, mudah digunakan, dan memiliki konsumsi daya yang rendah. Modul ini memungkinkan komunikasi data antara STM32 dan perangkat lain seperti smartphone, tablet, atau komputer.

Kelebihan Modul HM-10

  1. Protokol BLE: HM-10 menggunakan protokol Bluetooth Low Energy yang memungkinkan koneksi yang lebih efisien dalam penggunaan daya.
  2. Kompak dan Ringan: Desain modul yang kecil membuatnya mudah untuk diintegrasikan dalam proyek.
  3. Kompatibilitas: Modul ini dapat digunakan dengan berbagai mikrokontroler, termasuk STM32.
  4. Dukungan untuk Serial Communication: HM-10 mendukung koneksi serial yang membuatnya mudah untuk berinteraksi dengan STM32.

Persiapan Alat dan Bahan

Sebelum memulai, Anda perlu menyiapkan beberapa alat dan bahan sebagai berikut:

  • Modul Bluetooth HM-10
  • Mikrokontroler STM32
  • Kabel jumper
  • Breadboard
  • Software pengembangan STM32 (seperti STM32CubeIDE atau STM32CubeMX)
  • Software serial terminal (seperti Putty atau Tera Term)

Skema Koneksi

Berikut adalah skema sederhana untuk menghubungkan modul Bluetooth HM-10 ke mikrokontroler STM32:

  1. VCC pada HM-10 dihubungkan ke 5V pada STM32.
  2. GND pada HM-10 dihubungkan ke GND pada STM32.
  3. TXD pada HM-10 dihubungkan ke salah satu pin RX pada STM32.
  4. RXD pada HM-10 dihubungkan ke salah satu pin TX pada STM32.

Contoh Koneksi

Misalnya, jika Anda menggunakan STM32F103C8T6, Anda bisa menghubungkan:

  • VCC ke 5V STM32
  • GND ke GND STM32
  • TXD ke pin PC10 (RX)
  • RXD ke pin PC11 (TX)

Konfigurasi STM32

Setelah koneksi fisik selesai, langkah selanjutnya adalah menyiapkan kode untuk STM32. Berikut adalah contoh kode sederhana yang bisa Anda gunakan untuk mengirim dan menerima data melalui modul HM-10.

Menggunakan STM32 HAL Library

Pastikan Anda telah mengatur proyek di STM32CubeIDE dan menambahkan library HAL. Berikut adalah potongan kode yang dapat digunakan:

#include "main.h"

UART_HandleTypeDef huart1;

void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART1_UART_Init(void);

int main(void) {
    HAL_Init();
    SystemClock_Config();
    MX_GPIO_Init();
    MX_USART1_UART_Init();

    uint8_t data[10];

    while (1) {
        // Mengirim data
        const char *message = "Hello HM-10\n";
        HAL_UART_Transmit(&huart1, (uint8_t*)message, strlen(message), HAL_MAX_DELAY);
        
        // Menerima data
        HAL_UART_Receive(&huart1, data, 10, HAL_MAX_DELAY);
        
        // Proses data yang diterima sesuai kebutuhan
    }
}

static void MX_USART1_UART_Init(void) {
    huart1.Instance = USART1;
    huart1.Init.BaudRate = 9600;
    huart1.Init.WordLength = UART_WORDLENGTH_8B;
    huart1.Init.StopBits = UART_STOPBITS_1;
    huart1.Init.Parity = UART_PARITY_NONE;
    huart1.Init.Mode = UART_MODE_TX_RX;
    huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
    huart1.Init.OverSampling = UART_OVERSAMPLING_16;
    HAL_UART_Init(&huart1);
}

Penjelasan Kode

  • HAL_Init(): Menginisialisasi HAL Library.
  • SystemClock_Config(): Mengatur konfigurasi jam sistem.
  • MX_USART1_UART_Init(): Menginisialisasi UART dengan baud rate 9600.
  • HAL_UART_Transmit(): Mengirim data ke modul HM-10.
  • HAL_UART_Receive(): Menerima data dari modul HM-10.

Menggunakan Software Serial Terminal

Setelah mengunggah kode ke STM32, Anda dapat menggunakan software serial terminal seperti PuTTY untuk menghubungkan melalui port COM yang sesuai. Pastikan baud rate di terminal sesuai dengan baud rate yang Anda atur di STM32 (9600 bps).

  1. Buka PuTTY dan pilih koneksi Serial.
  2. Masukkan port COM yang sesuai dan set baud rate ke 9600.
  3. Klik "Open" untuk memulai sesi komunikasi.

Pengujian

Setelah semua set up selesai, Anda dapat melakukan pengujian dengan mengirim pesan dari STM32 ke HM-10. Jika Anda menggunakan aplikasi di smartphone, Anda juga dapat menghubungkan HM-10 dan mengirimkan data kembali ke STM32.

Contoh Aplikasi

Anda dapat membuat aplikasi sederhana yang mengubah LED yang terhubung ke STM32 berdasarkan data yang diterima dari HM-10. Misalnya, jika Anda mengirimkan '1' dari aplikasi, maka LED menyala, dan jika mengirimkan '0', LED mati.

Kesimpulan

Modul Bluetooth HM-10 adalah pilihan yang sangat baik untuk proyek IoT dan komunikasi nirkabel dengan mikrokontroler STM32. Dengan cara yang sederhana dan mudah, Anda dapat menghubungkan STM32 dengan berbagai perangkat Bluetooth lainnya. Dengan menggunakan modul ini, Anda dapat mengembangkan berbagai aplikasi yang inovatif dan menarik dalam dunia elektronik.

Dengan pemahaman dasar tentang cara menghubungkan dan mengkonfigurasi modul HM-10 dengan STM32, Anda sudah siap untuk memulai proyek Anda sendiri. Selanjutnya, Anda dapat menggali lebih dalam tentang fitur-fitur tambahan yang ditawarkan oleh modul Bluetooth ini dan meningkatkan kemampuan proyek Anda.