Sistema de detección de gestos con las manos que controla LEDs mediante Arduino, muy basico. El proyecto utiliza visión por computadora para reconocer el número de dedos levantados y envía comandos serie a un microcontrolador Arduino para encender los LEDs correspondientes.
Mikhael da Silva
Politecnica ETSE Robótica - USC
Primera versión: 27/09/2025
- Detección en tiempo real del número de dedos levantados
- Control de LEDs mediante Arduino a través de comunicación serie
- Interfaz visual con cámara web
- Código modular y extensible
- Arduino (Uno/Nano/ESP32)
- LEDs (cantidad según diseño)
- Resistencias para LEDs
- Cables de conexión
- Cámara web o cámara integrada
- Python 3.7+
- Arduino IDE
- OpenCV
- MediaPipe
- PySerial
pip install -r requirements.txt- Abrir Arduino IDE
- Cargar el código desde la carpeta
arduino-code/ - Seleccionar puerto y placa correcta
- Subir el código
cd python/src
python main.py- Asegúrate de que la cámara tenga buena iluminación
- Coloca la mano a una distancia apropiada de la cámara
- El sistema detectará automáticamente los dedos levantados
- 0 dedos: Todos los LEDs apagados
- 1 dedo: LED 1 encendido
- 2 dedos: LEDs 1-2 encendidos
- 3 dedos: LEDs 1-3 encendidos
- 4 dedos: LEDs 1-4 encendidos
- 5 dedos: Todos los LEDs encendidos
Modifica el puerto serie en serial_comm.py:
SERIAL_PORT = 'COM3' # Windows
# SERIAL_PORT = '/dev/ttyUSB0' # Linux
# SERIAL_PORT = '/dev/tty.usbserial' # macOSAjusta la sensibilidad en hand_detector.py:
DETECTION_CONFIDENCE = 0.7
TRACKING_CONFIDENCE = 0.5main.py: Punto de entrada principalhand_detector.py: Lógica de detección de gestosserial_comm.py: Comunicación con Arduinotest_camera.py: Utilidades de prueba
# Detectar número de dedos
fingers_count = detect_fingers(frame)
# Enviar comando a Arduino
send_command(fingers_count)
# Mostrar resultado visual
display_result(frame, fingers_count)# Verificar cámaras disponibles
python test_camera.py- Verificar conexión USB
- Comprobar puerto serie correcto
- Reiniciar Arduino
- Mejorar iluminación
- Ajustar distancia de la mano
- Calibrar parámetros de confianza
- Reconocimiento de gestos específicos
- Control WiFi/Bluetooth
- Interfaz gráfica avanzada
- Múltiples usuarios
- Grabación de patrones
- Integración IoT
Este proyecto está bajo la Licencia MIT. Ver LICENSE para más detalles.
Las contribuciones son bienvenidas. Por favor:
- Fork el proyecto
- Crear una rama para tu feature
- Commit tus cambios
- Push a la rama
- Abrir un Pull Request
Mikhael da Silva
ETSE Robótica - USC
Email: [mikhaelmiro300@gmail.com]
Proyecto desarrollado como parte del programa de la Politecnica de Santiago de Compostela