He realizado bastantes proyectos con Arduino, pero nunca he hecho más que un "Hello World" en C. Estoy escribiendo mi primera biblioteca, y muchas de las cosas orientadas a objetos se me pasan por la cabeza. De todos modos, mi biblioteca funciona como se supone que debe hacerlo, paso un flotador a mi función y lo formatea correctamente y lo envía por serie. Sin embargo, lo implementé de una manera torpe. La Guía de estilo de la API de Arduino menciona una forma que parece mucho mejor:
Cuando utilice la comunicación en serie, permita que el usuario especifique cualquier objeto Stream, en lugar de codificar "Serial". Esto hará que su biblioteca sea compatible con todos los puertos seriales en Mega y Due, y también puede usar interfaces alternativas como SoftwareSerial. El objeto Stream se puede pasar al constructor de su biblioteca o a una función begin () (como referencia, no como puntero). Ver Firmata 2.3 o XBee 0.4 para ejemplos de cada enfoque.
¿Alguien puede dar detalles sobre cómo hacer esto o mostrarme algún código?