Cara Konversi Tipe Data Pada Serial Monitor Arduino

Posted on

Konversi Tipe Data Arduino

Cara Konversi Tipe Data Pada Serial Monitor Arduino – Pemahanan tipe data sangat dibutuhkan ketika kita menggunakan komunikasi Serial monitor pada Arduino.

Cara Konversi Tipe Data Arduino Pada Serial Monitor
Misalnya kita mengirimkan angka 1 dari serial monitor ke Arduino menggunakan komunikasi serial, namun nilai yang di hasilkan atau yang ditampilkan di serial monitor  adalah 49.
 
Mengapa demikian? Karena yang ditampilkan adalah angka desimal bukan karakter ASCII. Perhatikan pada tabel di bawah , colom Dec nomor 49, ia akan merujuk kepada Chr (karakter) untuk menampilkan angka 1.
 
Cara Konversi Tipe Data Pada Serial Monitor Arduino
Untuk lebih banyak tentang ASCII silahkan merujuk ke wikipedia.
 
Data yang dikirim menggunakan komunikasi serial akan dibaca oleh microcontroller dari buffer serial. Apa itu buffer? 
 
Buffer adalah antrian data. Jadi ketika data dikirimkan pada komunikasi serial, data dalam antrian yang akan ditangani sesuai urutan penerimaannya.  Umumnya pembacaan serial pada Arduino menggunakan perintah berikut:
if (Serial.available() > 0){ // Cek apakah ada data yang tersedia pada komunikasi serial, jika ada akan masuk kedalam perintah selanjutnya
data = Serial.read(); // Baca data
Serial.println(data); // Tampilkan data
}

 
Bagaimana agar kita dapat menampilkan data yang sesuai dengan keinginan kita, baik itu dalam Desimal, Hexadesimal, Octadesimal, Karakter, bahkan String? Format yang bisa anda gunakan adalah sebagai berikut:
1. Serial.write(data);               // Menampilkan karakter ASCII
2. Serial.println(data, BIN);    // Menampilkan angka Biner
3. Serial.println(data, DEC);   // Menampilkan angka Desimal
4. Serial.println(data, HEX);   // Menampilkan angka Hexadesimal
5. Serial.println(data, OCT);   // Menampilkan angka Octadesimal
6. Serial.readString(data);       // Menampilkan String
 

Program Konversi Data Arduino

Silahkan anda mencoba program berikut:
byte data;
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
if (Serial.available() > 0) {
data = Serial.read();
Serial.print(“Karakter : “);
Serial.write(data); // menampilkan karakter ASCII
Serial.println();
Serial.print(“Biner : “);
Serial.println(data, BIN); // Menampilkan angka Biner
Serial.print(“Desimal : “);
Serial.println(data, DEC); // Menampilkan angka Desimal
Serial.print(“Hexadesimal : “);
Serial.println(data, HEX); // Menampilkan angka Hexadesimal
Serial.print(“Octadesimal : “);
Serial.println(data, OCT); // Menampilkan angka Octadesimal
Serial.println();
delay(100);
}
}

 
Misalnya anda mengetikkan angka 1, kemudian upload program ke Arduino, lihat pada serial monitor, maka akan muncul data berikut:
Cara Konversi Tipe Data Pada Serial Monitor Arduino
 
Jika anda mengirimkan satu kata, misalnya “Tes”, maka program di atas akan membagi atas 3 karakter yaitu T, e, dan s. Gambar di bawah adalah contoh jika kita memasukkan kata Tes.
Cara Konversi Tipe Data Pada Serial Monitor Arduino
 
Bagaimana caranya agar kita bisa mengirim kata? Contohnya kata “Tes”. Jawabannya adalah kita menggunakan Serial.readString();. Silahkan anda mencoba dengan program berikut:
String data;
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
if (Serial.available() > 0) {
data = Serial.readString();
Serial.println(data);
delay(10);
}
}

 
Jika anda mencoba mengirimkan kata, maka yang akan muncul adalah kata yang sesuai dengan apa yang kita kirimkan, contohnya kirim kata “Tes”, maka akan muncul kata “Tes”:
Cara Konversi Tipe Data Pada Serial Monitor Arduino
 
Anda juga dapat mengirimkan kalimat, misalnya “Andi pergi ke sekolah bersama Ibu”. Hasilnya:
Cara Konversi Tipe Data Pada Serial Monitor Arduino
 
Semoga artikel ini bermanfaat. Sumber : Chippiko.com