Cómo programar y controlar un Arduino con Python

Cómo programar y controlar un Arduino con Python

Python ha conquistado el mundo de la codificación. Junto con el surgimiento de este nuevo lenguaje, la escena de la electrónica de bricolaje también ha florecido. Placas de desarrollo y ordenadores de placa única de empresas como Arduino y Raspberry Pi han cambiado la forma en que las personas crean productos electrónicos caseros. ¿No sería fantástico si pudieras programar un Arduino con Python?





no hay sonido en la computadora portátil con windows 10

No hay mejor sensación que combinar dos cosas interesantes. Lamentablemente, es imposible programar directamente un Arduino con Python, ya que las placas no tienen opción para la interpretación integrada del lenguaje. Sin embargo, lo que sí es posible es el control directo sobre USB mediante un programa Python.





Este artículo le mostrará cómo configurar un Arduino UNO (aunque cualquier placa compatible con Arduino puede funcionar aquí) para ser programado y controlado desde la línea de comandos usando programas Python. Este tutorial está escrito para Windows 10, pero también funciona para Mac y Linux. Incluso podría usar este flujo de trabajo para controlar un Arduino directamente desde una Raspberry Pi para la mejor experiencia de bricolaje doble.





Configuración de su Arduino para Python

Para el proyecto de hoy usaremos un Arduino Uno, junto con la interfaz pyFirmata para Python. Puede usar casi cualquier placa compatible con Arduino para esto, aunque en el momento de escribir este artículo solo Arduino Uno, Mega, Due y Nano son compatibles con la interfaz pyFfirmata. Si ya es un gurú de Python, puede agregar su propio soporte de placa a pyFirmata; ¡asegúrese de actualizar su GitHub si lo hace!

Si aún no lo ha hecho, instale el IDE de Arduino. Si es completamente nuevo en el mundo de los microcontroladores, nuestro guía para principiantes de Arduino le ayudará a poner todo en su lugar.



Conecte su placa Arduino y abra el IDE. Asegúrese de tener la placa y el puerto correctos seleccionados en el Instrumentos menú. Cargue el EstándarFirmata boceto de ejemplo y cárguelo en la pizarra. Esto le permitirá controlar el Arduino directamente siempre que esté conectado a la computadora a través de USB. Siempre que el boceto se cargue en su tablero sin errores, está listo para continuar.

Python y control de línea de comandos

Usaremos Python 3.4 para controlar nuestro Arduino, ya que el módulo que instalará lo especifica como la última versión compatible. Cualquier versión anterior a esta debería funcionar bien, y se ha informado que las versiones posteriores funcionan. Puede descargar Python 3.4 para Windows 10 desde el Fundación de software Python sitio. Si desea ejecutar varias versiones de Python, nuestra guía de entornos virtuales de Python podrá ayudarlo.





Una vez que haya instalado Python, queremos agregarlo a la variable PATH de su sistema. Esto nos permitirá ejecutar código Python directamente desde la línea de comandos sin necesidad de estar en el directorio en el que se instaló. Puede hacerlo abriendo el Control Panel , buscando Medio ambiente y haga clic en Edite las variables de entorno del sistema . En la parte inferior de la ventana, seleccione Variables de entorno . Esto abrirá esta ventana:

Si ya ves SENDERO en la lista, haga clic en editar y agregue su Pitón y Python / Scripts directorio. Si no tiene una variable PATH, haga clic en nueva y agréguela. Tenga en cuenta que Python se instaló directamente en el C: aquí. Si lo instaló en otro lugar, deberá modificarlo para reflejar esto. Haga clic en Aceptar de nuevo en la cadena de ventanas, ¡y estará casi listo para controlar su Arduino con Python!





La grasa mágica

Necesitará una pieza final del rompecabezas para que Python hable bien con nuestro Arduino. Esto viene en forma de una interfaz de Python llamada pyFirmata . Esta interfaz, creada por Tino de Bruijn es disponible para descargar desde github, aunque puede instalarlo directamente desde la línea de comandos escribiendo:

|_+_|

Si todo va bien, debería instalarse y verse así:

Si falla, agregue Python al Variable ambiental sección y asegúrese de haber proporcionado la ruta correcta a su directorio de Python.

Hacer que suceda

Ahora todo está configurado y puede crear un programa Python para que su Arduino lo pruebe. Abra un IDE de su elección. Nosotros usaremos Eclipse hoy, pero podría usar fácilmente cualquier editor de texto, o incluso un IDE en la nube.

Cree un nuevo script y guárdelo como blink.py . Rompiendo la tradición con el programa estándar de LED parpadeantes, creará un programa que le preguntará al usuario la cantidad de veces que desea que el LED parpadee antes de ejecutarlo. Es un programa corto, que puedes descarga aquí si quieres ir directo a eso, pero vamos a desglosarlo.

En primer lugar, querrá importar lo que necesita del pyFirmata módulo, junto con el estándar Python Tiempo módulo.

¿Cómo puedo ver quién vio mi video de Instagram?
|_+_|

Ahora querrás configurar la placa Arduino. Este artículo asume que está utilizando un Arduino Uno placa, aunque se admiten varias otras placas Arduino. Consulte el github de pyFirmata para obtener detalles sobre el soporte a bordo.

Verifique qué puerto COM está utilizando en el IDE de Arduino e introdúzcalo en su código como la variable tablero .

|_+_|

Ahora configurará el indicador de usuario. Aquellos familiarizados con Python reconocerán todo aquí. Imprime una pregunta en la pantalla usando el aporte función y almacenar la respuesta como una variable. Una vez que el usuario ha proporcionado un número, el programa informa cuántas veces parpadeará el LED.

|_+_|

Para que el LED parpadee el número apropiado de veces, utilice un en bucle . Si usted es nuevo en Python , tenga cuidado con la sangría, ya que a diferencia de otros lenguajes, los espacios son parte de la sintaxis. Tenga en cuenta que el pin 13 es el LED integrado para Arduino Uno, deberá modificarlo si su placa es diferente.

|_+_|

Vas a lanzar el loopTimes variable a un entero aquí, ya que la entrada del usuario se almacenará automáticamente como una cadena. En esta demostración simple, asumimos que el usuario ingresará un valor numérico. Cualquier otra entrada como 'ocho' arrojará un error.

Guarde su secuencia de comandos y abra el Símbolo del sistema .

Luces parpadeantes y otras revelaciones

Todo está listo para funcionar, todo lo que necesita hacer es navegar hasta donde está el script y ejecutarlo. Haz esto escribiendo cd [ruta al directorio del script] y luego escribiendo pitón blink.py .

Si todo está bien, su programa comenzará con un ligero retraso cuando el Arduino se inicialice, le pedirá un número y luego parpadeará tantas veces con el LED integrado.

La salida del programa debería verse así:

Tan pronto como presione Intro después de la cantidad de parpadeos elegidos, Arduino debería ejecutar sus órdenes.

Pequeños comienzos

Este proyecto ha sido un comienzo básico para la comunicación entre Python y una placa Arduino. Este enfoque es muy diferente al flujo de trabajo habitual de cargar scripts en el propio Arduino, pero abre una forma completamente nueva de trabajar con la plataforma, especialmente si te gusta el lenguaje de programación Python.

Si usa un Servidor Linux en casa, este método de comunicación con las placas Arduino podría extender ese servidor a un sistema de automatización del hogar de bricolaje completo. Al combinar los scripts de Python que controlan el microcontrolador con un circuito de automatización de bricolaje, su caja de almacenamiento NAS podría asumir un conjunto completamente nuevo de funciones útiles.

cómo agregar un dispositivo bluetooth a mac

Para que sea la mejor experiencia de bricolaje, ¿por qué no? construya su propia caja NAS y utilizarlo también para controlar sus electrodomésticos? ¡Imagínese lo genial que sería presionar reproducir en su servidor Plex y hacer que las luces se apaguen automáticamente!

¿Ya estás controlando Arduino usando Python? ¿Existen soluciones alternativas increíbles que todavía no conocemos? ¡Háganos saber en la sección de comentarios a continuación!

Cuota Cuota Pío Correo electrónico 5 consejos para potenciar sus máquinas Linux VirtualBox

¿Cansado del bajo rendimiento que ofrecen las máquinas virtuales? Esto es lo que debe hacer para mejorar el rendimiento de VirtualBox.

Leer siguiente
Temas relacionados
  • Bricolaje
  • Programación
  • Arduino
  • Automatización del hogar
  • Pitón
Sobre el Autor Ian Buckley(216 Artículos publicados)

Ian Buckley es un periodista, músico, intérprete y productor de video independiente que vive en Berlín, Alemania. Cuando no está escribiendo o en el escenario, está jugando con la electrónica o el código de bricolaje con la esperanza de convertirse en un científico loco.

Más de Ian Buckley

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse