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 adalah seorang pengulik yang tertarik dalam bidang Microcontroller, Internet of Things (IoT), dan Artificial Intelligence (AI). Saya terus belajar dan mengembangkan pengetahuan serta keterampilan saya di dalam ketiga bidang tersebut dengan harapan dapat menciptakan solusi inovatif yang bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *

You might also like
Enable Notifications OK No thanks