Programa tu primera conexión en Arduino con Python desde Windows y Linux

Estás fechas son de aprendizaje, aprovechar el tiempo para generar o reforzar conocimientos. Python es un buen lenguaje para aprender a programar, pero si también te gusta la electrónica, Arduino es una opción similar, ahora imaginalos juntos, interesante, verdad.

Según varias encuestas el uso del lenguaje de programación Python se ha incrementado durante los últimos años, por lo que muchos nuevos usuarios se dedican a experimentar, descubrir y hacer nuevas opciones en este lenguaje.

En esta ocasión les traigo una guía de cómo programar un Arduino en Python y mantener una comunicación entre Python y Arduino para poder darle uso de nuestro microcontrolador desde la sintaxis de Python por medio de un script o en el comando de ordenes de Python o de nuestra máquina.

Para lograr hacer la comunicación se necesita cargar el código de ejemplo de Firmata de Arduino a nuestro microcontrolador.

Arduino

Windows y Linux:

Para acceder al ejemplo nos ubicamos en ->Archivo ->Ejemplos ->Firmata ->StandardFirmata. Como se observa en la siguiente imagen), para la descarga de Arduino IDE nos dirigimos a la página oficial de Arduino Aquí.

En ocasiones en OS Linux se necesita conceder permisos de root al microcontrolador se hace de la siguiente manera.

Abrimos terminal revisamos como asigna el sistema los puertos con el siguiente comando

ls -I /dev | grep ACM

Si nuestro dispositivo está conectado nos aparecerá la siguiente línea

crw-rw—- 1 root dialout 166, (fecha de conexión) ttyACM0

Este aviso se refiere a que solo el usuario root logra acceder, ejecutamos el siguiente código para brindar permisos a los usuarios no root.

sudo chmod 777 /dev/ttyACM0

*ttyACM0 puede ser ttyACM1 dependiendo del nombre que nos dio el comando anterior.*

Y nuestro microcontrolador ya está listo para usarlo con las instrucciones de python☺

Python

En Python usaremos una librería llamada Pyfirmata que está disponible Aquí para descargarlo o también instalarlo desde Python, ya descargado el archivo lo descomprimimos y dependiendo de nuestro sistema operativo seguimos los siguientes pasos.


Windows

Si no tenemos Python instalado lo podemos descargar en la versión mas reciente desde la pagina oficial de Python.

Teniendo el instalador lo ejecutamos, seleccionamos Add Python 3.x to PATH luego damos clic en Install Now como se observa en la siguiente imagen.

Ya instalado abrimos la consola de comando de instrucciones de Windows (CMD) lo descargamos o instalamos con el siguiente comando usando el gestor de paquetes PIP:

pip install pyfirmata

También podemos agregar la librería en la carpeta de origen de Python, teniendo las dos carpetas a la mano los copiamos y nos dirigimos a la siguiente ruta de nuestros archivos C:\Users\usuario\AppData\Local\Programs\Python\Python38-32\Lib ya ubicados en la carpeta Lib lo pegamos y listo (en algunos casos no se visualiza AppData le damos en mostrar archivos ocultos y listo).

 Linux

Teniendo las dos carpetas a la mano los copiamos y nos dirigimos a la siguiente ruta de nuestros archivos

                    /lib/python3.7/

Una vez ubicados en la carpeta python3.7 lo pegamos y listo.

Si se usa Python de otra versión solo se busca en la carpeta /lib y pegar los archivos correspondientes.

También se puede instalarlo desde la terminal, si no se tiene pip instalado se puede instalar con el comando:

          sudo apt-get install python-pip

          para instalar la librería

          sudo pip install pyfirmata

Programando en Python

Para empezar a programar en Python se necesita conocer en puerto de comunicación

En Windows nos dirigimos a Administrador de dispositivos -> Puertos (COM y LTP). Ahí ubicaremos nuestro dispositivo conectado.

 También lo podemos visualizar en la IDE de Arduino en Herramientas-> puerto: (puertos serie)

en las siguientes imágenes se observa algunos ejemplos:

En Linux se cambia la línea
board=Arduino(“COM3”) a board=Arduino(“/dev/ttyACM0”)

Si en caso de que se niega el acceso ejecutar el archivo.py como usuario root

Blink en Python con la librería pyfirmata

ejemplo lectura de entrada analógica A0.

Ejemplo de activar led con un pulsador de entrada Pin de entrada 12, pin de salida 13

consecuente a los ejemplo dejamos unas instrucciones que se uso en los ejemplos con algunas descripciones.
         >>led.write(valor digital) PWM (Modulacion por ancho de pulsos)
         >>board.analog[entrada analogica].read() ADC (Conversor analogo          digital)
         >>board.digital[Pin del Led].write(Activación o desactivación) Pin          digital salida.

Y con esto terminamos el primer tutorial sobre los primeros pasos con Arduino y Python. Cualquier duda o comentario haznos saberlo.

Deja un comentario