Comunicación Serial

Algo que resulta muy útil al trabajar con microcontroladores, es tener comunicación con la computadora para así ver de alguna forma que está haciendo el microcontrolador. Se puede lograr al desplegar mensajes con la función «print» y verlos en una «terminal» en la computadora.

Por ejemplo un mensaje al inicio de la ejecución del programa que indique que todo anda bien.

Para comunicar la computadora y el Arduino se utiliza el puerto Serial con que cuenta el Arduino y que en la computadora se conoce como puerto «COM» que se identificó en la sección de Configuración Inicial.

Entonces, se requiere hacer uso del puerto Serial en ambos lados, el microcontrolador y la computadora.

Arduino:

void setup() {
  // --- Rutina para abrir el puerto serial --------
  Serial.begin(9600);
  // --------------------------------------------

  // --- Instrucción para mandar un mensaje a la computadora ---
  Serial.println("Iniciando...");
  // --------------------------------------------------------------
}

Este ejemplo mandará el mensaje «Iniciando…» a la computadora al iniciar el programa del Arduino.

Computadora:

Para recibir el mensaje en la computadora, se requiere abrir una terminal, puede utilizarse el «Monitor Serial» que viene incluido en el Software Arduino, para iniciarlo se puede hacer click en el botón ubicado en el extremos superior derecho de la ventana:
boton_monitor

Se abrirá una nueva ventana donde se recibirán los mensajes enviados desde el Arduino:

monitor_serial

Si el mensaje no se logra ver, se puede reiniciar el programa al presionar el botón de «reset» en la tarjeta Arduino.

Ejemplo:

Mostrar un mensaje que indique cuando el LED del programa anterior enciende y otro mensaje cuando apague.

Una vez inicializado el puerto serie en el setup(), se puede utilizar un Serial.println para mostrar mensajes en la terminal. En este caso, puede quedar: 

void setup() {
Serial.begin(9600); pinMode(13, OUTPUT); } void loop() {
Serial.println("LED ENCENDIDO"); digitalWrite(13, HIGH); delay(1000);
Serial.println("LED APAGADO"); digitalWrite(13, LOW); delay(1000); }

Al estar dentro de la función loop(), se repetirá infinidad de veces cada letrero, de modo que cada que encienda el LED se verá en la terminal LED ENCENDIDO y cuando apague LED APAGADO:

LED ENCENDIDO
LED APAGADO
LED ENCENDIDO
LED APAGADO
LED ENCENDIDO
LED APAGADO

Ejercicios:

3B: Mostrar el número de veces que se ha encendido y apagado el LED. (Se requiere utilizar una variable para llevar la cuenta)

(294)

Acerca de jfvilla

Juan Francisco Villa Medina es ingeniero en Sistemas Computacionales (graduado con mención honorífica), en 2013 obtuvo el grado de Maestro en Sistemas Computacionales (graduado con mención honorífica), en 2021 obtuvo el grado de Doctor en Ciencias por el Instituto Politécnico Nacional (IPN), es Profesor-Investigador en la Universidad Autónoma de Baja California Sur (UABCS). Trabaja también en el Centro de Investigaciones Biológicas del Noroeste (CIBNOR), donde es desarrollador de software y circuitos electrónicos enfocado en vehículos autónomos. Cuenta con diversas publicaciones científicas y ha sido asesor de estudiantes en diversos eventos de tecnología a nivel nacional. También es co-fundador de 7robot, una empresa de tecnología enfocada a la robótica y automatización.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *