Puerto Serial

Este se usa en varias ocasiones para transmitir y recibir datos de otros dispositivos como un PC o de otro microcontrolador.
El puerto serie del Arduino Uno usa los pins 0(RX) y 1(TX). Estos están conectados al controlador FTDI (ATmega 16u2) que es el que permite la traducción del formato serie TTL a USB. Estos pines no pueden ser utilizados mientras se usa la comunicación serie.
Funciones de Programación
-begin(velocidad) Abre el puerto serie y establece la velocidad. La velocidad de conexión (baudios o Baud Rate) es la velocidad que llegan los datos al puerto serie. Normalmente se usa 9600bps o 115000bps.
-available() Esta función devuelve el estado del buffer del puerto serie y rebela si hay datos dentro de este.
-read() Lee un carácter del buffer. Es importante entender que lee un solo carácter (byte).
-write() Escribe caracteres a través del puerto serie. A diferencia de read(), escribe tantos caracteres como quieras.
-print() Imprime los datos al puerto serie como texto ASCII.
-println() Imprime los datos al puerto serie como texto ASCII seguido de un retorno de carro
-flush() Vacía el buffer de entrada de datos.
-end() Desactiva la comunicación serie, permitiendo a los pines 0(RX) y 1 (TX) ser usados como entradas o salidas digitales. Para volver a activar la comunicación serie, llamar la función Serial.begin().
Código 1
int cont=0;
void setup(){
Serial.begin(9600); }
void loop(){
Serial.print("Contador: ");
Serial.println(cont);
cont++;
delay(1000); }
Código 2
int option;
int led = 13;
void setup(){
Serial.begin(9600);
pinMode(led, OUTPUT); }
void loop(){
if (Serial.available()>0){
option=Serial.read();
if(option=='a') {
digitalWrite(led, LOW);
Serial.println("OFF"); }
if(option=='b') {
digitalWrite(led, HIGH);
Serial.println("ON"); }
}
}