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