Bandingkan String Dari Serial Arduino

Posted on

Banding String Serial Arduino

String Arduino Compare Cara Membandingkan String Dari Komunikasi Serial – String bahasa sederhananya adalah kalimat. Membandingkan string pada pemrograman Arduino tidak semudah membandingkan angka seperti Int dan Float.

String Arduino Cara Membandingkan String Dari Komunikasi Serial, compare string arduino
Cara Membandingkan String Arduino

Dalam melakukan perbandingan String atau String Arduino Compare, ada beberapa metode yang digunakan, tergantung darimana String yang ingin kita bandingkan.

A. Operator Perbandingan String

Untuk dapat membandingkan suatu nilai, kita butuh operatur perbandingan. Begitu juga dengan String. Operator perbandingan String antara lain:

  • ==”  dibaca “sama dengan” 
  • !=”   dibaca “tidak sama dengan”
  •  “>”   dibaca “lebih besar dari”
  •  “<”   dibaca “lebih kecil dari”
  •  “>=” dibaca “lebih besar sama dengan”
  •  “<=” dibaca “lebih kecil sama dengan”
  • equals()” sama dengan operator “==”
Perintah :

if (stringSatu == stringKedua) {
Sama dengan:

if (stringSatu.equals(stringKedua)) {

B. Progam Membandingkan String Arduino Dasar

Berikut merupakan kode untuk contoh string yang telah ditetapkan. Kita akan membandingkan dua nilai String.

Kita buat stringSatu = “tes” dan stringKedua = “tes”. Jika kedua string benar dan sama, maka arduino akan mengirimkan pemberitahuan ke serial monitor dengan kata “kata sama”.

Berikut adalah programnya:

String stringSatu = "tes";
String stringKedua = "tes";

void setup() {
Serial.begin(9600);
}

void loop() {
if (stringSatu == stringKedua)
{
Serial.println("kata sama");
}

else Serial.println("kata tidak sama");
delay(5000);
}

Silahkan anda buka serial monitor arduino, maka hasil pernyataan akan tampil. Sekarang silahkan ubah kata “tes” dari salah satu string menjadi kata yang lain. kemudian upload kembali programnya.

Lihat kembali pada serial monitor Arduino, anda akan melihat hasil pernyataannya.

C. Progam Membandingkan String Arduino Dari Komunikasi Serial

Penanganan string pada data dari serial berbeda dengan data yang telah ditetapkan.  Untuk membaca data string dari serial dan membandingkannya, ada dua metode yaitu :

  1. Baca String  dari serial hingga data ‘n’, kemudian data dipotong lalu dibandingkan.
  2. Baca String dari serial hingga data ‘n’, kemudian data diubah langsung menjadi char array, lalu dibandingkan

Sekarang kita akan membuat Projek Arduino Sederhana, menghidupkan LED melalui Serial Komunikasi String. 

Contoh projek yang akan digunakan adalah, menghidupkan 3 LED dengan warna berbeda dengan perintah String.

  • String “Merah On” untuk menghidupkan lampu merah, “Merah Off” untuk mematikannya.
  • String “Hijau On” untuk menghidupkan lampu hijau, “Hijau Off” untuk mematikannya.
  • String “Biru On” untuk menghidupkan lampu biru, “Biru Off” untuk mematikannya.
Sebelum memulai program, rangkaian yang akan kita gunakan adalah seperti :
Rangkaian Pengujian LED melalui Serial Arduino

1. Membaca Data String Hingga Berisi Data ‘n’ Kemudian Data Dipotong

Sekarang kita akan belajar bagaimana cara membandingkan nilai String yang dikirimkan melalui serial.  

    Silahkan anda upload program berikut:

    /* www.chippiko.com

    Program Membandingkan String Dari Serial
    Untuk menghidupkan LED
    */

    int ledMerah = 13;
    int ledHijau = 12;
    int ledBiru = 11;

    String read_string = " ";
    void setup() {
    Serial.begin(9600);

    pinMode(ledMerah, OUTPUT);
    pinMode(ledHijau, OUTPUT);
    pinMode(ledBiru, OUTPUT);
    }

    void loop() {
    while (Serial.available() > 0) {
    read_string = Serial.readStringUntil('n');
    read_string.trim();
    delay(100);

    if (read_string == "Merah On") {
    digitalWrite(ledMerah, HIGH);
    }

    if (read_string == "Merah Off") {
    digitalWrite(ledMerah, LOW);
    }

    if (read_string == "Hijau On") {
    digitalWrite(ledHijau, HIGH);
    }

    if (read_string == "Hijau Off") {
    digitalWrite(ledHijau, LOW);
    }

    if (read_string == "Biru On") {
    digitalWrite(ledBiru, HIGH);
    }

    if (read_string == "Biru Off") {
    digitalWrite(ledBiru, LOW);
    }
    }
    }
    Setelah progam diupload, buka serial monitor. Ketikkan string, misalnya  “Merah On” kemudian kirim.
    Perhatikan pada LED apakah lampu menyala. Jika tidak periksa kembali rangkaiannya.

    2. Merubah Data String Menjadi Char Array

    Sekarang, dengan projek yang sama, kita akan merubah terlebih dahulu string yang diterima menjadi Char Array. Ini sebenarnya cara yang lebih baik.

    Perhatikan program berikut:

    /* www.chippiko.com

    Program Membandingkan String Dari Serial
    Untuk menghidupkan LED
    */

    int ledMerah = 13;
    int ledHijau = 12;
    int ledBiru = 11;

    char bufferString[32];

    void setup() {
    Serial.begin(9600);

    pinMode(ledMerah, OUTPUT);
    pinMode(ledHijau, OUTPUT);
    pinMode(ledBiru, OUTPUT);
    }

    void loop() {
    while (Serial.available() > 0) {

    Serial.readBytesUntil('n', bufferString, 32);

    if (strcmp(bufferString, "Merah On") == 0) {
    Serial.println(bufferString);
    digitalWrite(ledMerah, HIGH);
    }
    if (strcmp(bufferString, "Merah Off") == 0) {
    Serial.println(bufferString);
    digitalWrite(ledMerah, LOW);
    }

    if (strcmp(bufferString, "Hijau On") == 0) {
    digitalWrite(ledHijau, HIGH);
    }
    if (strcmp(bufferString, "Hijau Off") == 0) {
    digitalWrite(ledHijau, LOW);
    }

    if (strcmp(bufferString, "Biru On") == 0) {
    digitalWrite(ledBiru, HIGH);
    }
    if (strcmp(bufferString, "Biru Off") == 0) {
    digitalWrite(ledBiru, LOW);
    }
    memset(bufferString, 0, sizeof(bufferString));
    }
    }

    Saya berharap artikel String Arduino Compare dapat membantu anda.

    Sermoga bermanfaat.

    Sumber : 

    1. How to compare a string
    2. String Comparison Operators