Cómo programar y controlar un Arduino con Python

Tristemente, es imposible programar directamente un Arduino en Python, pero puedes controlarlo a través de USB usando un programa de Python. Así es cómo.

Tristemente, es imposible programar directamente un Arduino en Python, pero puedes controlarlo a través de USB usando un programa de Python.  Así es cómo.
Anuncio

Python ha tomado el mundo de la codificación por la tormenta. Junto con el surgimiento de este nuevo lenguaje, la escena electrónica de bricolaje también ha florecido. Placas de desarrollo y computadoras de una sola placa de empresas como Arduino ¿Qué es Arduino y qué se puede hacer con eso? ¿Qué es Arduino y qué puedes hacer con eso? El Arduino es un pequeño dispositivo electrónico notable, pero si nunca has usado uno, ¿qué son exactamente y qué puedes hacer con uno? Lea más y Raspberry Pi Raspberry Pi: el tutorial no oficial Raspberry Pi: el tutorial no oficial Ya sea que sea propietario actual de Pi y quiera obtener más información o sea un potencial propietario de este dispositivo de tamaño de tarjeta de crédito, esta no es la guía que desea perderse Leer más ha cambiado la forma en que las personas crean productos electrónicos elaborados en casa. ¿No sería genial si pudieras programar un Arduino con Python?

No hay mejor sensación que combinar dos cosas geniales. Lamentablemente, es imposible programar directamente un Arduino con Python, ya que los tableros no tienen opción para la interpretación a bordo del idioma. Lo que sí es posible, sin embargo, es el control directo sobre USB usando un programa Python.

Este artículo le mostrará cómo configurar un Arduino UNO (aunque cualquier placa Arduino compatible Guía de compra de Arduino: ¿Qué placa debe obtener? Guía de compra de Arduino: ¿Qué placa debe obtener? Hay tantos tipos diferentes de placas Arduino por ahí, Sería perdonado por estar confundido. ¿Qué debería comprar para su proyecto? ¡Permítanos ayudarlo con esta guía de compra de Arduino! Lea más puede funcionar aquí) para ser programado y controlado desde la línea de comandos usando los programas de Python. Este tutorial está escrito para Windows 10, pero también funciona para Mac y Linux. Incluso puede usar este flujo de trabajo para controlar un Arduino directamente desde una Guía de Automatización del Hogar Raspberry Pi Con Raspberry Pi y Arduino Guía de Automatización del Hogar Con Raspberry Pi y Arduino El mercado de la domótica está inundado con costosos sistemas de consumo, incompatibles entre sí y costosos de instalar . Si tienes un Raspberry Pi y un Arduino, básicamente puedes lograr lo mismo en ... Leer más para obtener la mejor experiencia de doble descarga y bricolaje.

Configurando tu Arduino para Python

Para el proyecto de hoy, utilizaremos un Arduino Uno, junto con la interfaz pyFirmata para Python. Puede utilizar casi cualquier placa compatible con Arduino para esto, aunque al momento de escribir solo Arduino Uno, Mega, Due y Nano son compatibles con la interfaz pyFfirmata. Si ya eres un gurú de Python, puedes agregar tu propio soporte de tabla a pyFirmata, ¡asegúrate de actualizar su GitHub si lo haces!

programar y controlar arduino con python

Si aún no lo has hecho, instala el Arduino IDE. Si eres completamente nuevo en el mundo de los microcontroladores, nuestra guía para principiantes Arduino Primeros pasos con Arduino: una guía para principiantes Cómo comenzar con Arduino: una guía para principiantes Arduino es una plataforma de prototipos electrónicos de código abierto basada en hardware flexible y fácil de usar y software. Está dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos. Leer más lo ayudará a tener todo en su lugar.

Conecta tu placa Arduino y abre el IDE. Asegúrese de tener la placa y el puerto correctos seleccionados en el menú Herramientas . Cargue el boceto de ejemplo StandardFirmata 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. Si el boceto se sube a su tablero sin errores, está listo para continuar.

Python y Command Line Control

Usaremos Python 3.4 para controlar nuestro Arduino, ya que el módulo que instalará especifica esto como la última versión compatible. Cualquier versión anterior a esto debería funcionar bien, y se ha informado que las versiones posteriores funcionan. Puede descargar Python 3.4 para Windows 10 desde el sitio de Python Software Foundation. Si desea ejecutar múltiples versiones de Python, nuestra guía de entornos virtuales de Python. Aprenda cómo usar el entorno virtual de Python. Aprenda cómo usar el entorno virtual de Python. Si usted es un desarrollador de Python con experiencia, o si recién está comenzando, aprenderá cómo hacerlo. configurar un entorno virtual es esencial para cualquier proyecto de Python. Leer más podrá ayudarte.

Una vez que haya instalado Python, queremos agregarlo a la variable PATH de su sistema. Esto nos permitirá ejecutar el código de Python directamente desde la línea de comandos sin necesidad de estar en el directorio en el que se instaló. Para ello, abra el Panel de control, busque Entorno y haga clic en Editar las variables de entorno del sistema . En la parte inferior de la ventana, seleccione Variables de entorno . Esto mostrará esta ventana:

programar y controlar arduino con python

Si ya ve PATH en la lista, haga clic en editar y agregue su directorio de Python y Python / Scripts . Si no tiene una variable PATH, haga clic en nuevo y agréguela. Tenga en cuenta que Python se instaló directamente en C: \ aquí. Si lo instaló en otro lugar, deberá modificarlo para reflejarlo. ¡Haz clic en Aceptar de nuevo en la cadena de ventanas y ya estás casi listo para controlar tu Arduino con Python!

La grasa mágica

Necesitarás una última pieza del rompecabezas para que Python hable bien con nuestro Arduino. Esto viene en la forma de una interfaz de Python llamada pyFirmata . Esta interfaz, creada por Tino de Bruijn, está disponible para su descarga desde github, aunque puede instalarla directamente desde la línea de comando escribiendo:

pip install pyfirmata 

Todo bien, debería instalarse y verse así:

programar y controlar arduino con python

Si falla, continúe agregando Python a la sección Variable de entorno y asegúrese de haber dado la ruta correcta a su directorio de Python.

Hacer que suceda

Ahora todo está configurado, y puedes crear un programa de Python para que tu Arduino lo pruebe. Abre un IDE de tu elección. Utilizaremos Eclipse 8 Atajos de teclado más útiles para usuarios de IDE de Eclipse para principiantes 8 Atajos de teclado más útiles para usuarios de IDE de Eclipse para principiantes Como amigable para principiantes como Eclipse IDE (interfaz), debes aprender estos atajos de teclado. Lea más hoy, pero podría usar fácilmente cualquier editor de texto Editores de texto vs. IDEs: ¿Cuál es mejor para los programadores? Editores de texto vs. IDEs: ¿Cuál es mejor para los programadores? Elegir entre un IDE avanzado y un editor de texto más simple puede ser difícil. Ofrecemos algunas ideas para ayudarlo a tomar esa decisión. Lea más, o incluso un IDE en la nube Codenvy IDE: un IDE en línea para Ruby, HTML, Java, Python, y más. IDE de Codenvy: un IDE en línea para Ruby, HTML, Java, Python, y más. Lea más.

Cree una nueva secuencia de comandos y guárdela como blink.py . Rompiendo la tradición con el programa de LED parpadeante estándar, creará un programa que le indicará al usuario la cantidad de veces que desea que el LED parpadee antes de llevarlo a cabo. Es un programa corto, que puedes descargar aquí si quieres ir directo a él, pero vamos a desglosarlo.

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

 from pyfirmata import Arduino, util import time 

Ahora querrás configurar la placa Arduino. Este artículo asume que estás usando una placa Arduino Uno, aunque varias otras placas Arduino son compatibles. Consulte el pyFirmata github para obtener más información sobre el soporte de la placa.

Compruebe qué puerto COM está utilizando en Arduino IDE e introdúzcalo en su código como la placa variable.

 board = Arduino("COM3") 

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

 loopTimes = input('How many times would you like the LED to blink: ') print("Blinking " + loopTimes + " times.") 

Para hacer que el LED parpadee la cantidad adecuada de veces, usa un ciclo for . Si eres nuevo en Python 10 Ejemplos básicos de Python que te ayudarán a aprender rápido 10 Ejemplos básicos de Python que te ayudarán a aprender rápido Este artículo de ejemplos básicos de python es para aquellos que ya tienen experiencia en programación y simplemente quieren hacer una transición a Python tan rápido como sea posible. Lea más, tenga cuidado con la sangría, ya que a diferencia de otros idiomas, los espacios son parte de la sintaxis. Tenga en cuenta que el pin 13 es el LED integrado para el Arduino Uno, tendrá que modificarlo si su placa es diferente.

 for x in range(int(loopTimes)): board.digital[13].write(1) time.sleep(0.2) board.digital[13].write(0) time.sleep(0.2) 

Colocará la variable loopTimes en 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, todo lo que necesita hacer es navegar hasta donde está el script y ejecutarlo. Para ello, escriba cd [ruta de acceso al directorio del script] y luego escriba python blink.py .

Todo bien, su programa comenzará con un ligero retraso a medida que el Arduino se inicializa, le pide un número y luego lo hace varias veces con el LED integrado.

El resultado del programa debería verse así:

programar y controlar arduino con python

Tan pronto como presione enter después de su número elegido de parpadeos, el Arduino debería llevar a cabo sus órdenes.

Pequeños comienzos

Este proyecto ha sido un comienzo difícil de comunicar entre Python y una placa Arduino. Este enfoque es muy diferente al flujo de trabajo habitual de carga de scripts en el propio Arduino, pero abre una forma completamente nueva de trabajar con la plataforma, especialmente si le gusta el lenguaje de programación Python.

Si utiliza un servidor Linux 12 Mejores Sistemas Operativos de Servidores Linux y Quién Debería Utilizarlos 12 Mejores Sistemas Operativos de Servidores Linux y Quién Debería Utilizarlos ¿Cómo construir un servidor? Linux es ideal, normalmente ofrece permisos mejorados, mayor flexibilidad y estabilidad. ¿Pero cuál elegirías? Consulte los 12 mejores sistemas operativos de servidores Linux y quién debería usarlos. Lea más en casa, este método de comunicación con las placas Arduino podría extender ese servidor a un sistema completo de bricolaje y automatización del hogar. Combinando scripts de Python que controlan el microcontrolador con un circuito de automatización de bricolaje Ideas del proyecto Arduino para un hogar automatizado Ideas del proyecto Arduino para un hogar automatizado ¿No sería genial regar el invernadero sin abandonar la silla? Se puede contratar a un Arduino como el componente clave de algunos proyectos de automatización del hogar: ¡aquí hay cinco! Lea más, Su caja de almacenamiento NAS podría tomar un nuevo conjunto de funciones útiles.

Para que sea la mejor experiencia de bricolaje, ¿por qué no crear su propia caja de NAS? ¿Necesita almacenamiento en red? Así es cómo crear su propia caja NAS ¿Necesita almacenamiento en red? Así es cómo crear su propia NAS Box NAS significa Network Attached Storage. A medida que Windows se hizo más fácil de usar con los dispositivos conectados a la red, y los precios del hardware cayeron, este término comenzó a utilizarse en el mercado de consumo. Hoy hay una gran variedad ... ¿Leer más y utilizarlo también para controlar sus dispositivos? Imagine lo genial que sería presionar Reproducir en su Plex Su Guía a Plex - The Awesome Media Center Su Guía a Plex - The Awesome Media Center Si tiene muchas películas y programas de TV guardados localmente, debe instalar Plex. Y esta es la única guía para comenzar con Plex que necesitarás leer alguna vez. ¡Leer más servidor y hacer que las luces se apaguen automáticamente!

¿Ya estás controlando a Arduino usando Python? ¿Hay soluciones asombrosas que aún no conocemos? Háganos saber en la sección de comentarios a continuación!

In this article