Hola,
cualquier cosa que vaya por el puerto serie puedes atacarla desde la placa: modems, GPS, reproductores industriales MP3, etc. Para mandar comandos por el puerto hay una serie de comandos dependiendo del tipo de datos que estes interesado en mandar, p.ej.
printInteger(dato_de_tipo_entero)
- mandara un numero entero codificado como ASCII a traves del puerto serie
printByte(dato_tipo_byte)
- mandara un byte (un numero entre 0 y 255) por el puerto
. . . hay mas comandos, solo tienes que mirar el area de referencia en la web (la estamos ampliando esta semana ;-) )
Para recibir, solo hay un comando:
serialRead()
- no lleva parametros y solo recibe bytes a traves del puerto. Esto es, si quieres que tu Arduino reciba cadenas, tienes que salvar los datos en un array para luego trabajarlos. Hay ejemplos del uso de serialRead en el IDE, lo unico es que en la version 0001, la funcion en lugar de llamarse serialRead, se llamaba algo tan complicado de recordar como: uartGetByte, asi que lo cambiamos.
Por otra parte, si al ejecutar serialRead no hay datos en el puerto serie para recibir, el sistema respondera con un simple y llano "-1", de manera que sea posible para ti saber si llego un dato o no
/D