Tag

, , ,

Hi sobat,

Kali ini percobaan kita adalah membuat aplikasi Arduino yang dapat difungsikan sebagai pengontrol aplikasi WinAmp secara wireless. Pertama-tama siapkan bahan yang dibutuhkan, yaitu :

* Arduino
* Prototyping shield (optional)
* IRreceiver
* Remote standar (dalam percobaan ini bermerek SAMSUNG)

Selanjutnya adalah memasang rangkaian
Untuk rangkaian, silahkan merefer gambar di atas. Detil rangkaian elektroniknya belum saya buat.

Shortcut key for controlling WinAmp

Kemudian memprogram Arduino
Sketch untuk program Arduino adalah sebagai berikut :

/*------------------------------------------------
WinAmp Controller
Author   : Insan Sains
Created  : 11 Jan 2012
Modified : 11 Jan 2012
Arduino harus difungsikan sebagai HID device
Untuk board UNO R2 / R3 caranya cukup mudah
Hubungkan pin GND Arduino dgn pin RESET Atmega8u2
------------------------------------------------*/

#include <IRremote.h>
#include <IRremoteInt.h>

#define UP       1785
#define DOWN     -31111
#define RIGHT    18105
#define LEFT     -22951
#define VOL_UP   -8161
#define VOL_DOWN -12241
#define P_UP     18615
#define P_DOWN   2295
#define MUTE     -4081
#define ENTER    5865

uint8_t NONE[8] = { 0 };
uint8_t key[8] = { 0 };

int pin_ir = 11;
int tombol;

IRrecv irrecv(pin_ir);
decode_results result;

void setup(){
  pinMode(pin_ir, INPUT);
  Serial.begin(9600);
  irrecv.enableIRIn();  
  delay(200);
}

void loop(){
  if(irrecv.decode(&result)){
    tombol = result.value;
    caseKondisiKey();
    irrecv.resume();
  }
}

void caseKondisiKey(){
  switch (tombol) {
    case UP:
       key[2] = 0x05;
       break;

    case DOWN:
       key[2] = 0x1B;
       break;

    case RIGHT:
        key[2] = 0x05;
        break;

    case LEFT:
        key[2] = 0x1B;
        break;

    case VOL_DOWN:
        key[2] = 0x51;
        break;

    case VOL_UP:
        key[2] = 0x52;
        break;

    case P_DOWN:
        key[2] = 0x51;
        break;

    case P_UP:
        key[2] = 0x52;
        break;   

    case MUTE:
        key[2] = 0x06;
        break;

    case ENTER:
        key[2] = 0x1B;
        break;
 }

 Serial.write(key, 8);
 Serial.write(NONE, 8);
 delay(100);
}

Setelah itu memfungsikan Arduino sebagai HID device.
(dokumentasi menyusul)

Uji coba… Tadaaaaaa….🙂