I am working on my final assignment. The problem is I want to make a prototype tool, with 2 string compare. If I send data "OK DISC DISCLOSED: 341513DB689AOK RSSI: -056 OK NAME: CarBT1 OK DISCE" will be parsed and bring up data "CarBT1 OK DISCE" if the data is correct then the LED will turn on, but my program isn't working? does anyone know the problem?
String dataIn;
String dt[10];
int i;
boolean parsing=false;
const int pinLED = 8;
String readString;
void setup (){
Serial.begin(9600);
pinMode(pinLED, OUTPUT);
Serial.print("Sketch: "); Serial.println(__FILE__);
Serial.print("Uploaded: "); Serial.println(__DATE__);
Serial.println(" ");
while(!Serial){
;
}
}
void loop (){
if(Serial.available()>0) {
char inChar = (char)Serial.read();
dataIn += inChar;
if (inChar == '\n'){
parsing = true;
}
}
if(parsing){
parsingData();
parsing=false;
dataIn="";
}
while(Serial.available()){
delay(3);
char c = Serial.read();
readString += c;
}
readString.trim();
if(readString.length()>0){
if(readString == "CarBT1 OK+DISCE"){
digitalWrite(pinLED, HIGH);
Serial.println("Switching On");
}
if(readString == "off"){
digitalWrite(pinLED, LOW);
Serial.println("Switching Off");
}
readString = "";
}
}
void parsingData(){
int j=0;
Serial.print("data masuk : ");
Serial.print(dataIn);
Serial.print("\n");
dt[j]="";
for(i=1;i<dataIn.length();i++){
if ((dataIn[i] == ':') || (dataIn[i] == ':')){
j++;
dt[j]="";
}
else{
dt[j] = dt[j] + dataIn[i];
}
}
}
Serial.print("data 1 : ");
Serial.print(dt[0]);
Serial.print("\n");
Serial.print("data 2 : ");
Serial.print(dt[1]);
Serial.print("\n");
Serial.print("data 3 : ");
Serial.print(dt[2]);
Serial.print("\n\n");
Serial.print("data 4 : ");
Serial.print(dt[3]);
Serial.print("\n\n");
}
(data1 == "ABC") {digitalWrite (pinLed, HIGH)}
. LED does not turn onwhile(Serial.available()){ delay(3); char c = Serial.read(); readString += c; } readString.trim(); if(readString.length()>0){ if(readString == "CarBT1 OK+DISCE"){ digitalWrite(pinLED, HIGH); Serial.println("Switching On"); } if(readString == "off"){ digitalWrite(pinLED, LOW); Serial.println("Switching Off"); } readString = ""; }
and this is the problem code, I took it from the code above