Arduino y Python: Control de Dispositivos con Python

Arduino y Python: Control de Dispositivos con Python

Introducción

Arduino y Python son dos plataformas de desarrollo de software muy populares. Arduino es una plataforma de microcontroladores de código abierto que se utiliza para crear proyectos de electrónica y robótica. Python es un lenguaje de programación de alto nivel que es fácil de aprender y usar.

En este tutorial, aprenderemos cómo controlar dispositivos con Python utilizando Arduino. Veremos cómo conectar Arduino a Python, cómo enviar comandos a Arduino y cómo recibir datos de Arduino.

Requisitos

Para seguir este tutorial, necesitarás los siguientes requisitos:

  • Una placa Arduino
  • Un cable USB para conectar Arduino a tu computadora
  • Un editor de texto o IDE para Python
  • La biblioteca PySerial para Python

Instalación de la biblioteca PySerial

La biblioteca PySerial proporciona una interfaz de alto nivel para comunicarse con puertos serie. Para instalarla, abre una terminal y ejecuta el siguiente comando:

pip install pyserial

Conexión de Arduino a Python

Una vez que hayas instalado la biblioteca PySerial, puedes conectar Arduino a Python. Para ello, conecta el cable USB de Arduino a tu computadora.

Una vez que Arduino esté conectado, abre un editor de texto o IDE para Python. Crea un nuevo archivo y agrega el siguiente código:

Python
import serial

# Abre el puerto serie
ser = serial.Serial('/dev/ttyUSB0', 9600)

# Envia un comando a Arduino
ser.write('1')

# Lee una respuesta de Arduino
data = ser.readline()

# Imprime la respuesta de Arduino
print(data)

Este código abre el puerto serie /dev/ttyUSB0 a una velocidad de 9600 baudios. Luego, envía el comando 1 a Arduino. Finalmente, lee una respuesta de Arduino y la imprime en la consola.

Para ejecutar el código, guarda el archivo con el nombre main.py y ejecútalo en tu computadora.

Enviando comandos a Arduino

El código anterior muestra cómo enviar un comando a Arduino. Para enviar un comando a Arduino, utiliza el método write() de la clase serial.Serial. El método write() toma un solo argumento, que es el comando que deseas enviar.

Por ejemplo, el siguiente código enciende un LED conectado al pin 13 de Arduino:

Python
import serial

# Abre el puerto serie
ser = serial.Serial('/dev/ttyUSB0', 9600)

# Enciende el LED
ser.write('1')

# Cierra el puerto serie
ser.close()

Recibir datos de Arduino

El código anterior muestra cómo leer una respuesta de Arduino. Para leer una respuesta de Arduino, utiliza el método readline() de la clase serial.Serial. El método readline() devuelve una cadena que contiene la respuesta de Arduino.

Por ejemplo, el siguiente código lee el valor de un sensor conectado al pin A0 de Arduino:

Python
import serial

# Abre el puerto serie
ser = serial.Serial('/dev/ttyUSB0', 9600)

# Lee el valor del sensor
data = ser.readline()

# Imprime el valor del sensor
print(data)

# Cierra el puerto serie
ser.close()

Ejercicios

Aquí hay algunos ejercicios que puedes intentar:

  • Crea un proyecto que encienda y apague un LED conectado a Arduino con un botón.
  • Crea un proyecto que lea el valor de un sensor conectado a Arduino y lo muestre en la pantalla.
  • Crea un proyecto que controle un motor conectado a Arduino.

Conclusión

En este tutorial, aprendimos cómo controlar dispositivos con Python utilizando Arduino. Vimos cómo conectar Arduino a Python, cómo enviar comandos a Arduino y cómo recibir datos de Arduino.

Con estos conocimientos, puedes crear proyectos de electrónica y robótica que sean más avanzados y sofisticados.