46. Aplicación 2: Envió de datos de Arduino(Potenciómetro) hacia Python
🚀 Errores comunes al comunicar Arduino con Python (y cómo solucionarlos)
¡Hola comunidad! 👋
En esta clase práctica nos enfrentamos a uno de los problemas más frecuentes al trabajar con comunicación serial entre Arduino y Python: el puerto bloqueado.
⏯️ Miniatura de la clase
0:00 / 9:56
🔍 ¿Qué sucede?
Al intentar ejecutar nuestro script en Python (usando Spyder), a veces aparece un error:
Error 13 - Acceso denegado
O simplemente no recibimos datos.
¿La razón? El puerto serial (COM) que queremos usar ya está abierto en otro programa.
🛠️ Posibles causas y soluciones
Hercules abierto: Si tienes Hercules activo, cierra la conexión del puerto.
Monitor Serial de Arduino abierto: Cierra el monitor desde el IDE de Arduino.
Script anterior no cerrado correctamente: A veces, aunque cerremos Spyder, el puerto sigue ocupado.
👉 Solución rápida:
Desconecta y reconecta el USB del Arduino.
Verifica que ningún software esté usando el puerto.
📌 Consejo clave
"Cuando veas Error 13, piensa: ¿dónde más está abierto este puerto?"
🐍 Código mínimo en Python para leer datos
import serial
puerto = serial.Serial('COMX', 9600) # Reemplaza COMX
while True:
dato = puerto.readline().decode().strip()
print(dato)⚠️ Errores por no usar time.sleep()
Si olvidas agregar un pequeño delay en el bucle, la lectura puede volverse inestable o mostrar valores incorrectos (como "23.000" en lugar de "1023").
Solución:
import time
while True:
dato = puerto.readline().decode().strip()
print(dato)
time.sleep(0.1) # Pequeña pausa para estabilidad🔄 Control de cierre automático
Puedes programar que el puerto se cierre bajo ciertas condiciones (ej: cuando el valor supere 1000):
while True:
dato = int(puerto.readline().decode().strip())
print(dato)
if dato >= 1000:
puerto.close()
print("Conexión cerrada")
break💡 Reflexión final
En el mundo real, los errores son parte del aprendizaje. Cometerlos nos ayuda a entender mejor cómo funcionan las herramientas. ¡No te rindas!
👉 ¿Te ha pasado esto? ¡Comenta tu experiencia!
👉 ¿Tienes otro error común? ¡Compártelo!
Comentarios
Publicar un comentario