Pues de momento, sin saber exactamente qué deseas que haga tu programa, en el bucle while, donde pones datos=c supongo que quieres decir datos*=c. EDITO: supongo que sí has puesto datos(i), ya que yo lo he puesto y se come la "i" entre corchetes.*
¿Por qué pones if datos[0], datos[3] y datos[5]?¿Se supone que cada letra debe ir en una posición concreta de la cadena o algo así?
Si sólo se trata de ir leyendo cada carácter y actuando según lo leído, te podría valer algo así:
void loop(){
- if (Serial.available()){*
- switch(Serial.read()){*
- case 'a':*
- digitalWrite(13,HIGH);*
- break;*
- case 'g':*
- digitalWrite(13,HIGH);*
- break;*
- case 't':*
........etc. - }*
- }*
}