45. Aplicación 1: Envió de datos de Arduino(Potenciómetro) hacia Python
Conectando Arduino a Python: Guía Práctica Paso a Paso
¿Alguna vez has querido comunicar tu Arduino con Python? Aquí te muestro un ejemplo real, desde la conexión física hasta la recepción de datos en un script de Python. ¡Toma nota! 👇
🔧 Paso 1: El Circuito Físico
Tenemos un potenciómetro conectado a un LED.
⚠️ Importante: El LED debe ir con su resistencia obligatoriamente. No se puede omitir, incluso para pruebas. En un proyecto serio, siempre inclúyela.
🖥️ Paso 2: El Código en Arduino
Con el Arduino conectado (en mi caso, en el puerto COM11), cargamos un código sencillo para leer el potenciómetro y enviar los datos por serial:
int pot = 0;
void setup() {
Serial.begin(9600); // Velocidad estándar
}
void loop() {
pot = analogRead(A0);
Serial.println(pot);
delay(100);
}✅ Puntos clave:
Velocidad serial: 9600 baudios (un estándar equilibrado).
El dato se lee del pin analógico A0 y se envía inmediatamente.
🐍 Paso 3: Verificación con Hercules Terminal
Antes de escribir código en Python, siempre verifica con una herramienta como Hercules Terminal (ejecutable ligero y gratuito).
Selecciona el puerto serial (ej. COM11) y la velocidad (9600).
Si ves datos llegando, la conexión física y el código de Arduino están funcionando.
Esto te ahorra horas de depuración si algo falla en Python.
📂 Paso 4: Script en Python (usando pyserial)
Cerramos Hercules y abrimos nuestro script en Python (Spyder, VS Code, etc.):
import serial
import time
puerto = 'COM11' # Ajusta a tu puerto
velocidad = 9600
arduino = serial.Serial(puerto, velocidad, timeout=1)
time.sleep(2) # Espera inicial
print("Conexión establecida con Arduino")
while True:
dato = arduino.readline().decode('utf-8').strip()
if dato:
print(f"Valor del potenciómetro: {dato}")✅ Por qué un while True: Sin él, no recibirás datos actualizados constantemente.
🔄 Paso 5: Prueba Final
Gira el potenciómetro y observa los valores cambiar en la consola de Python.
Nota: Si usas 3.3V en lugar de 5V, el rango del ADC será diferente (ej. 0-678 en lugar de 0-1023).
💡 Consejos Finales:
Driver y puerto: Algunos Arduinos clónicos requieren drivers específicos. Asegúrate de que tu sistema reconozca el puerto.
Cierra el puerto: Si Hercules (o cualquier programa) tiene abierto el puerto serial, Python no podrá acceder a él.
Prueba siempre por etapas: Hardware → Código Arduino → Verificación serial → Código Python.
🎯 Resultado:
¡Comunicación exitosa entre Arduino y Python! Desde un potenciómetro hasta tu pantalla, con código simple y confiable.
¿Te ha servido? ¡Déjame tus comentarios o dudas!
Tags: #Arduino #Python #SerialCommunication #Electronica #Programacion #Maker #DIY #PySerial #HerculesTerminal
Espero que este post te sea útil
Comentarios
Publicar un comentario