Saltar al contenido
Logotipo de Trainontech Trainontech

Electrónica y Sistemas Embebidos · EMB-103

Arduino avanzado: interrupciones y buses

Interrupciones, I2C, SPI y EEPROM para que el programa responda a tiempo a cada evento.

Disponible Avanzado 7 módulos · 32 clases

Formato asíncrono Ingeniería / Industria, Desarrollo, Docentes FP Arduino

Lo que aprenderás

  • Atender eventos con interrupciones externas y escribir rutinas de servicio breves y seguras.
  • Usar variables volatile y secciones críticas para compartir datos entre la interrupción y el bucle principal.
  • Configurar temporizadores por hardware para generar bases de tiempo y muestreos regulares.
  • Comunicar dispositivos por I2C gestionando direcciones, escaneo del bus y resistencias de terminación.
  • Intercambiar datos por SPI con varios esclavos controlando las líneas de selección y el modo de reloj.
  • Guardar configuración y contadores en la EEPROM interna cuidando su número limitado de escrituras.

Contenido del curso

7 módulos · 32 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Límites del sondeo 4 clases
  • Qué se pierde con delay y con lectura cíclica
  • Latencia y respuesta a eventos
  • Entorno y material del curso
  • Medir el tiempo de ciclo del programa
Módulo 2 · Interrupciones externas 5 clases
  • attachInterrupt y tipos de flanco
  • Escribir una rutina de servicio correcta
  • volatile y acceso atómico a variables
  • Contador de pulsos de un encoder
  • Rebotes en una interrupción
Módulo 3 · Temporizadores 5 clases
  • Temporizadores del microcontrolador
  • Interrupción periódica y base de tiempo
  • Muestreo regular de un sensor
  • Generación de señales con precisión
  • Convivencia con las librerías que usan temporizadores
Módulo 4 · Comunicación serie avanzada 4 clases
  • Tramas, delimitadores y protocolo propio
  • Recepción no bloqueante por interrupción
  • Buffer circular para datos entrantes
  • Sumas de comprobación y detección de errores
Módulo 5 · Bus I2C 5 clases
  • Funcionamiento del bus y direccionamiento
  • Escaneo de dispositivos conectados
  • Librería Wire: lectura y escritura de registros
  • Resistencias de terminación y longitud del bus
  • Varios dispositivos en el mismo bus
Módulo 6 · Bus SPI 5 clases
  • Líneas del bus y modos de reloj
  • Selección de esclavo y varios dispositivos
  • Lectura de un sensor y de una memoria por SPI
  • Velocidad del bus y calidad de la señal
  • Comparación práctica entre I2C y SPI
Módulo 7 · EEPROM y proyecto 4 clases
  • EEPROM interna: lectura y escritura
  • Estructuras de configuración persistente
  • Desgaste de celdas y reparto de escrituras
  • Proyecto: registrador con eventos por interrupción y datos en bus

Requisitos

  • Experiencia programando Arduino con entradas, salidas, PWM y comunicación serie.
  • Programación en C o C++ a nivel de funciones, punteros básicos y tipos de datos.
  • Nociones de electrónica digital: niveles lógicos, señales de reloj y buses.
  • Placa Arduino y varios módulos con interfaz I2C y SPI para las prácticas.

Descripción

Con delay y lectura por sondeo se llega hasta cierto punto. Cuando hay que contar pulsos de un encoder, atender un pulsador mientras se refresca una pantalla o leer varios sensores por un mismo bus, el programa empieza a perder eventos y a comportarse de forma irregular sin que el código parezca equivocado.

Este curso cambia el modelo de programación. Introduce interrupciones externas y por temporizador, explica por qué una rutina de servicio debe ser corta y qué problemas causa compartir variables sin precaución, y sustituye las esperas activas por bases de tiempo por hardware. Después entra en los buses: I2C con sus direcciones y su escaneo, y SPI con sus modos y su selección de esclavo.

El último bloque añade almacenamiento persistente en EEPROM para configuración y contadores, con sus límites de escritura. Con esto queda cubierta la base para los cursos de bajo consumo y depuración, de ampliación de hardware con expansores y conversores, y para escribir librerías propias reutilizables.

¿Para quién es este curso?

  • Ingeniería que desarrolla prototipos y necesita respuesta determinista a eventos externos.
  • Perfiles de desarrollo que llegan del software de alto nivel y se encuentran con los buses por primera vez.
  • Profesorado de FP que imparte módulos de sistemas electrónicos y quiere prácticas de I2C y SPI bien fundadas.
Disponible

Contenido ya grabado y publicado en el campus. Puedes empezar en cuanto te inscribas.

Código
EMB-103
Nivel
Avanzado
Público
Ingeniería / Industria, Desarrollo, Docentes FP
Entorno
Arduino

Este curso incluye

  • 32 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

EMB-106Electrónica y Sistemas Embebidos

Creación de librerías Arduino

Empaquetar código reutilizable con API limpia, ejemplos y documentación.

Arduino

Avanzado 31 clases