Lección 3 del curso para principiantes de Arduino: uso de la biblioteca en serie

Puede descargar nuestro libro electrónico ‘Aprender Arduino’ desde este enlace

La biblioteca Serial es una de las bibliotecas más utilizadas en el desarrollo de Arduino. La comunicación serial proporciona una interfaz de comunicación simple a la PC o cualquier otro dispositivo que acepte conexiones sobre el protocolo serial. A lo largo de este curso y algunos de los proyectos que publicamos, Serial se utilizará para generar datos de depuración o datos fácticos. Los datos de depuración son cuando necesitamos generar datos particulares para saber dónde está la ejecución del programa en un momento determinado, o para generar valores variables en diferentes intervalos. También se puede utilizar como la salida de datos principal de su dispositivo, por ejemplo, el detector de rayos, donde la PC recopila los datos mediante la comunicación en serie.

El objetivo de esta lección es brindarle la oportunidad de aprender cómo configurar la biblioteca Serial, cómo usarla en diferentes situaciones y explicar la función común en la comunicación serial. Para obtener un conocimiento profundo de cómo funciona la biblioteca, visite la página de serie de Arduino.cc.

Serie de hardware

Cada placa Arduino tiene al menos 1 serie de hardware (UART). Se comunica a través del pin digital RX 0 y el pin digital TX 1. Estos pines también están conectados al puerto USB del dispositivo.

Serie de software

Es otra biblioteca casi idéntica a Serial pero permite que todos los pines digitales actúen como TX y RX. Esto significa que el dispositivo puede comunicarse con una PC a través de los pines 0 y 1, y con otro dispositivo a través de los pines 2 y 3.

En la lección anterior, ya vimos cómo imprimir un texto en el puerto serie y leerlo con el monitor serie provisto con el IDE de Arduino. Hoy vamos a escribir y leer datos sobre Serial, interpretarlos y actuar en consecuencia.

Escritura en serie

Algo que vimos la última vez fue Serial.begin. Esto inicializa el oyente serial para cualquier comunicación. Esta línea debe ir en la función setup(), no es obligatorio pero sí muy recomendable. Así que nuestra primera pieza de código de hoy

void setup(){    Serial.begin(9600);    }

El parámetro ‘9600’ es la velocidad a la que se enviarán los datos, actualmente 9600 kbps. Ahora podemos saludar al usuario agregando algunas funciones de impresión en la configuración.

void setup() {    Serial.begin(9600);    Serial.println("Hello, Runtime Projects here");    Serial.println("This is lesson 3");    }

La función println enviará el texto al otro extremo de la comunicación serial y agregará el carácter de nueva línea ‘n’. Esto significa que el cursor se moverá a una nueva línea después de imprimir el texto en el monitor serie.

Otros usos de println son Serial.println(x), donde x puede ser un byte, un número entero, un valor flotante o un carácter, o incluso una matriz de caracteres. Juegue con esta función por un tiempo y vea cómo puede usarla para transmitir sus datos.

Lectura de serie

La comunicación en serie es necesaria cuando necesita instruir a su Arduino para que realice una tarea bajo demanda. Por ejemplo, le gustaría encender/apagar un LED a voluntad, o mover un motor 10 grados hacia la izquierda. Las posibilidades son infinitas. Para hacer esto, necesitamos hacer que Arduino escuche los mensajes que enviamos a través de la línea serial. Imagínense por simplicidad, queremos que el LED se encienda cuando enviamos ‘H’ y se apague cuando enviamos ‘L’ sobre el serial. Hagámoslo.

char incomingMessage;    int ledPin = 13;    void setup() {      Serial.begin(9600);      pinMode(ledPin,OUTPUT);      Serial.println("Hello, Runtime Projects here");      Serial.println("This is lesson 3");    }    void loop() {      if (Serial.available() > 0) {        incomingMessage = Serial.read();        if (incomingMessage == 'H') {          digitalWrite(ledPin,HIGH);        } else if (incomingMessage == 'L') {          digitalWrite(ledPin,LOW);        }      }  }  

Ahora cargue el boceto y vaya al monitor de serie. Debería recibir las 2 líneas que configuramos en la configuración. Luego envíe ‘H’ en el monitor serial y verifique su LED, envíe ‘L’ y verifíquelo nuevamente 🙂 Tenga en cuenta que la ‘H’ y la ‘L’ distinguen entre mayúsculas y minúsculas.

Estén atentos para la próxima lección, nos ocuparemos de los pines y cómo controlarlos 😀

Vaya a la Lección 4 aquí