String device; int charge = 13; // laptop charger boolean charge_status = false; void setup() { // put your setup code here, to run once: Serial.begin(9600); Serial1.begin(9600); pinMode(charge, OUTPUT); //light charge_status = false; } void loop() { while (Serial1.available()){ //Check if there is an available byte to read delay(10); //Delay added to make thing stable char c = Serial1.read(); //Conduct a serial read device += c; //build the string. } if (device.length() > 0) { Serial.println(device); if(device == "chargeOn") { digitalWrite(charge, LOW);Serial1.println("charge on");charge_status = true; } else if(device == "chargeOff") { digitalWrite(charge, HIGH);Serial1.println("charge off");charge_status = false; } else if (device == "s") {Checkstatus();} else if (device == "bts") {BT_Checkstatus();} delay(500); device="";} //Reset the variable //----------------------------------------------- char d = Serial.read(); switch (d){ case 'a': digitalWrite(charge, HIGH);Serial.println("charge on");charge_status = true;break; case 'b': digitalWrite(charge, LOW);Serial.println("charge off");charge_status = false;break; case 's': Checkstatus();break; } device="";//Reset the variable } void Checkstatus(){ if (charge_status) { Serial.println("charge on"); Serial1.write("charge on"); } else { Serial.println("charge off"); Serial1.write("charge off"); } delay(250); } void BT_Checkstatus(){ if (charge_status) { Serial.println("charge on"); Serial.write("charge on"); } else { Serial.println("charge off"); Serial.write("charge off"); } delay(250); }