Este repositorio contiene una colección de proyectos realizados durante los estudios universitarios, abarcando diferentes tecnologías y conceptos de programación.
Tecnologías: AVR, C, LCD, Keypad, MEF (Máquina de Estados Finitos)
Un sistema de cerradura electrónica implementado en microcontrolador AVR ATmega328P que incluye:
-
Funcionalidades:
- Sistema de autenticación con contraseña de 4 dígitos (5913)
- Display LCD para mostrar estado y hora
- Keypad matricial para entrada de datos
- Reloj digital integrado
- Edición de hora, minutos y segundos
- Máquina de estados finitos para control del flujo
-
Características técnicas:
- Arquitectura modular con separación de responsabilidades
- Sistema de interrupciones para timing preciso
- Driver LCD personalizado con soporte para caracteres customizados
- Driver Keypad con escaneo matricial
- Sistema de planificación de tareas (sEOS)
Tecnologías: AVR, C, PWM, ADC, LDR (Light Dependent Resistor)
Sistema de control de iluminación LED RGB basado en sensores de luz:
-
Funcionalidades:
- Control PWM de LEDs RGB (Rojo, Verde, Azul)
- Lectura analógica de sensor LDR (resistencia dependiente de luz)
- Ajuste automático de brillo según condiciones de iluminación
- Transiciones suaves entre estados de iluminación
- Máquina de estados para control de encendido/apagado
-
Características técnicas:
- PWM por hardware (Timer1) para LEDs Verde y Azul
- PWM por software para LED Rojo
- ADC configurado para lectura de sensor LDR
- Sistema de timing basado en interrupciones
- Control de brillo adaptativo
Tecnologías: AVR, C, Display 7 segmentos, BCD
Sistema de visualización numérica con displays de 7 segmentos:
-
Funcionalidades:
- Contador digital con displays BCD
- Control de contador (START, STOP, RESET)
- Multiplexado de displays para mostrar 4 dígitos
- Conversión de números a códigos BCD
-
Características técnicas:
- Multiplexado temporal de displays
- Tabla de conversión BCD para caracteres de 7 segmentos
- Control de timing para refresco de displays
- Sistema de debounce para pulsadores
Tecnologías: Java, Swing, AWT, SQL, JDBC
Aplicación de escritorio para gestión de datos con interfaz gráfica:
-
Funcionalidades:
- Interfaz gráfica con Swing y AWT
- Conexión a base de datos SQL
- Operaciones CRUD (Crear, Leer, Actualizar, Eliminar)
- Gestión de usuarios y autenticación
- Consultas SQL complejas
-
Características técnicas:
- Arquitectura MVC (Modelo-Vista-Controlador)
- Conexión JDBC a base de datos
- Interfaz de usuario intuitiva
- Sistema de configuración de conexión
- AVR ATmega328P: Microcontrolador principal
- C: Lenguaje de programación para microcontroladores
- LCD: Displays de cristal líquido
- Keypad: Teclado matricial
- PWM: Modulación por ancho de pulso
- ADC: Conversión analógica-digital
- Timers: Temporizadores para interrupciones
- Java: Lenguaje de programación orientado a objetos
- Swing/AWT: Librerías para interfaces gráficas
- SQL: Lenguaje de consulta de bases de datos
- JDBC: API para conexión a bases de datos
- Atmel Studio 7.0 o superior
- Compilador AVR-GCC
- Programador AVR (opcional para simulación)
- Java JDK 8 o superior
- Base de datos SQL compatible
- IDE compatible con Java (Eclipse, IntelliJ, NetBeans)
- Abrir el proyecto en Atmel Studio
- Configurar el dispositivo objetivo (ATmega328P)
- Compilar el proyecto
- Programar el microcontrolador o ejecutar en simulador
- Importar el proyecto en tu IDE Java
- Ejecutar el script SQL para crear la base de datos
- Configurar la conexión a la base de datos
- Compilar y ejecutar la aplicación
- Configuración de periféricos (Puertos, Timers, ADC)
- Programación de interrupciones
- Comunicación con dispositivos externos
- Control de timing y sincronización
- Máquinas de estados finitos
- Programación orientada a objetos
- Arquitectura modular
- Manejo de bases de datos
- Interfaces gráficas de usuario
- Patrones de diseño
- Todos los proyectos incluyen documentación técnica detallada
- Los archivos PDF contienen informes completos de implementación
- Los videos muestran demostraciones de funcionamiento
- El código está comentado para facilitar la comprensión
Francisco - Estudiante de Ingeniería en Sistemas
Este repositorio representa el trabajo realizado durante los estudios universitarios, demostrando la aplicación práctica de conceptos teóricos en proyectos reales.