Developer

Tutorial Arduino / Genuino 101 – Mengontrol 7-Segment Menggunakan Android Melalui Bluetooth

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

Pada artikel sebelumnya, kita sudah membuat contoh program menyalakan buzzer yang terdapat pada shield EMS Basic I/O menggunakan Intel Genuino 101 dan aplikasi Android melalui Bluetooth. Nah, pada artikel ini kita akan membuat program yang dapat mengontrol 7-Segment misalnya jika ditulis angka 18 maka 7-Segment akan menampilkan angka tersebut.

Silahkan baca artikel sebelumnya untuk mengetahui fitur apa saja yang dimiliki EMS Basic I/O Shield. 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 mengontrol 7-Segment, 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 mengontrol 7-Segment 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>


BLEPeripheral blePeripheral;  // BLE Peripheral Device (the board you're programming)
BasicIOShield shield;

BLEService sevenSegmentService("19B10000-E8F2-537E-4F6C-D104768A1214"); // BLE Buzzer Service

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

byte sevenSegmentValue;

void setup() {

  // atur nama BLE & service UUID:
  blePeripheral.setLocalName("7SegmentZone");
  blePeripheral.setAdvertisedServiceUuid(sevenSegmentService.uuid());

  // tambahkan service dan characteristic:
  blePeripheral.addAttribute(sevenSegmentService);
  blePeripheral.addAttribute(sevenSegmentCharacteristic);

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

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

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

  if (central) {
    // client terhubung dengan peripheral
    while (central.connected()) {
      if (sevenSegmentCharacteristic.written()) {
        sevenSegmentValue = sevenSegmentCharacteristic.value();
      }
      shield.PrintSevenSegment(sevenSegmentValue);
    }
  }
}

Seperti terlihat pada BLEService sevenSegmentService (“19B10000-E8F2-537E-4F6C-D104768A1214”);, pada bagian depannya adalah 19B10000 . Sedangkan untuk sevenSegmentCharacteristic, dapat kita ubah diubah menjadi 19B10001.

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

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

Sedangkan pada fungsi void loop(), akan memeriksa koneksi dengan BLE. Sehingga jika terhubung dengan central device atau client, akan membaca nilai yang diberikan dengan tipe data byte untuk ditampilkan di 7-Segment. Nilai yang diberikan merupakan hexadecimal. Tapi, bisa juga memberikan nilai dengan tipe UINT 8.

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 upload, modul shield 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 7SegmentZone (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 21 dengan pilih tipe data UINT8, kemudian pilih send.

  • Maka 7-Segment yang terdapat pada shield EMS Basic I/O akan menampilkan angka 21.

Nah, cukup mudah kan membuat program untuk mengontrol 7-Segment melalui Bluetooth menggunakan Android? Para pembaca dapat lebih mengeksplor fitur apa saja yang dapat di akses melalui Bluetooth menggunakan Android pada Intel Genuino 101 dan EMS Basic I/O Shield.

* 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