Ir al contenido

2.18 Control del monitor serie del UNO

En esta lección vas a profundizar lo aprendido en la parte 2, sumando la posibilidad de controlar los LEDs desde tu computadora usando el monitor serie de Arduino. Es el vínculo ideal para mandar y recibir mensajes de texto entre la PC y tu…

En esta lección vas a profundizar lo aprendido en la parte 2, sumando la posibilidad de controlar los LEDs desde tu computadora usando el monitor serie de Arduino. Es el vínculo ideal para mandar y recibir mensajes de texto entre la PC y tu placa, lo que facilita tanto el control manual como el proceso de debugging.

Resumen

El monitor serie funciona como un "cordón umbilical" entre la computadora y tu UNO. Te permite enviar y recibir mensajes de texto, algo que viene bárbaro para depurar errores y también para controlar la placa directamente desde el teclado. Por ejemplo, vas a poder mandar comandos para encender LEDs específicos. En esta lección vamos a usar exactamente las mismas piezas y un diseño de protoboard similar al de la Lección 18 de la Parte 2. Así que, si todavía no lo hiciste, fijate de completar esa lección ahora.

Pasos

Después de cargar el código (sketch) en tu UNO, hacé clic en el botón que está en el extremo derecho de la barra de herramientas del IDE de Arduino. Es el que aparece marcado en la imagen del manual.

Se va a abrir una ventana nueva: ese es el Monitor Serie. Los conceptos básicos sobre esta herramienta se explican en detalle en la Lección 4 de la parte 2.

Esta ventana es parte del software IDE de Arduino y su laburo es permitirte tanto enviar mensajes desde tu PC a la placa UNO (vía USB) como recibir los mensajes que la placa te mande.

El mensaje “Enter LED Number 0 to 7 or 'x' to clear” fue enviado por el Arduino. Nos está indicando qué comandos podemos usar: o bien mandás una 'x' (para apagar todos los LEDs) o el número del LED que quieras prender (donde 0 es el LED de abajo, 1 el que sigue, y así hasta el 7 para el de más arriba).

Probá escribiendo los siguientes comandos en la parte superior del Monitor Serie, al nivel del botón 'Send'. Dale a 'Send' después de escribir cada uno de estos caracteres: x 0 3 5.

Escribir 'x' no va a tener efecto si los LEDs ya están apagados, pero a medida que pongas cada número, el LED correspondiente se tendría que iluminar y vas a recibir un mensaje de confirmación de la placa UNO. El Monitor Serie se va a ver como en la imagen. Volvé a escribir 'x' y apretá 'send' para apagar todos los LEDs.

Código

Podés hacer clic en el link de texto azul para bajar el archivo del programa a tu equipo y después hacé doble clic para abrirlo una vez que termine la descarga. Ojo: antes de abrir el archivo, asegurate de tener instalado el entorno de desarrollo IDE de Arduino y todos los componentes necesarios, como el soporte para la placa y los drivers del UNO. Si tenés dudas con este proceso, podés consultar el capítulo "parte 1" del documento para una guía detallada.

📥 DESCARGAR the_serial_monitor.ino


void loop()
{
  //Apagar todos los led
  leds = 0;
  updateShiftRegister();
  delay(tDelay);
  //Bucle for: i va de 0 a 7 aumentando gradualmente
  for (int i = 0; i < 8; i++)
  {
    //prende el led según la transformación de i
    bitSet(leds, i);
    updateShiftRegister();
    delay(tDelay);
  }
}

Este código viene del tutorial anterior y no requiere intervención manual; el programa se ejecuta solo siguiendo una lógica fija: primero apaga todos los LEDs, después prende cada uno de 0 a 7 mediante un bucle for, y repite el proceso después de completar una vuelta.

Este tutorial introduce la forma de usar el control por puerto serie. En realidad, no hay diferencia en el principio básico de controlar las luces, sino que cambia la manera de interactuar con ellas.


void loop()
{
  if (Serial.available())//vemos si el puerto serie recibe datos
  {
    char ch = Serial.read();//Leemos el dato y lo guardamos en "ch"

    if (ch >= '0' && ch <= '7') //Si el dato es un carácter entre '0' y '7'
    {
      int led = ch - '0'; //Convertimos el carácter a número binario, ej: '0' -> 0
      bitSet(leds, led);
      updateShiftRegister();
      Serial.print("Turned on LED ");
      Serial.println(led);
    }
    if (ch == 'x')
    {
      leds = 0;
      updateShiftRegister();
      Serial.println("Cleared");
    }
  }
}

La diferencia principal es que la parte del bucle for se reemplaza por la lectura de datos del puerto serie. El bucle for era automático, pero acá, al usar el modo de lectura serie, el LED correspondiente se prende evaluando los datos recibidos. De esta forma, podés elegir manualmente qué luz querés prender.

Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.

