Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Membandingkan String Arduino Serial

Cara Membandingkan String Arduino Dari Komunikasi Serial

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()" ini sama dengan operator "=="

Perintah ini:
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 ini benar dan sama, maka arduino akan mengirimkan pemberitahuan ke serial monitor dengan kata "kata ini sama".

Berikut adalah programnya:

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

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

void loop() {
  if (stringSatu == stringKedua)
  {
    Serial.println("kata ini 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 ini 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 ini:

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 ini dapat membantu anda.

    Sermoga bermanfaat.

    Sumber : 

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

    Prof. Apis
    Prof. Apis Hello Greetings all. I created this website to document the knowledge that I have learned. Also to help all friends. Suggestions and criticisms are very welcome to make this website better. Thank you

    Posting Komentar untuk "Cara Membandingkan String Arduino Serial"