En este post vás a aprender a manejar la función serial es decir la comunicación serie entre el ordenador-Arduino y viceversa para poder enviar datos a nuestro Arduino y mostrar datos que nos envie Arduino en el ordenador.
Para ello tendremos que clicar en la lupa situada en el vertice superior derecho del IDE de Arduino para abrir el monitor serie
Si lo deseas aqui tienes el vídeo donde te explico la función serial
Función serial
Serial.begin(rate)
Esta función lo que hace es abrir el puerto serie y mediante el valor indicado entre paréntesis le indicamos la velocidad en baudios de transmisión.
void setup()
{
Serial.begin(9600);
}
*Cuando utilizamos la comunicación serie no podemos utilizar los pines 0(RX) y 1(TX) de arduino al mismo tiempo ya que son utilizados para la comunicación serie.
Serial.print(data)
Esta instrucción imprime los datos del puerto serie en el monitor, es decir coge el valor de la variable data y lo muestra en el monitor serie de Arduino
Serial.println(data)
Lo mismo que la anterior pero añade un retorno de carro y salto de línea es decir los datos en lugar de aparecer en el monitor uno al lado del otro, salen uno debajo del otro para facilitar su lectura.
Serial.println(sensorTemperatura);//Imprime el valor de la variable //sensorTemperatura
Si quieres convertirte en un experto en Arduino pincha en el siguiente botón
Serial.print(data,datatype) o println(data,datatype)
Imprime un valor (data) en el formato especificado en datatype, si no pone nada lo imprime en decimal.
Ejemplos:
- Serial.print(56);//imprime el 56 en decimal
2. Serial.print(56,DEC);//imprime 56 en decimal
3. Serial.print(56,OCT);imprime el 70 en octal
4. Serial.print(56,HEX);//imprime el 38 en hexadecimal
5. Serial.print(56,BIN);//imprime el 111000
6. Serial.print(56,BYTE);//imprime el carácter 8 en ASCII
Enviar un solo carácter, para ello hay que mandarlo entre comillas simples.
Serial.print(‘n’);// imprime el caracter n
Enviar una cadena de caracteres
Serial.print(“Hola Arduino”);imprime la cadena Hola Arduino
Serial.available()
Con esta función se obtiene la cantidad de bytes recibidos desde el puerto serie y están disponibles para leer, si no hay ninguno disponible devuelve 0, estos son almacenados en el buffer serie que tiene una capacidad de almacenamiento de 64 bytes
Ejemplo int numeroBytes = Serial.available()
Serial.read()
Captura el byte o carácter recibido desde el puerto serie si no hay ninguno devuelve -1
En el siguiente programa tecleamos el caracter e para encender el led del pin 2 y nos mostrara en el monitor serie la palabra encendido si tecleamos el carácter a se apagará y se mostrara la palabra apagado en el monitor serie.
ESTE PROGRAMA LO TIENES PARA QUE LO DESCARGUES Y LO INSTALES EN TU ARDUINO EN LA ZONA DE DESCARGAS
/*AUTOR: JOSE ANTONIO RIVERA MORALES *FECHA: 6-8-2019 *www.pasionelectronica.com * En este programa abrimos el monitor serie * tecleamos el caracter e si queremos encender el led * situado en el pin 2 y nos mostrará en el monitor serie ENCENDIDO * si tecleamos el caracter a apagará el led */ char seleccion; int led1 = 2; void setup(){ Serial.begin(9600); pinMode(led1, OUTPUT);//pin 2 como salida Led } void loop(){ if (Serial.available()>0){//comprobamos que existan datos en el buffer seleccion=Serial.read();//leemos el caracter enviado a,e if(seleccion=='a') {//si es a apagamos el led1 digitalWrite(led1, LOW); Serial.println("APAGADO"); } if(seleccion=='e') {//si es e encendemos el led1 digitalWrite(led1, HIGH); Serial.println("ENCENDIDO"); } } }
Para tener acceso a toda la documentación, esquemas eléctricos y programas para que directamente los descargues y los instales en tu Arduino registrate y tendras acceso a las descargas DE FORMA GRATUITA y a nuestra newslewtter