Fuente: Adaptado al español desde el wiki oficial (licencia CC BY-SA). Revisión técnica por equipo Breva.
25%
Tecnología real, elegida con criterio técnico Probás, aprendés y te llevás lo correcto Showroom abierto en Rosario Impresión 3D · Electrónica · Software Desde 2012 en impresión 3D FilAr — Argentina, extruido por nosotros Probá antes de llevarte Combos pensados, no pegados No te vendemos una caja. Entendemos lo que hay adentro. Repuestos críticos en stock Soporte por WhatsApp 9-19 Bambu Lab en showroom Filamentos para tocar Arduino, ESP32 y sensores Robótica educativa para tu aula Equipamos escuelas y empresas Producción 3D con criterio PLA y PETG fabricados en Argentina Trazabilidad por lote — FilAr Perfiles calibrados para tu impresora Cursos y demos en Breva Academy Sábados con demo abierta Garantía explicada en términos humanos No desaparecemos después del checkout Asesoramiento técnico sin compromiso Retiro en el día en Rosario Envío a todo el país Factura A para empresas Catálogo curado, no inflado Si lo vendemos, lo probamos antes De RepRap a la nueva generación Más de 13 años imprimiendo Criterio técnico transversal Tres mundos, una misma cabeza Impresoras 3D en Rosario Notebooks, monitores y periféricos Domótica con ESP32 Cámaras, sensores y trazabilidad Para makers, técnicos y emprendedores Para escuelas y empresas Soluciones, no SKUs Cotización formal para B2B Plan de mantenimiento para empresas Capacitación docente incluida Combo Bambu + FilAr Combo arranque sin renegar Combo ESP32 IoT La tecnología se entiende usándola No te vendemos lo que no probamos Sabemos por qué falla un purgado Sabemos por qué un PETG burbujea Sabemos por qué una pieza no se pega No vendemos por catálogo Curaduría con criterio Showroom · Asesoramiento · Soporte Probá en vivo antes de decidir FilAr — el filamento que sabemos Hardware + software, mismo equipo Automatización, datos y producción Tecnología tangible Probada antes de venderla Soporte que responde La compra no termina en el checkout Comprá una vez. Te ayudamos siempre. Modo experiencia activado Modo showroom: encendido Real hardware. Real support. Touch it. Try it. Take it home. Build. Print. Automate. Repeat. Tres mundos. Una tienda. Tecnología para construir Tecnología para producir Tecnología para enseñar Productos seleccionados, no inflados Lo que recomendamos, lo probamos Si va a fallar, lo sabemos Soporte técnico sin guion Vení a tocar el showroom Impresoras imprimiendo en mostrador Filamentos al tacto Notebooks encendidas Electrónica armada Demos los sábados Cursos presenciales Guías técnicas gratis Repuestos para Bambu Lab Repuestos para Creality Hot-ends, boquillas y plates Sensores, motores y módulos Componentes PC y mejoras Comprá con criterio Probá con calma Aprendé con quien sabe Llevate lo correcto Hacé proyectos reales Rosario · Centro · Showroom abierto Tecnología argentina cuando se puede Tecnología importada cuando hace falta Curaduría > Catálogo Hechos > Promesas Servicio > Discurso Stack: Bambu · Creality · FilAr · Arduino · ESP32 No somos marketplace Somos gente que la usa Y la fabricamos cuando se puede Breva · Rosario Tecnología real, elegida con criterio técnico Probás, aprendés y te llevás lo correcto Showroom abierto en Rosario Impresión 3D · Electrónica · Software Desde 2012 en impresión 3D FilAr — Argentina, extruido por nosotros Probá antes de llevarte Combos pensados, no pegados No te vendemos una caja. Entendemos lo que hay adentro. Repuestos críticos en stock Soporte por WhatsApp 9-19 Bambu Lab en showroom Filamentos para tocar Arduino, ESP32 y sensores Robótica educativa para tu aula Equipamos escuelas y empresas Producción 3D con criterio PLA y PETG fabricados en Argentina Trazabilidad por lote — FilAr Perfiles calibrados para tu impresora Cursos y demos en Breva Academy Sábados con demo abierta Garantía explicada en términos humanos No desaparecemos después del checkout Asesoramiento técnico sin compromiso Retiro en el día en Rosario Envío a todo el país Factura A para empresas Catálogo curado, no inflado Si lo vendemos, lo probamos antes De RepRap a la nueva generación Más de 13 años imprimiendo Criterio técnico transversal Tres mundos, una misma cabeza Impresoras 3D en Rosario Notebooks, monitores y periféricos Domótica con ESP32 Cámaras, sensores y trazabilidad Para makers, técnicos y emprendedores Para escuelas y empresas Soluciones, no SKUs Cotización formal para B2B Plan de mantenimiento para empresas Capacitación docente incluida Combo Bambu + FilAr Combo arranque sin renegar Combo ESP32 IoT La tecnología se entiende usándola No te vendemos lo que no probamos Sabemos por qué falla un purgado Sabemos por qué un PETG burbujea Sabemos por qué una pieza no se pega No vendemos por catálogo Curaduría con criterio Showroom · Asesoramiento · Soporte Probá en vivo antes de decidir FilAr — el filamento que sabemos Hardware + software, mismo equipo Automatización, datos y producción Tecnología tangible Probada antes de venderla Soporte que responde La compra no termina en el checkout Comprá una vez. Te ayudamos siempre. Modo experiencia activado Modo showroom: encendido Real hardware. Real support. Touch it. Try it. Take it home. Build. Print. Automate. Repeat. Tres mundos. Una tienda. Tecnología para construir Tecnología para producir Tecnología para enseñar Productos seleccionados, no inflados Lo que recomendamos, lo probamos Si va a fallar, lo sabemos Soporte técnico sin guion Vení a tocar el showroom Impresoras imprimiendo en mostrador Filamentos al tacto Notebooks encendidas Electrónica armada Demos los sábados Cursos presenciales Guías técnicas gratis Repuestos para Bambu Lab Repuestos para Creality Hot-ends, boquillas y plates Sensores, motores y módulos Componentes PC y mejoras Comprá con criterio Probá con calma Aprendé con quien sabe Llevate lo correcto Hacé proyectos reales Rosario · Centro · Showroom abierto Tecnología argentina cuando se puede Tecnología importada cuando hace falta Curaduría > Catálogo Hechos > Promesas Servicio > Discurso Stack: Bambu · Creality · FilAr · Arduino · ESP32 No somos marketplace Somos gente que la usa Y la fabricamos cuando se puede Breva · Rosario