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:

cpp
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.):

python
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:

  1. Driver y puerto: Algunos Arduinos clónicos requieren drivers específicos. Asegúrate de que tu sistema reconozca el puerto.

  2. Cierra el puerto: Si Hercules (o cualquier programa) tiene abierto el puerto serial, Python no podrá acceder a él.

  3. 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

Entradas populares de este blog

¿Qué es el Modelo OSI?

bit -El codigo ASCII

38. Tema 1: Protocolos de comunicación.