Arduino Duemilanove, puerto serie y usb

Hola, creo que esta pregunta es de “Perogrullo” pero bueno.
En el Arduino Duemilanove, yo puedo leer y enviar datos por serie, al pc, usando el puerto usb (ya lo he probado), también he visto que hay dos patillas que son Rx y Tx, las cuales también son puerto serie.

Me imagino que son el mismo, que no hay manera de distinguir por programa a que puerto enviar, ¿no?, porque no he visto nada por la web que diga lo contrario

¿Estoy en lo cierto, y Arduino Duemilanove solo tiene un puerto serie, aunque haya “dos” sitios por donde conectarse?

Saludos
/BlueIcaro

Por lo que yo entiendo, Arduino puede leer o escribir en el puerto al que está conectado. La placa tiene una UART que permite, junto con los controladores FTDI (incluidos con el software de Arduino), que tu ordenador tenga un puerto serie virtual a partir de un puerto USB. En mi máquina este puerto se corresponde con "/dev/ttyUSB0". No sé si te he aclarado algo las cosas o te he liado más.

El ATmega del arduino solo tiene un puerto serie por hardware. Si no te incluyera el acceso por los pines Rx y Tx no podrias usar el puerto serie del ATmega para conectar por ejemplo un LCD serie o cualquier otro componente.

Como el arduino se programa por el puerto serie pues tambien han incluido en la placa un conversor USB-RS232 que esta tambien conectado al puerto serie del ATmega. Si no fuera asi tendriamos que usar otra placa que conectariamos al ordenador y despues a los pines Rx, Tx.

Si por ejemplo haces uso del serie a traves del USB no te funcionara la conexion serie con otro componente externo a traves de los pines Rx, Tx.

Asi que hay que tener cuidado, si conectas algun componente que se comunique por el puerto serie con el arduino (pines Rx, Tx) no podras usar el "Serial.print" para enviar datos de depuracion por el puerto serie al ordenador.

Como nota, existe una libreria de implementacion de puerto serie por software con lo que podras usar otros pines del arduino para realizar comunicaciones serie.

Un saludo.

Gracias por las contestaciones @raulhc, la librería que comentas me parece muy útil, a ver si la localizo Saludos /BlueIcaro

Tienes multitud de librerías para el arduino, la de control de servos por software:

http://www.arduino.cc/playground/ComponentLib/Servo

Referencia de librerías para arduino:

http://arduino.cc/en/Reference/Libraries

Y sin olvidarse del playground de librerías y codigo de ejemplo:

http://www.arduino.cc/playground/Main/GeneralCodeLibrary

Un saludo.