Archivo de la etiqueta: gpiozero

GPIO Zero: simplifica el control de prototipos desde Python

El pasado mes de noviembre tuve la oportunidad de grabar un podcast en directo con Diógenes Digital, en el que hablamos largo y tendido de Arduino, Raspberry Pi y niños aprendiendo robótica y programación. En aquel programa discutíamos las diferencias, los usos y enfoques de estas dos plataformas, y una de las cuestiones que comentaba era el control de motores, prototipos y dispositivos comunes a través de los pines GPIO de la Raspberry Pi.

La librería estándar a través de la cual venimos controlando nuestros prototipos desde Raspbian, RPi.GPIO, exige al programador pensar en términos de pines y de tensiones:

  • Configurar un determinado pin como entrada o como salida
  • Poner tal o cual pin a nivel alto (3,3 V) o a nivel bajo (0 V)

Es decir, ofrece una solución de muy bajo nivel en el sentido de que obliga a pensar en esos términos (pines GPIO), en lugar de los componentes que queríamos controlar (LED, pulsador, motor,…). Por lo tanto, la distancia que hay entre manejar los voltajes de los pines que usas en tus proyectos y el efecto final (que un LED se encienda, que un motor haga girar un brazo 90 grados,…) la debes asumir tú y resolver por tus propios medios. Al empezar con estas cosas, cuanto más trabajemos con pines y voltajes en lugar de con motores y componentes, más esfuerzo debemos hacer al diseñar nuestros programas y por lo tanto más riesgo de frustrarnos corremos en nuestro aprendizaje.

En este artículo os voy a introducir una alternativa a RPi.GPIO, aparecida el pasado mes de noviembre, y que os facilitará el trabajo con prototipos: GPIO Zero (inglés). Con ella, podrás enseñar a quien tengas a tu alrededor los fundamentos básicos de la programación relacionada con objetos del mundo real de una forma más amigable que hablándole de pines y tensiones.

Sigue leyendo GPIO Zero: simplifica el control de prototipos desde Python