13
ago 2012
2

Emular pines Serial de Arduino con la librería NewSoftSerial

En ocasiones queremos conectar varios módulos al mismo tiempo al Arduino. Esto no es problema siempre y cuando usen diferentes pines, el problema esta cuando dichos pines son capaces de soportar un protocolo de comunicación y el resto no, ejemplos de ello tenemos el puerto SPI, I2C o Serial.

En el caso del I2C tampoco hay problema pues cada dispositivo se identifica con un número que lo identifica del resto de módulos (de distinto tipo, por ejemplo un termómetro y un lcd, “no pueden” ser idénticos). Sin embargo no sucede lo mismo con el puerto SPI y Serial.

Para solucionar este problema podemos elegir un Arduino con más prestaciones, como el Mega que cuenta con más puertos Serial, o emularlos mediante una librería, así podremos usar otros pines para ello.

Y eso es lo que es capaz de hacer la librería NewSoftSerial (más documentación aquí). Usándola podremos emplear el resto de pines como puertos serial, ya sea para conectarnos al ordenador, o a un LCD, o quizás un modulo bluetooth.

Además es tremendamente sencilla de usar. En entradas anteriores puse un ejemplo para usar con el modulo bluetooth, concretamente este:

Que usa los pines 0 y 1. Si quisiéramos usar otros pines, por ejemplo el 2 y 3, el código seria ahora así:

Como vemos solo hay que instanciar la clase NewSoftSerial y después usar el objeto creado para establecer la velocidad de comunicación, imprimir, leer, etc. tal y como haríamos con la librería Serial original.


Entrada con 2 Respuestas

  1. 22 diciembre 2012 a las 23:58 pm

    Buen dia yo he tenido problemas con los pines del puerto serial de arduino porque manejo un modulo hc 05 y cuando voy a programar el arduino pues tengo que desconectar el modulo bluetooth de la placa, ¿de casualidad tu sabes si con esta libreria yo me podria despojar de este problema programando otros puertos como seriales que seria donde conectaria el modulo bluetooth y asi no tener que desconectar el modulo cada que voy a reprogramar el arduino?

    SALUDOS.
    Muchas gracias

    • 23 diciembre 2012 a las 0:19 am

      Si, usando esta librería podrías conseguir que a la hora de programar el Arduino no te haga falta desconectar el módulo bluetooth, de hecho yo tengo un Arduino con dos módulos bluetooth conectados, sin la librería eso no se podría hacer!

      Saludos.

Escriba aquí su comentario


Notificarme los nuevos comentarios por correo electrónico.
Tambien puedes suscribirte sin comentar.