Skip to content Skip to sidebar Skip to footer

Cara Membandingkan Nilai Hexadesimal Pada Arduino

Cara Membandingkan Nilai Hexadesimal Pada Arduino - Didalam beberapa aplikasi, kita akan menemui penggunaan nilai-nilai bilangan tertentu. Bilangan tersebut seperti desimal, berkoma, biner, hexadesimal, dan Oktal.

Pada artikel ini kita akan belajar bagaimana cara membandingkan bilangan Hexadesimal menggunakan bahasa C pada Arduino.

Bilangan Hexadesimal adalah bilangan yang menggunakan sistem 16. Jika pada bilangan Desimal, kita hanya menggunakan sistem 9. Dimulai dari angka 0 hingga 9.

Didalam bilangan hexadesimal nilai angkanya adalah 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F.

Salah satu penggunaan bilangan Hexadesimal adalah pada InfraRed Remote. Mengapa konversi sinyal infrared menggunakan Hexadesimal?

A. Latar Belakang

Dua kata istilah yang serinng digunakan dalam sinyal inframerah adalah Decoding dan Encoding. Encoding adalah istilah untuk Mengkodekan data menjadi sinyal inframerah. Istilah Encoding ini sering kaitkan pada pengirim remote(transceiver). 

Sedangkan Dicoding adalah Mengkodekan sinyal inframerah menjadi data. Istilah Dicoding ini sering dikaitkan dengan penerima remote (receiver).

Kita ambil contoh protokol NEC Ir Remote. Data dikodekan menggunakan pengkodean jarak pulsa atau sinyal digital (0 dan 1). Kecepatan frekuensi siyal ini sekitar 38kHz. Data yang dikirim adalah 32-bit (4 bytes). 16-bit untuk data alamat dan 16-bit untuk data perintah.

Cara Membandingkan Nilai Hexadesimal Pada Arduino, how to compare hex value arduino
Contoh protokol NEC

Jika data diatas dikirim sekalian, maka datanya adalah 00000000111111111011010101001010. Jika data ini diolah, tentu akan membuat waktu yang lama dan kemungkinan akan ada yang tertinggal datanya. 

Maka dari itu, data biner tersebut di konversikan kedalam Hexadesimal untuk memudahkan mengolah data. Data 00000000111111111011010101001010 = 0xFFB54A. 

B. Membandingkan Bilangan Hex Arduino


Sekarang kita akan membuat sebuah perbandingan bilangan Hex untuk pengambilan keputusan. Misalnya, kita terima data remote dan ingin kita bandingkan dengan data Hex yang telah ditetapkan untuk menghidupkan LED. 

Jika data yang dibandingkan benar, maka LED akan hidup. Jika salah maka LED akan mati. Kode perbandingan dasarnya adalah:

if (data masuk == 0x......)
  {
    //maka lakukan sesuatu
  }
  else
  {
    //maka lakukan sesuatu
  }

Dalam penulisan nilai Hex, kita harus meletakkan "0x" sebelum nilai sebenarnya. Ini menunjukkan bahwa nilai tersebut adalah nilai hexadesimal.

Untuk contoh projek menghidupkan lampu dengan remote, silahkan anda membaca artikel TSOP1738 Arduino Cara Menerima Data IR Remote.

Terima kasih telah mengunjungi website Chip Piko. Semoga bermanfaat.

 


Post a Comment for "Cara Membandingkan Nilai Hexadesimal Pada Arduino"