Skip to content

Patny1/python-arduino-DronBasico

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

🧠 Simulador de Dron STEAM con Control de Potenciómetro

Este proyecto implementa un simulador interactivo de dron en 2D desarrollado en Python la primera opción con Pygame y la segunda con Vpython, pensado para actividades educativas STEAM.
El dron ajusta su altitud en función del valor leído desde un potenciómetro conectado a un microcontrolador (Arduino) o, en su defecto, funciona en modo DEMO con valores simulados.


🚀 Características principales

  • 📡 Control en tiempo real: lectura de datos desde puerto serial (COMx) a través de un potenciómetro (0–1023).
  • 🎮 Simulación visual: el dron se mueve verticalmente en pantalla, representando su altitud.
  • 🧩 Modo DEMO automático: si no se detecta conexión serial, el sistema genera valores simulados con una función seno.
  • 🎯 Indicador de zona estable: muestra visualmente cuándo el dron se encuentra dentro del rango de altitud objetivo.
  • 💡 Diseño educativo: ideal para integrar conceptos de control, sensores, mapeo de señales y simulación física simple.

⚙️ Requisitos

  • 🐍 Python 3.8 o superior
  • 📦 Librerías necesarias:
    pip install pygame pyserial vpython
    
    
    
  • 🧠 Hardware opcional:
    • Arduino UNO o compatible
    • Potenciómetro (10kΩ recomendado) conectado a la entrada analógica A0
    • Comunicación serial a 9600 baudios

🔌 Código Arduino sugerido

void setup() {
  Serial.begin(9600);
}

void loop() {
  int pot = analogRead(A0);
  Serial.println(pot);
  delay(50);
}

▶️ Ejecución del simulador

  1. Conecta tu placa Arduino y verifica el puerto COM correspondiente (por ejemplo COM3 o COM4).
  2. Modifica la línea del puerto serial en el script:
    ser = serial.Serial('COM3', 9600, timeout=1)
  3. Ejecuta el programa desde la terminal o IDE:
    python simulador_dron.py
  4. Si no se detecta Arduino, el simulador entra automáticamente en modo DEMO y genera valores oscilantes con una función seno.

🧭 Funcionamiento

  • El valor leído del potenciómetro se mapea de un rango de 0–1023 a una altura en píxeles dentro de la ventana.
  • El dron se mueve verticalmente para representar su altitud.
  • Se muestra una zona objetivo (rango de tolerancia) donde la altitud se considera estable.
  • En la interfaz aparecen indicadores de:
    • Altitud actual
    • Valor leído del potenciómetro
    • Estado del control ("Altitud estable" o "Ajusta altitud")

🧠 Conceptos educativos involucrados

  • 🔢 Sensores analógicos y digitalización de señales.
  • 🔄 Comunicación serial entre microcontrolador y PC.
  • 📊 Mapeo de valores entre rangos físicos y gráficos.
  • 🤖 Simulación de sistemas ciberfísicos.
  • 💻 Visualización de datos en tiempo real.

Este proyecto es ideal para introducir a los estudiantes en el control básico de sistemas físicos simulados, combinando electrónica, programación y visualización.


📚 Capturas o demostraciones

Dron1 📷 image

Dron3D 📷 image


🧩 Créditos y contexto educativo

Desarrollado como parte de las actividades STEAM educativas del proyecto
KALÚ STEAM — orientado al aprendizaje accesible de robótica y tecnología creativa.
Promueve la integración de ciencia, tecnología, ingeniería, arte y matemáticas en entornos inclusivos de aprendizaje.


🪪 Licencia

Este proyecto se distribuye bajo la licencia MIT.
Eres libre de usar, modificar y compartir el código con fines educativos citando la fuente.


❤️ Autoría

Desarrollado por:
👩‍🏫 Patricia Constante
Proyecto: KALÚ STEAM – Educación tecnológica accesible

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages