14 noviembre, 2019

Cómo comunicar Arduino con Python

En este tutorial, vamos a desarrollar un sistema de comunicación serial entre una placa Arduino y un ordenador con Windows 7 con Python, aunque dada la portabilidad de Python, este programa podría llevarse a cualquier otro sistema y usarlo, por ejemplo, en tu Raspberry Pi, como hice en el proyecto Mico, el robot emocional.

Led controlado por una web
Led controlado por Python

Como resultado de este programa, tendremos un programa en Python que pedirá al usuario que introduzca un texto, se lo enviará a Arduino mediante el puerto serial y éste encenderá o apagará un led.

En primer lugar, con el entorno Arduino ya instalado (si no lo tenéis, se explica en la entrada Primeros pasos con Arduino), cargamos en la placa un programa sencillo, que reciba las órdenes de encender y apagar el led. Podemos usar el que hicimos para la entrada Cómo controlar un led a través de una interfaz web PHP.

Después, necesitamos Python (yo he usado la versión 2.7.10) instalado (si usáis Windows, podéis consultar Primeros pasos con Python).

A continuación, instalamos la paquete pySerial para Python (en Windows, necesitamos instalar el gestor de paquetes pip, para lo cual podemos consultar la entrada Cómo instalar el gestor de paquetes pip en Windows 7), con la orden:

pip install pyserial

Ahora vamos a descargar el código Python, de mi cuenta de GitHub:

https://github.com/diegorys/Arduino_Python

Aquí podemos encontrar, dentro del directorio «arduino», las clases:

  • Board: Representa una placa Arduino. Se inicializa con el puerto, la descripción y un número de serie. Envía por el puerto serial órdenes a la placa y recibe mensajes.
  • BoardManager: Gestiona las placas. Es capaz de encontrar las placas Arduino conectadas por USB a la máquina, gracias al paquete pySerial, y añadir a un listado las que no estén siendo usadas por otros programas.

El ejemplo que encontramos en el fichero example.py, busca las placas conectadas, las lista y pide al usuario que envíe un mensaje a estas placas. Atiende a los mensajes: on (enciende el led 13 de la placa), off (apaga el led 13 de la placa) y bye (detiene la ejecución).

Para ejecutarlo, desde la consola de comandos, en el directorio del ejemplo, se escribe:

python example.py

Con este mismo programa en Python, podríamos manejar de una manera similar otros actuadores conectados a Arduino, como un relé, o leer un sensor, como el de temperatura. ¿Os animáis?

2 comentario en “Cómo comunicar Arduino con Python

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies