Separar caracteres en Arduino

Programa en Arduino para separar caracteres…

 


String split = "133,215,365";

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

void loop() {
int parte1 = getValue(split,',',0).toInt();
Serial.print(parte1);
delay(1000);
}

String getValue(String data, char separator, int index)
{
  int found = 0;
  int strIndex[] = {0, -1};
  int maxIndex = data.length()-1;

  for(int i=0; i<=maxIndex && found<=index; i++){
    if(data.charAt(i)==separator || i==maxIndex){
        found++;
        strIndex[0] = strIndex[1]+1;
        strIndex[1] = (i == maxIndex) ? i+1 : i;
    }
  }

  return found>index ? data.substring(strIndex[0], strIndex[1]) : "";
}

Encender Led en Arduino por Bluetooth desde Android

Programa Arduino que recibe comandos desde un móvil Android para encender o apagar un LED.

//Se crea una variable que servirá como buffer
String bufferString = "";

void setup() {
  //Iniciamos comunicación con el puerto serie
  Serial.begin(9600);
  pinMode(3, OUTPUT);
}

void loop() {
  /*
  * Evaluamos el momento en el cual recibimos un caracter
  * a través del puerto serie 
  */
  if (Serial.available() &gt; 0) {
    //Delay para favorecer la lectura de caracteres
    delay(20);
    /*
    * Se le indica a Arduino que mientras haya datos
    * disponibles para ser leídos en el puerto serie
    * se mantenga concatenando los caracteres en la
    * variable bufferString
    */
    while (Serial.available() &gt; 0) {
      bufferString = "";
      bufferString += (char)Serial.read();
    }
  //Se transforma el buffer a un número entero
  int num = bufferString.toInt();
  //Se imprime el número que se recibe
  Serial.print("Numero recibido: ");
  Serial.print(num);
  //Serial.write(num);
  if (num == 1){
    digitalWrite(3, HIGH);
    Serial.println(",Encendido");
  }
    if (num == 2){
      digitalWrite(3, LOW);
      Serial.println(",Apagado");
    }
  }
}