Program Arduino Split String Dengan Delimiter

Program Arduino Split String Dengan Delimiter

Terkadang saya membutuhkan pengiriman data dalam bentuk String, dan data tersebut menyimpan berbagai data sensor.

Nah untuk mempermudah saya satukan dalam bentuk String dan dipisahkan dengan koma atau dengan simbol lain seperti # misal.

Nah ketika data diterima perlu dicah lagi menjadi nilai dari masing2 sensor yang dikirimkan.

Dan disinilah kita membutuhkan Fungsi atau Function Split String Arduino.

Berikut adalah contoh kodenya, ada 5 data sensor dan masing-masing nilainya dipisahkan dengan koma.

void setup() {
  Serial.begin(9600);
  String dataSensor = "120,134,14,56,89";
  int sensor1 = getValue(dataSensor, ',', 0).toInt();
  int sensor2 = getValue(dataSensor, ',', 1).toInt();
  int sensor3 = getValue(dataSensor, ',', 3).toInt();
  int sensor4 = getValue(dataSensor, ',', 3).toInt();
  int sensor5 = getValue(dataSensor, ',', 4).toInt();

  Serial.println("Data Sensor: " + dataSensor);
  Serial.println(String() + "Nilai Sensor1: " + sensor1);
  Serial.println(String() + "Nilai Sensor2: " + sensor2);
  Serial.println(String() + "Nilai Sensor3: " + sensor3);
  Serial.println(String() + "Nilai Sensor4: " + sensor4);
  Serial.println(String() + "Nilai Sensor5: " + sensor5);
}

void loop() {
}

String getValue(String data, char separator, int index) {
  int found = 0;
  int strIndex[] = {0, -1};
  int maxIndex = data.length() - 1;
  for (int i = 0; i <= maxIndex && found  index ? data.substring(strIndex[0], strIndex[1]) : "";
}

Hasilnya seperti Output Serial Monitor dibawah ini:

Referensi:

  1. https://stackoverflow.com/questions/29671455/how-to-split-a-string-using-a-specific-delimiter-in-arduino
  2. http://saptaji.com/2020/11/09/cara-mudah-parsing-split-teks-string-data-di-arduino-nodemcu-esp8266/

Saya lulusan Informatika dari Universitas Siber Asia. Saya adalah seorang penggiat Microcontroller, Coding, Robotics, Internet of Things, dan Artificial Intelligence.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

You might also like