Jumat, 18 Januari 2019

Arduino Split | data String yang di pisah dan banyak data Integer dari data split

Assalamualaikum WR.WB...
 Apakabar semua, mudah2an tetap diberi kesehatan dan kemudahan dalam menjalani hari-hari.

disini saya akan memberikan sebuah code arduino untuk memisahkan beberapa data dalam satu data string (split) yang mana data2 itu bisa kita pakai dalam bentuk integer (convert).

Jadi beginilah code nya...




/*
   Jefri Herdi Triyanto
   Email: jefripunza@gmail.com
   Instagram: @jefripunza

  program ini berguna untuk mengganti jenis transfer data dari byte (susah) menjadi mudah dengan metode SPLIT menggunakan data string.
*/


//                                      1   2   3   4   5   6   7   8
String myString = "Tulis Bebas Di sini|123|456|789|010|101|135|246|110|";

unsigned long perhitungan; //menghitung data yang sudah di split/pisah

char delimited = '|'; //pemisah (bisa dirubah sesuai kebutuhan/samakan dengan format string data)




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






void loop() {

  //Pemisah / delimited (hitung jumlah delimited)
  int Index1 = myString.indexOf(delimited);
  int Index2 = myString.indexOf(delimited, Index1 + 1);
  int Index3 = myString.indexOf(delimited, Index2 + 1);
  int Index4 = myString.indexOf(delimited, Index3 + 1);
  int Index5 = myString.indexOf(delimited, Index4 + 1);
  int Index6 = myString.indexOf(delimited, Index5 + 1);
  int Index7 = myString.indexOf(delimited, Index6 + 1);
  int Index8 = myString.indexOf(delimited, Index7 + 1);
  int Index9 = myString.indexOf(delimited, Index8 + 1);

  //pembacaan split text dari data String
  String satuValue    = myString.substring(Index1 + 1, Index2);
  String duaValue     = myString.substring(Index2 + 1, Index3);
  String tigaValue    = myString.substring(Index3 + 1, Index4);
  String empatValue   = myString.substring(Index4 + 1, Index5);
  String limaValue    = myString.substring(Index5 + 1, Index6);
  String enamValue    = myString.substring(Index6 + 1, Index7);
  String tujuhValue   = myString.substring(Index7 + 1, Index8);
  String delapanValue = myString.substring(Index8 + 1, Index9);

  //convert data String ke Integer
  int satuValueInt     = satuValue.toInt();
  int duaValueInt      = duaValue.toInt();
  int tigaValueInt     = tigaValue.toInt();
  int empatValueInt    = empatValue.toInt();
  int limaValueInt     = limaValue.toInt();
  int enamValueInt     = enamValue.toInt();
  int tujuhValueInt    = tujuhValue.toInt();
  int delapanValueInt  = delapanValue.toInt();

  //print hasil ke Serial
  //*/
  perhitungan = perhitungan + 1;
  Serial.print("Data ke: ");
  Serial.print(perhitungan);
  Serial.print("= ");
  //*/
  Serial.print(satuValueInt);
  Serial.print(" ");
  Serial.print(duaValueInt);
  Serial.print(" ");
  Serial.print(tigaValueInt);
  Serial.print(" ");
  Serial.print(empatValueInt);
  Serial.print(" ");
  Serial.print(limaValueInt);
  Serial.print(" ");
  Serial.print(enamValueInt);
  Serial.print(" ");
  Serial.print(tujuhValueInt);
  Serial.print(" ");
  Serial.print(delapanValueInt);
  Serial.println();

  //delay(100);
}

Maka hasilnya seperti ini...

Share:

0 komentar:

Posting Komentar

Cari Blog Ini

Tentang

Blog ini adalah sarana untuk mencari informasi tentang NeoPlan dan sub konsentrasi.