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:
- https://stackoverflow.com/questions/29671455/how-to-split-a-string-using-a-specific-delimiter-in-arduino
- http://saptaji.com/2020/11/09/cara-mudah-parsing-split-teks-string-data-di-arduino-nodemcu-esp8266/