47. Aplicación 3: Envió de datos de Arduino(Potenciómetro) hacia Python

 🚀 Dominando la lógica de programación con Arduino y Python

Acabo de explorar un flujo increíble para procesar datos en tiempo real desde un potenciómetro conectado a un Arduino/ESP32, usando sentencias de control en Python. ¡Aquí les comparto la esencia!

🔹 Recibimos un valor entero desde el puerto serial (por ejemplo, de un potenciómetro).
🔹 Aplicamos lógica condicional para clasificar el dato en niveles según su valor:

python
if dato <= 250:
    print("Nivel 1")
elif dato <= 750:
    print("Nivel 2")
elif dato < 1000:
    print("Nivel 3")
else:
    print("Nivel 4 - Cerrado")

✅ Clave:

  • El código debe estar correctamente alineado (Python es ordenado y sensible a la indentación).

  • Podemos ajustar los rangos (<= 250<= 750, etc.) según la aplicación.

  • Usamos else como caso final (ej: valor mayor o igual a 1000 = "Nivel 4 - Cerrado").

🛠️ Configuración del puerto serial:

  • Asegúrate de seleccionar el puerto correcto (ej: COM3, COM5, /dev/ttyUSB0).

  • Si hay problemas con la codificación, prueba cambiar a UTF-8 o latin1 según tu versión de Python:

    python
    serial.Serial(port='COM3', baudrate=9600).decode('utf-8')

📈 Demostración práctica:

  1. Conecta un potenciómetro al pin analógico A0 del Arduino/ESP32.

  2. Gira el potenciómetro y observa cómo los valores cambian entre niveles 1, 2, 3 y 4.

  3. Al llegar al Nivel 4, el sistema puede activar una acción (ej: cerrar un circuito, enviar una alerta).

💡 ¿Y si usamos dos Arduinos?

  • Podemos comparar datos de dos puertos seriales simultáneamente, eligiendo el puerto correcto en el código (ej: ESP32 con CP2102 vs CH340).

🎯 Consejo final:
Este flujo es totalmente personalizable. ¡Pueden agregar más condiciones, actuadores o integrarlo con interfaces gráficas!

¿Les gustaría el código completo o diagrama de conexiones? 

Comentarios

Entradas populares de este blog

¿Qué es el Modelo OSI?

bit -El codigo ASCII

38. Tema 1: Protocolos de comunicación.