CircuitPython: Todo el potencial de Python en tu μC

El mundo de la programación de hardware dio un giro importante cuando la empresa Adafruit lanzó una nueva forma de programar placas con microcontroladores (μC) con CircuitPython, e incluso se ha hablado de una competencia contra el IDE de Arduino gracias a que este nuevo lenguaje puede ser desarrollado en más plataformas de software. En este artículo discutiremos las novedades que Adafruit intenta implementar con este revolucionario lanzamiento.

Python es un lenguaje ampliamente utilizado a nivel mundial, es enseñado en universidades y usado en la industria. Es muy poderoso, cuenta con la capacidad de procesar archivos, imágenes, programar con orientación a objetos y ser fácil de leer. Es parte de los llamados lenguajes de alto nivel, puesto que su sintaxis llega a ser tan sencilla que el programador puede entender mediante frases y palabras no muy difíciles todo su código.

Código de Python con orientación a CircuitPython

Python posee una diferencia significativa frente a los lenguajes como Ensamblador o C que son los comúnmente utilizados en μC, ya que es interpretado en vez de compilado. ¿Esto qué rayos quiere decir?

Cuando alguien termina su código de Arduino o le realiza cambios lo primero que tiene que hacer para subirlo es compilarlo, es decir, las instrucciones del programa son traducidas al lenguaje máquina, si este tiene algún tipo de error el software lo detectará y detendrá el proceso de traducción. La principal desventaja de esta forma de cargar tu código es que existe la posibilidad de que te tome demasiado tiempo realizar cambios o encontrar los errores que desees corregir. La solución que presenta Python es que traduce el programa cuando lo necesita, en vez de llevar a cabo un proceso de analizar el código antes de ejecutar la secuencia de instrucciones. La consecuencia derivada de esto es que se sacrifica la velocidad y capacidad de procesamiento, que en algunas ocasiones puede ser poco relevante para μC recientemente desarrollados.

Circuit Playground

Adafruit desarrolló una tarjeta compatible tanto con CircuitPython como con Arduino llamada Circuit Payground. Cuenta con LEDs NeoPixel, sensores de luz, temperatura, sonido, un zumbador, botones programables, terminales para cable caimán entre otras características. Está orientado a que sea el comienzo de cualquiera en el mundo de la programación de hardware y es que con todo lo que viene integrado en la placa no es necesario conectar nada más para comenzar a programar. Puedes usar el software en línea MakeCode desarrollado por Microsoft y convertir esta tarjeta en algo más fácil de programar. Pero si quieres aprovechar el potencial de la placa más allá de la programación por bloques puedes usar Mu, un IDE de MicroPython que cuenta con soporte para esta tarjeta y de esta forma incluir sus librerías fácilmente.

El mundo de la tecnología se encuentra en constante cambio y evolución, no cabe duda que podemos esperar mejoras a los productos electrónicos que tenemos hoy disponibles en el mercado. A su vez podemos notar que las empresas están apostando a desarrollar productos enfocados en educación y ayudar a que más personas, sin necesidad de ser ingenieros, puedan entender y usar de una manera más fácil productos de este tipo.

Referencias:

https://learn.adafruit.com/welcome-to-circuitpython/what-is-circuitpython

https://circuitpython.org/

http://ziobron.net/code-like-a-pythonista-assignments-in-python

https://learn.adafruit.com/welcome-to-circuitpython/creating-and-editing-code

Comentarios