Developer

Tutorial Arduino / Genuino 101 – Menyalakan Buzzer Menggunakan Android Melalui Bluetooth


Artikel ini adalah rangkaian dari “Tutorial Arduino / Genuino 101”:
> Mengenal Lebih Dekat Genuino 101
> Menginstal Arduino IDE
> Membuat Program Genuino Pertama
> Menyalakan Buzzer Pada EMS Basic I/O Shield
> Menampilkan Angka Pada 7-Segment
> Memanfaatkan Infrared Detector pada EMS Basic I/O Shield
> Mengontrol Lampu LED Melalui Bluetooth
> Menyalakan Buzzer Menggunakan Android Melalui Bluetooth


Pada artikel sebelumnya, kita sudah membuat contoh program menyalakan lampu LED pada Intel Genuino 101 menggunakan Android melalui Bluetooth. Nah, pada artikel ini kita akan membuat program untuk menyalakan buzzer melalui Bluetooth menggunakan Android. Karena menyalakan buzzer, jadi kita akan menggunakan tambahan shield yaitu EMS Basic I/O Shield.

EMS Basic I/O Shield adalah modul add-on/shield yang dapat diterapkan pada Intel Genuino 101. Fitur-fitur dari shield ini di antaranya adalah 2 tactile switch, 2 digit seven segment, 4 LED (hijau, kuning, biru dan merah), buzzer sebagai indikator bunyi dan lain-lain (selengkapnya bisa cek di sini).

Sedangkan, untuk mengetahui dan memahami fungsi serta letak dari masing-masing pin yang terdapat pada shield EMS Basic I/O silahkan kunjungi laman ini.

Sebelum memulai membuat program untuk menyalakan buzzer, terlebih dahulu unduh library EMS Basic I/O di sini. Setelah itu, silahkan ekstrak dan salin library tersebut pada direktori C:\Users\[namaUser]\Documents\Arduino\libraries. Lihat gambar di bawah ini

Pada kode program (sketch) untuk menyalakan buzzer ini kita akan menambahkan library baru, yaitu BasicIOShield.h. Ini akan memberikan akses penuh untuk semua parameter, fitur, dan fungsi shield EMS Basic I/O.

Untuk mulai membuat sketch, silahkan buka Arduino IDE kemudian buat file baru dengan cara pilih menu File->New. Setelah itu, silahkan ketik kode program seperti di bawah ini.

#include <CurieBLE.h>
#include <BasicIOShield.h>
#define BUZZER 3

BLEPeripheral blePeripheral;  // BLE Peripheral Device
BLEService buzzerService("19B10000-E8F2-537E-4F6C-D104768A1214"); // BLE Buzzer Service

// BLE Buzzer Switch Characteristic - custom 128-bit UUID
BLEUnsignedCharCharacteristic switchCharacteristic("19B10001-E8F2-537E-4F6C-D104768A1214", BLERead | BLEWrite);

void setup() {
  
  // atur buzzer sebagai output
  pinMode(BUZZER, OUTPUT);

  // atur nama BLE & service UUID:
  blePeripheral.setLocalName("BuzzerZone");
  blePeripheral.setAdvertisedServiceUuid(buzzerService.uuid());

  // tambahkan service dan characteristic:
  blePeripheral.addAttribute(buzzerService);
  blePeripheral.addAttribute(switchCharacteristic);

  // atur nilai awal untuk characteristic
  switchCharacteristic.setValue(0);

  // mulai BLE service
  blePeripheral.begin();
}

void loop() {
 
  BLECentral central = blePeripheral.central();

  if (central) {
    // client terhubung dengan peripheral
    while (central.connected()) {
      if (switchCharacteristic.written()) {
        if (switchCharacteristic.value()== char(1)) {   // baca nilai 1
          digitalWrite(BUZZER, HIGH);         // buzzer on
        } else {                              // 
          digitalWrite(BUZZER, LOW);          // buzzer off
        }
      }
    }
  }
}

Pada sketch di atas pin 3 adalah buzzer sebagai OUTPUT, sehingga buzzer akan berbunyi dan mati sesuai intruksi yang diberikan melalui aplikasi Android. Pada Universally Unique Idenfier (UUID), kita dapat mengaturnya sendiri.

Seperti terlihat pada BLEService buzzerService(“19B10000-E8F2-537E-4F6C-D104768A1214”);, pada bagian depannya (8 angka paling depan) adalah 19B10000 . Sedangkan untuk BLEUnsignedCharCharacteristic, dapat kita ubah diubah menjadi 19B10001.

