lunes 16 marzo 2026
para empezar, hagamos grupos de entre 2 y 3 personas, recordar que somos 31 estudiantes. cada grupo debe responder en discord los números de lista y etiquetar
nos unimos al servidor de discord del laboratorio de interacción digital, que es un lugar virtual y también físico, recordar que estamos en salvador sanfuentes 2221, tercer piso.
les pedimos usar nombre-apellido como nombre de usuario, para facilitar la comunicación. les etiquetamos con la sigla del curso, para poder mencionar con @ a toda la gente del curso cuando sea necesario.
en este curso, y en los cursos y talleres de la nueva mención de interacción digital estamos utilizando la plataforma GitHub.
una de las razones para usar GitHub es que nos da muchas facilidades para compartir archivos, mantener bitácoras públicas, escribir documentación técnica, y manejar control de versiones.
como UDP estamos certificades como GitHub Campus, por lo que tenemos acceso a herramientas profesionales de forma gratuita. también hay beneficios por usar una cuenta educacional, descritos en el apartado de GitHub Education.
les pedimos hacer fork del repositorio del curso, y que en sus forks incluyan sus apuntes, que usaremos como asistencia.
les recomendamos trabajar desde GitHub en la web, y también instalar la app en sus dispositivos móviles.
para la documentación de los proyectos y los apuntes del curso, usaremos Markdown, un lenguaje diseñado para escribir, formatear y jerarquizar texto de forma rápida.
existen muchos manuales de cómo escribir con markdown y en github, les recomendamos revisar repositorios de otros cursos de diseño udp, tanto de este semestre como de semestres pasados.
para trabajar con Arduino, necesitamos instalar el software Arduino IDE, disponible en la web https://www.arduino.cc/en/software/#ide
en marzo 2026 al momento de escribir estos apuntes, es la versión 2.3.8, disponible para Windows, macOS y Linux. para la gente trabajando en Mac, ojo con la versión de macOS, si es un computador con procesador Apple o Intel, que son los más antiguos.
dentro de este software estaremos investigando y usando varias bibliotecas adicionales, en particular para esta primera sesión necesitamos instalar 3 herramientas:
- Boards Manager -> Arduino Uno R4 Boards (v1.5.3 o más reciente)
- Library Manager -> ArduinoMQTTClient (v0.1.8 o más reciente)
- Library Manager -> ArduinoGraphics (v1.1.4 o más reciente)
para los ejercicios más simples de Arduino, será suficiente con Arduino IDE, pero para proyectos más complejos, recomendamos instalar Visual Studio Code, un editor de código más avanzado, disponible en https://code.visualstudio.com/
para la gente trabajando en un computador Mac, recomendamos instalar Homebrew, un gestor de herramientas de líneas de comandos, que facilita su instalación y actualización, disponible en https://brew.sh/.
con Homebrew pueden instalar herramientas que usaremos en este curso como Mosquitto, un broker de MQTT, que se puede instalar con el comando
brew install mosquittoen este curso usaremos la placa de desarrollo Arduino Uno R4 WiFi.
esta placa es una nueva versión del ya clásico Arduino Uno R3, el que fue lanzado en 2011, y se convirtió en un estándar en la enseñanza y prototipado de proyectos de computación física https://en.wikipedia.org/wiki/Physical_computing. usa el chip ATMEGA328P.
la placa Arduino Uno R4 WiFi fue lanzada el año 2023, tiene varias mejoras como la inclusión de WiFi, conector USB-C, un procesador más potente del fabricante Renesas, y también incluye una pequeña pantalla de 12 x 8 pixeles.
usaremos la palabra Arduino para referirnos a 3 cositas distintas:
- la placa de desarrollo, en nuestro caso, el microcontrolador Arduino Uno R4 WiFi.
- el software Arduino IDE, donde escribiremos el código que correrá en la placa.
- el lenguaje de programación, que es un dialecto del lenguaje C++, con funciones y bibliotecas diseñadas para facilitar la programación.
Un código en Arduino tiene la siguiente estructura básica
void setup() {
}
void loop() {
}al igual que en Processing, el código en Arduino tiene dos funciones principales:
- setup(): esta función corre una sola vez, al inicio del programa. se usa para configurar estado inicial y configurar entradas y salidas.
- loop(): esta función corre después de setup(), y se repite en bucle infinito. se usa para escribir código que actualiza el estado del programa, como lectura de sensores, procesamiento de información, y control de actuadores.
disponible en ./ejemplo00/
disponible en ./ejemplo01/
mosquitto es un broker de MQTT, que se encarga de recibir y distribuir mensajes entre clientes MQTTT.
hoy nos conectaremos a mi celular que tiene una red de wifi local, y usaremos mosquitto para enviar mensajes entre dispositivos conectados a esa red.
para nuestra clase preparamos un archivo de configuración de mosquitto, que usaremos así.
mosquitto -c mosquitto.confeste ejemplo tiene 2 partes
- la de recibir está disponible en ./ejemplo02Recibir/
- la de enviar está disponible en ./ejemplo02Enviar/