Comunicación de la tarjeta Arduino con el computador

Introducción.

La tarjeta Arduino incluye un puerto serial que puede accederse a través de los pines digitales 0 (RX) y 1 (TX) o desde el computador a través del puerto USB.  Esto se realiza a través del objeto Serial con el que es posible realizar las siguientes acciones.

Descripción general de las funciones de E/S.

Establecer tasa de transmisión de datos.

void Serial.begin(int velocidad);
  • Debe realizarse como paso previo a la emisión/recepción de información a través del puerto serial.
  • La tasa puede ser una de las estándar: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 y 115200, o cualquiera personalizada.
  • La velocidad utilizada para realizar la conexión con el computador es de 9600.

Verificar bytes pendientes por lectura.

int Serial.available();
  • Como su nombre lo indica, la transmisión de información a través del puerto serial se realiza de manera serial, es decir un byte a la vez.
  • Este método permite verificar si hay bytes pendientes de lectura retornando el número de bytes disponibles en el buffer del puerto serial.
  • El buffer del puerto serial puede retener hasta 128 bytes.
  • Retorna 0 si no hay bytes pendientes de lectura en el puerto.

Leer información.

int Serial.read();
  • Obtiene el siguiente byte disponible en el buffer del puerto serial.
  • Retorna -1 si no hay información disponible.

Limpiar el buffer de entrada.

void Serial.flush();
  • Limpia el buffer de entrada del puerto serial, descartando cualquier contenido que se encuentre allí.

Enviar información.

void Serial.print(datos);
void Serial.print(datos, tipo);
void Serial.println(datos);
void Serial.println(datos, tipo);
  • Envían la información (datos) en el formato especificado (tipo) a través del puerto serial.
  • El formato (tipo) puede ser uno de los siguientes.
    • DEC: representación en cadena de un número decimal (79).
    • HEX: representación en cadena de un número hexadecimal (4F).
    • OCT: representación en cadena de un número octal (117).
    • BIN: representación en cadena de un número binario (1001111).
    • BYTE: un único byte.
  • Si no se especifica un formato (tipo), se utiliza por defecto a DEC.
  • La diferencia entre print y println es que el segundo agrega un retorno de carro (ASCII 13 o ‘r‘) y un salto de línea (ASCII 10 o ‘n‘) al final de de la información enviada.

Enviar información binaria.

void Serial.write(datos);
void Serial.write(buffer, longitud);
  • Envía información binaria: un byte o una secuencia de bytes, al puerto serial.
  • Los datos a enviarse pueden ser un número o una cadena.
  • Si se desea enviar un arreglo (buffer) es necesario especificar su longitud.

Depurando la transmisión de datos.

Es posible revisar fácilmente con el IDE de Arduino lo que la tarjeta está transmitiendo al computador a través del puerto USB mediante el Monitor Serial.  Esto es muy útil también para la depuración rápida de los sketches.

Para activar el Monitor Serial se debe presionar el ícono serial_monitor y utilizar las funciones de envío de información mencionadas anteriormente, de esta manera aparecerá en la sección inferior del IDE una consola donde se podrán apreciar los mensajes enviados por la Arduino.

void Serial.print(datos, tipo);

One thought on “Comunicación de la tarjeta Arduino con el computador”

  1. hola buenas,
    estoy desarrollando un proyecto con dos Arduinos uno, dos modulos gps y dos modulos bluetooth hc05 tx, hc06 rx
    no me recibe los datos que le transmito mas que con bolas negras q es como si fueran caracteres desconocidos…
    sabría indicarme que puede pasar

Leave a Reply

Your email address will not be published. Required fields are marked *