Arduino y comunicación por computadora

1

En la página de inicio de arduino, dice acerca de la comunicación utilizando ArduinoMega256

  

El Arduino Mega2560 tiene una serie de instalaciones para comunicarse con una computadora, otro Arduino u otros microcontroladores. El ATmega2560 proporciona cuatro UART de hardware para la comunicación serie TTL (5V). Un ATmega16U2 (ATmega 8U2 en las placas de revisión 1 y revisión 2) en la placa canaliza uno de estos a través de USB y proporciona un puerto virtual para el software en la computadora (las máquinas Windows necesitarán un archivo .inf, pero las máquinas OSX y Linux reconozca la placa como un puerto COM automáticamente. El software Arduino incluye un monitor en serie que permite enviar datos textuales simples hacia y desde la placa. Los LED de RX y TX en la placa parpadearán cuando se transmitan datos a través de ATmega8U2 / ATmega16U2 Conexión de chip y USB a la computadora (pero no para comunicación en serie en los pines 0 y 1).   Una biblioteca de SoftwareSerial permite la comunicación en serie en cualquiera de los pines digitales del Mega2560.   El ATmega2560 también admite la comunicación TWI y SPI. El software Arduino incluye una biblioteca Wire para simplificar el uso del bus TWI; Consulte la documentación para más detalles. Para la comunicación SPI, use la biblioteca SPI.

Entonces, hay un segundo chip ATmega16U2 en la placa que canaliza RX0 / TX0 a un puerto COM a través de usb a mi computadora. Entonces, un cable es para recibir y otro para enviar al puerto COM. Por lo tanto, cualquier software que escribo o que haya sido escrito para las conversaciones de Arduino a través de este puerto COM a una cierta velocidad de baudios y esta es la única forma en que Arduino y una computadora pueden interactuar a través de usb. ¿Es esto correcto?

En consecuencia, si quiero conectar mi arduino a un determinado software con una interfaz conocida, ¿debo programar una pieza de conexión entre el puerto COM y dicha interfaz?

    
pregunta Flying Swissman

1 respuesta

1

En realidad, tienes dos opciones generales:

1) Como creo que está sugiriendo, puede escribir algún tipo de software intermedio en el sistema host que se traduzca desde la interfaz que el software existente requiere hasta la que realmente soporta Arduino. En teoría, esto debería ser una gran solución; en la práctica, algunos sistemas operativos pueden dificultar la instalación.

2) El microcontrolador de interfaz USB ATMega16U2 es reprogramable, y el código fuente del firmware del puerto de comunicaciones virtual actual está disponible. Además, ya hay ejemplos de código fuente para implementar diferentes esquemas de interfaz USB en ese chip (la mayoría puede apuntar más al Uno, pero la conversión debe ser trivial)

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas