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.

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?
muy malo que bárbaro!!!!!
Y como sabe arduino, que el codigo enviado con board.sendmessage(«100») es apagar el led de la patilla 13?