Abre el puerto serie y fija la velocidad en baudios para la transmisión de datos en serie. El valor típico de velocidad para comunicarse con el ordenador es 9600, aunque otras velocidades pueden ser soportadas.
void setup()
{
Serial.begin(9600); // Abre el Puerto serie configurando la velocidad en 9600 bps
}
Nota: Cuando se utiliza la comunicación serie los pins digital 0 (RX) y 1 (TX) no puede utilizarse al mismo tiempo.
Vuelca o envía un número o una cadena de carateres, al puerto serie. Dicho comando puede tomar diferentes formas, dependiendo de los parámetros que utilicemos para definir el formato de volcado de los números.
data: El número o la cadena de caracteres a volcar o enviar.
data type: Determina el formato de salida de los valores numéricos (decimal, octal, binario,
etc...) DEC, OCT, BIN, HEX, BYTE , si no se pone nada, devuelve ASCII.
Serial.print(b)
Vuelca o envía el valor de b como un número decimal en caracteres ASCII. Equivaldría a
printInteger().
int b = 79;
Serial.print(b); // Imprime la cadena "79"
Serial.print(b, DEC)
Vuelca o envía el valor de b como un número decimal en caracteres ASCII. Equivaldría a
printInteger().
int b = 79;
Serial.print(b, DEC); // Imprime la cadena "79"
Serial.print(b, HEX)
Vuelca o envía el valor de b como un número hexdecimal en caracteres ASCII. Equivaldría a
printHex().
int b = 79;
Serial.print(b, HEX); // Imprime la cadena "4F"
Serial.print(b, OCT)
Vuelca o envía el valor de b como un número octal en caracteres ASCII. Equivaldría a
printOctal().
int b = 79;
Serial.print(b, OCT); // Imprime la cadena "117"
Serial.print(b, BIN)
Vuelca o envía el valor de b como un número binario en caracteres ASCII. Equivaldría a
printBinary().
int b = 79;
Serial.print(b, BIN); // Imprime la cadena "1001111"
Serial.print(b, BYTE)
Vuelca o envía el valor de b como un byte. Equivaldría a printByte().
int b = 79;
Serial.print(b, BYTE); // Imprime el carácter "O", el cual representa
// el carácter ASCII del valor 79
Serial.print(str)
Vuelca o envía la cadena de caracteres como una cadena ASCII. Equivaldría a printString().
Serial.print("Hello World!"); // Imprime "Hello World!"
Imprime los datos en el puerto serie, seguido por un retorno de carro automático y salto de línea. Este comando toma la misma forma que Serial.print(), pero es más fácil para la lectura de los datos en el Monitor Serie del software.
Serial.println(analogValue); // Envía el valor 'analogValue' al puerto
Nota: Para obtener más información sobre las distintas posibilidades de Serial.print() y Serial.println() puedes consultar el sitio web de Arduino.
El siguiente ejemplo toma de una lectura analógica pin0 y envía estos datos al ordenador cada segundo.
void setup()
{
Serial.begin(9600); // Configura el puerto serie a 9600 bps
}
void loop()
{
Serial.println(analogRead(0)); // Envía el valor de la lectura analógica
delay(1000); // Espera 1 segundo
}
Vuelca o envía un número o una cadena de carateres al puerto serie, seguido de un caracter de retorno de
carro "CR" (ASCII 13, o '\r') y un caracter de salto de línea "LF" (ASCII 10, o '\n'). Toma la misma forma
que el comando Serial.print()
Serial.println(b)
Vuelca o envía el valor de b como un número decimal en caracteres ASCII seguido de "CR" y "LF".
Serial.println(b, DEC)
Vuelca o envía el valor de b como un número decimal en caracteres ASCII seguido de "CR" y "LF".
Serial.println(b, HEX)
Vuelca o envía el valor de b como un número hexdecimal en caracteres ASCII seguido de "CR" y "LF".
Serial.println(b, OCT)
Vuelca o envía el valor de b como un número octal en caracteres ASCII seguido de "CR" y "LF".
Serial.println(b, BIN)
Vuelca o envía el valor de b como un número binario en caracteres ASCII seguido de "CR" y "LF".
Serial.print(b, BYTE)
Vuelca o envía el valor de b como un byte seguido de "CR" y "LF".
Serial.println(str)
Vuelca o envía la cadena de caracteres como una cadena ASCII seguido de "CR" y "LF".
Serial.println()
Solo vuelca o envía "CR" y "LF". Equivaldría a printNewline().
Obtiene un número entero con el número de bytes (caracteres) diponibles para leer o capturar desde el puerto serie. Equivaldría a la función serialAvailable().
int Serial.available()
Devuelve un entero con el número de bytes disponibles para leer desde el buffer serie, o 0 si no hay ninguno.
Si hay algún dato disponible, SerialAvailable() será mayor que 0. El buffer serie puede
almacenar como máximo 64 bytes.
int incomingByte = 0; // Almacena 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
// Lo vuelca a pantalla
Serial.print("Se ha recibido: ");
Serial.println(incomingByte, DEC);
}
}
Lee o captura un byte (un caracter) desde el puerto serie. Equivaldría a la función serialRead().
int Serial.Read()
Devuelve el siguiente byte (carácter) desde el puerto serie, o -1 si no hay ninguno.
int incomingByte = 0; // Almacena 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
// Lo vuelca a pantalla
Serial.print("Se ha recibido: ");
Serial.println(incomingByte, DEC);
}
}