void setup() {
Serial.begin(9600);
Serial.println("hello");
}
String mes1,cmd,dat;
int dat1,dat2,dat3;
bool f_serial = false;
int index1,index2;
float volt;
void loop() {
if(f_serial == 1){ //RGB 10,20,40/
f_serial = 0;
Serial.println(mes1); //RGB 10,20,40
index1 = mes1.indexOf(' '); //RGB 10,20,40
cmd = mes1.substring(0,index1);
Serial.print("cmd=");
Serial.println(cmd); //RGB
index1 = index1+1; //ตำแหน่งตัว 1 ได้เลขตำแหน่งที่5
index2 = mes1.indexOf(',');//ตำแหน่งตัว , ได้เลขตำแหน่งที่6
dat = mes1.substring(index1,index2); // (5,6)
dat1 = dat.toInt();
dat = "";
Serial.print("dat1=");
Serial.println(dat1); //10
index1 = index2+1; //ตำแหน่งตัว2
index2 = mes1.indexOf(',',index1);//ตำแหน่งตัว ,
dat = mes1.substring(index1,index2);
dat2 = dat.toInt();
dat = "";
Serial.print("dat2=");
Serial.println(dat2);//20
index1 = index2+1; //ตำแหน่งตัว4
dat = mes1.substring(index1); //”40”
dat3 = dat.toInt();
dat = "";
Serial.print("dat3=");
Serial.println(dat3); //40
mes1="";
if(cmd =="rgb"){
//your code
//analogWrite(11,255-dat1);//r
//analogWrite(10,255-dat2);//g
//analogWrite(9,255-dat3);//b
}else if(cmd == "read"){
//your code
}
}
}
void serialEvent() {
while (Serial.available()) { //RGB 1,50,100/
char inChar = (char)Serial.read();
if (inChar != '\n') {
mes1 += inChar; //“RGB 1,50,100”
}else{
f_serial = true;
}
}
}