Pada tulisan saya kali ini saya akan membagikan cara parsing data di mikrokontroller khususnya arduino.
1. Parsing data tanpa library, contoh programnya dapat dilihat pada sript program berikut ini.
String dataIn; String dt[10]; int i; boolean parsing=false; void setup() { Serial.begin(9600); dataIn=""; } void loop() { if(Serial.available()>0) { char inChar = (char)Serial.read(); dataIn += inChar; if (inChar == '\n') { parsing = true; } } if(parsing){ parsingData(); parsing=false; dataIn=""; } } void parsingData(){ int j=0; //kirim data yang telah diterima sebelumnya Serial.print("data masuk : "); Serial.print(dataIn); Serial.print("\n"); //inisialisasi variabel, (reset isi variabel) dt[j]=""; //proses parsing data for(i=1;i < dataIn.length();i++){ //pengecekan tiap karakter dengan karakter (#) dan (,) if ((dataIn[i] == '#') || (dataIn[i] == ',')){ //increment variabel j, digunakan untuk merubah index array penampung j++; dt[j]=""; //inisialisasi variabel array dt[j] } else{ //proses tampung data saat pengecekan karakter selesai. dt[j] = dt[j] + dataIn[i]; } } //kirim data hasil parsing Serial.print("data 1 : "); Serial.print(dt[0].toInt()); Serial.print("\n"); Serial.print("data 2 : "); Serial.print(dt[1].toInt()); Serial.print("\n"); Serial.print("data 3 : "); Serial.print(dt[2].toInt()); Serial.print("\n\n"); }
2. Kemudian yang kedua merupakan cara termudah yaitu dengan menggunakan library seperti script program berikut ini.
#include <Messenger.h> Messenger dataSerial = Messenger(); int dataInteger; void setup() { Serial.begin(9600); dataSerial.attach(cekData); } void loop() { while (Serial.available()) { dataSerial.process(Serial.read()); } } void cekData() { if (dataSerial.checkString("A")) { dataInteger = dataSerial.readInt(); Serial.println(); Serial.print("Data Integer = "); Serial.println(dataInteger); } }
Semoga bermanfaat.
Share this
All sharing is only for you guys...
-----------------------------------
2 comments
commentsada link download untuk librarynya bang ?
Replywagalasehh.....mantull min
ReplySolder uap