Jadi, ketika ingin menambah karakteristik atau misal menambah LED, atau 7-Segment, kita dapat mengubahnya menjadi 19B10002 (untuk LED), dan 19B10003 (untuk 7-Segment).

Pada fungsi void setup(), kita melakukan inisialisasi dan mengkonfigurasi peripheral BLE. Mulai dari nama perangkat bluetooth untuk buzzer, dan konfigurasi  layanan UUID. Serta mengatur nilai awal untuk program buzzer  tersebut.

Sedangkan pada fungsi void loop(), akan memeriksa koneksi dengan BLE. Sehingga jika terhubung dengan central device atau client, akan membaca nilai yang diberikan berupa 1 untuk menyalakan buzzer, dan 0 untuk mematikan buzzer.

Nah, untuk mencoba program yang sudah dibuat, kita membutuhkan aplikasi Android yang dapat terkoneksi dengan Intel Genuino 101 serta mempunyai tampilan untuk memberikan nilai pada sketch yang sudah dibuat.

Karena pada tulisan kali ini tidak membahas pembuatan aplikasi di Android, maka untuk mencoba program yang sudah dibuat, kita akan menggunakan aplikasi nRF Master Control Panel (BLE). Silahkan unduh aplikasi nRF Master Control Panel (BLE)  untuk sistem operasi Android atau  iOS.

Di bawah ini adalah tahapan untuk melakukan upload dan pengetesan sketch yang sudah dibuat pada modul Intel Genuino 101 dengan shield EMS Basic I/O

  • Ketika melakukan uploadshield jangan terpasang pada modul Genuino 101
  • Setelah proses upload sukses, cabut modul Genuino 101 dari komputer
  • Setelah dicabut, pasang shield EMS Basic I/O pada Genuino 101 dengan cara ditumpukkan sesuai pin (kondisi masih belum terpasang ke komputer).
  • Jika modul shield sudah terpasang pada Genuino 101, silahkan sambungkan kembali ke komputer.
  • Setelah sukses, silahkan aktifkan Bluetooth pada smartphone dan buka aplikasi nRF Master Control Panel (BLE). Kemudian lakukan scan untuk mencari Bluetooth BuzzerZone (sesuai pada sketch). Silahkan klik tombol connect untuk menyambungkan. Lihat gambar di bawah.

  • Pada Unknown Service, silahkan tekan maka akan muncul Unknown Characteristic dan pilih anak panah ke atas. Anak panah ke atas untuk write (memberikan perintah), dan anak panah ke bawah untuk read (menampilkan).

  • Pada Write Value isi dengan angka 1 dengan pilih tipe data UINT8, kemudian pilih send.

  • Maka buzzer yang terdapat pada shield EMS Basic I/O akan berbunyi, untuk mematikannya silahkan masukkan angka 0 atau selain dari angka 1.

Nah, cukup mudah kan membuat program untuk mengontrol buzzer melalui Bluetooth menggunakan Android? Para pembaca dapat lebih mengeksplor fitur apa saja yang dapat di akses melalui Bluetooth menggunakan Android. Selamat mencoba!

* Artikel ini adalah rangkaian dari “Tutorial Arduino / Genuino 101

Share
Published by
Riswan Abidin

Recent Posts

Cisco Peringkatkan Kerentanan Kritis Dalam Cisco Data Center Network Manager

Cisco mengungkapkan tiga kerentanan dalam layanannya. Ini dia penanganannya!

January 7, 2020

Optimal idM Meluncurkan OptimalCloud Partner Platform

Ini ulasan mengenai keuntungan OptimalCloud Partner Platform, platform baru milik Optimal idM!

January 6, 2020

Google Siapkan Coral Accelerator Module dan Coral Dev Board Mini untuk Tahun 2020

Google kenalkan dua koleksi baru dari Coral. Dua koleksi baru ini bakal menambah kemampuan pengembangan…

January 3, 2020

Google Kembangkan Model Kecerdasan Buatan Untuk Deteksi Kanker Payudara

Raksasa Google baru saja mengembangkan sistem pemindaian kanker payudara berbasis kecerdasan buatan. Bagaimana hasilnya, berikut…

January 3, 2020

Google Dorong Fitur Bubbles Notifications Ke Versi Stabil

Meski dikenalkan bersamaan dengan Android 10 Beta, sampai kini Bubbles Notifications masih dalam tahap pengembangan.…

December 31, 2019

Samsung Siapkan Lima Proyek dan Empat Startup C-Lab Untuk CES 2020

Samsung akan kembali memamerkan hasil program C-Lab ke ajang CES 2020. Ini dia proyek dan…

December 30, 2019