page-title-bg2
  >  Blog   >  Puerto de serie en Arduino
Curso Introducción a Arduino desde cero

Puerto de serie en Arduino

Comparte en RRSS
 

El puerto de serie o serial es lo que se usa para la comunicación entre ordenador y placa, este serial permite enviar y recibir mensajes, control de la depuración y el control de la placa. Todas las placas tienen al menos un puerto serie (a estos se les conoce también como UART o USART).

Arduino Family Placas asignatura de tecnología

PLACA NOMBRE CDC USB PINES SERIE SERIAL 1 PINES SERIAL2 PINES  SERIAL3 PINES
Uno, Nano, Mini 0(RX), 1(TX)
Mega 0(RX), 1(TX) 19(RX), 18(TX) 17(RX), 16(TX) 15(RX), 14(TX)
Leonardo, Micro, Yúm Serial 0(RX), 1(TX)
Uno Wifi Rev 2 Conectado al USB 0(RX), 1(TX) Conectado a NINA
Placas MKR  Serial 13(RX), 14(TX)
Zero Serial USB 0(RX), 1(TX)
Due Serial USB 0(RX), 1(TX) 19(RX), 18(TX) 17(RX), 16(TX) 15(RX), 14(TX)
101 Serial 0(RX), 1(TX)

En Uno, Nano, Mini y Mega, los pines 0 y 1 se usan para la comunicación con el ordenador. La conexión de cualquier cosa a estos pines puede interferir con esa comunicación, lo que incluye provocar cargas fallidas en la placa.

Funciones de control del puerto de serie

Serial.begin(valor)

Esta función abre el puerto serie y fija un valor (en baudios) para la transmisión de datos en serie. El valor típico de velocidad para comunicarse con el ordenador es 9600, aunque puede soportar otras velocidades.

void setup{

   Serial.begin(9600);

}

Serial.print(datos)

Serial.print() sirve para imprimir datos en el puerto serie, entre los paréntesis tenemos que añadir el valor a imprimir, puede ser un valor que escribimos a mano o un valor que está en una variable.

Serial.print(“Hola a todos”);

Serial.print(miVariable); // imaginamos que es 2

Resultado de la salida del puerto serie:

Hola a todos2

Si lo que queremos es que tras imprimir la variable en el puerto serie hacer un retorno de carro automático lo que tenemos que usar es Serial.println().

Serial.println(“Hola a todos”);

Serial.println(miVariable); // imaginamos que es 2

Resultado de la salida del puerto serie:

Hola a todos

2

Serial.print(dato, dato type)

Con lo que obtenemos usando esta función es mostrar el datos como queramos ya que le estamos diciendo que tipo de dato queremos que se muestre, por ejemplo si tenemos una variable que tiene el número 79 y le ponemos a la salida HEX (Hexadecimal), la salida que tendremos es 4F (número 79 en hexadecimal).

Serial.print(79, HEX); // salida es un string "4F", Hexadecimal

Serial.print(79, OCT); // salida es un string "117", Octal

Serial.print(79, BIN); // salida es un string "1001111", Binario

Serial.print(79, BYTE); // Devuelve el carácter "O", Tabla ASCII

Si esta última da error, pruebe con Serial.write(79)
*También esta función es aplicable a Serial.println() si queremos un retorno de carro

Serial.avariable()

Esta función obtiene un número entero con el número de bytes (caracteres) disponibles para leer o capturar desde el puerto serie, si el número es 0, significa que no hay datos almacenados. El buffer puede almacenar un máximo de 64 bytes.

Serial.Read()

Lee un byte (caracter) desde el puerto serie.
Un ejemplo de los dos últimas funciones sería el siguiente:

int incomingByte = 0; // almacenar el dato serie
void setup() {
   Serial.begin(9600); // abre el puerto serie,y le asigna la velocidad de 9600 bps
}

void loop() {
   // envía datos sólo si los recibe:
   if (Serial.available() > 0) {
incomingByte = Serial.read(); // lee el byte de entrada:
   Serial.print("Recibido: "); // lo vuelca a pantalla
   Serial.println(incomingByte, DEC);
   }
}

Ejercicios para entender el puerto de serie

Ejercicio 2
Imprime por el serial la frase “Este curso es Genial, somos 10 personas”, donde 10 será una variable, La frase solo se tiene que imprimir una vez.

 

Ejercicio 3
Transforma el número 172 en Octal y busca la combinación de números que al pasarlo a bytes salga tu nombre por el serial.

Puerto de serie en Arduino

 

Si quieres seguir aprendiendo…


¿Te está gustando este curso de Introducción a Arduino desde cero? Comparte este post en tus RRSS Facebook y Twitter.

Perfil oficial del blog de Flexbot.

Post a Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.