Software serial arduino nano

Software serial arduino nano

Software serial arduino nano

Descarga de la librería serial de software de arduino

Estoy teniendo problemas para obtener datos de dos sensores utilizando dos puertos serie de software con una placa arduino. ¡Me di cuenta de que una pregunta similar podría haber sido hecha antes, pero las respuestas sugieren que no se puede hacer y sé muy bien que se puede basado en el ejemplo aquí (http://arduino.cc/en/Tutorial/TwoPortReceive)!

Puedo obtener datos de cualquiera de los dos dispositivos utilizando sólo un puerto serie de software, pero tan pronto como añado el segundo puerto serie de software, ninguno de los dos puertos funciona. No puedo usar el puerto serie de hardware porque está siendo usado por otro dispositivo.

Este código no funcionará, o funcionará mal si es que funciona. El SoftwareSerial solo tiene un buffer interno. Sí, puedes tener múltiples objetos SoftwareSerial en existencia, pero sólo uno de ellos controla el buffer interno. Cuando cualquier pin RX se afirma, eso genera una interrupción, pero sólo el pin RX que escucha() se comprueba para un bit de inicio.

Lo que realmente se necesita es la capacidad de comprobar en múltiples pines cuando una interrupción viene del bit de inicio. Entonces tendrías que establecer punteros a las estructuras de datos apropiadas. Sería complicado, pero posible.

Arduino nano softwareserial

Estoy trabajando en un proyecto que necesita utilizar al menos 2 comunicaciones serie (2 TXs y RXs) alternativamente y en diferentes pines. Me pregunto si es posible programar el Arduino Nano para esta tarea. He investigado en internet y he visto que el procesador que tiene el hardware (ATmega328) tiene una sola UART, y por defecto este Arduino tiene dedicados 1 pin de TX y otro de RX, pero también he visto que sería posible que en el Arduino UNO, que tiene el mismo procesador, trabajara con 2 comunicaciones serie utilizando la librería SoftwareSerial, ¿sería posible que el Arduino Nano?

Ejemplo de software serial de arduino

He intentado hacer un simple sketch para conseguir la funcionalidad del software serie pero no parece funcionar, nunca imprime lo que creo que estoy escribiendo en el software serie. He intentado usar write en lugar de print, pero ninguno de los dos parece funcionar. También cambiar los pines de (0,1) no funciona.

Creo que «parece» no es una buena palabra para ello. Estás usando software serial en los pines 0,1 lo cual es fatal, así como hardware serial en los pines 0,1 lo cual es correcto pero debería ser exclusivo. Ponga el software serial en algún otro par de pines.

Gracias Nick. He leído un poco más y ahora tengo el código de abajo. Sin embargo, no se imprime nada en el monitor de serie aparte de la línea «test begin». Estoy esperando que se imprima una serie de enteros en la ventana de 9600 baudios.

Esto no tiene sentido. Serial es Serial, software serial es software serial, y los dos no tienen nada que ver el uno con el otro. La única manera de ver algo en el puerto serie de software es conectando algo a él.

Pines serie de software de arduino nano

El hardware de Arduino tiene el soporte incorporado para las comunicaciones seriales en los pines 0 y 1 (Hardware Serial) pero en algunas circunstancias como cuando estos pines ya están en uso o necesitas más puertos seriales para la depuración, el Software Serial puede parecer la solución.

En la práctica, también puedes utilizar otros dispositivos serie, como módulos de paso inalámbrico serie, sensores serie, etc., siempre que sea estándar. Todos los dispositivos serie se programan de forma muy parecida.

Cuando necesites conectar varios dispositivos serie, es posible crear varios puertos serie por software. Pero debido a la limitación del hardware, el Arduino UNO sólo puede escuchar un software serie a la vez. Aquí se proporciona un ejemplo para múltiples software serie:

Acerca del autor

admin

Ver todos los artículos