Anuncio

La Raspberry Pi es la computadora perfecta para aprender. El sistema operativo Raspbian basado en Linux tiene Python incorporado, lo que lo convierte en un gran primer sistema para programadores principiantes. Sus pines de entrada / salida de uso general (GPIO) facilitan a los creadores en ciernes experimentar con proyectos de electrónica de bricolaje.

Es especialmente fácil cuando usas bibliotecas de códigos que controlan estos pines y el popular RPi. La biblioteca GPIO Python es un excelente ejemplo de dicha biblioteca. ¿Pero es el mejor camino para principiantes? Únete a nosotros mientras investigamos.

¿Qué es GPIO Zero?

La biblioteca GPIO Zero es una biblioteca de Python para trabajar con pines GPIO. Fue escrito por Gerente de la comunidad de Raspberry Pi, Ben Nuttall. Dirigido a ser intuitivo y "amigable", optimiza el código Python para la mayoría de los casos de uso de Raspberry Pi.

Combinando prácticas simples de nombres y funciones descriptivas, GPIO Zero es más accesible para que los principiantes lo entiendan. Incluso usuarios experimentados del RPi. La biblioteca GPIO puede preferirlo, y para entender por qué, echemos un vistazo a cómo RPi. GPIO se compara con GPIO Zero.

instagram viewer

¿Qué está mal con RPi? GPIO?

Nada. Nada en absoluto. RPi. GPIO fue lanzado a principios de 2012 por el desarrollador Ben Croston. Es una biblioteca robusta que permite a los usuarios controlar los pines GPIO desde el código. Cuenta con en casi todos los proyectos para principiantes Los 11 mejores proyectos de Raspberry Pi para principiantesEstos proyectos de Raspberry Pi para principiantes son excelentes para comenzar con las capacidades de cualquier modelo de Raspberry Pi. Lee mas hemos cubierto

A pesar de su amplio uso, RPi. GPIO nunca fue diseñado para usuarios finales. Es un testimonio de RPi. El buen diseño de GPIO que muchos principiantes lo usan de todos modos.

¿Qué tiene de bueno GPIO Zero?

Cuando estás aprendiendo código Python, aprende que debe ser fácil de leer y lo más breve posible. GPIO Zero tiene como objetivo cubrir ambos puntos. Construido sobre RPi. GPIO como un envoltorio de lenguaje front-end, simplifica la configuración y el uso de GPIO.

Considere el siguiente ejemplo, configurar y encender un LED:

Código para configurar y LED para salida usando el RPi. Biblioteca GPIO

El código anterior debería ser bastante familiar para cualquiera que tenga usaron su Pi para controlar los LED.

El RPi Se importa la biblioteca GPIO y se declara un pin para el LED. El tipo de diseño de pin está configurado (los modos BCM y BOARD son explicado en nuestra guía GPIO Todo lo que necesitas saber sobre los pines GPIO de Raspberry PiLa Raspberry Pi es una pequeña computadora fantástica, pero ¿qué hacen exactamente los pines GPIO (Entrada / Salida de Propósito General)? En resumen, abren todo un mundo de retoques e inventos electrónicos de bricolaje. Lee mas ), y el pin se configura como una salida. Entonces, el pin se enciende.

Este enfoque tiene sentido, pero la forma GPIO Zero de hacerlo es mucho más simple:

Configurar un LED con GPIO Zero

GPIO Zero tiene un módulo para LED, importado al inicio. Esto significa que puede declarar el número PIN y llamar al llevado en() método.

¿Por qué es mejor el enfoque de GPIO Zero?

Hay algunas razones por las cuales este método de trabajo es una mejora en RPi. GPIO

En primer lugar, cumple con el requisito de "fácil de leer, lo más breve posible". Mientras que el RPi. Las declaraciones de configuración de GPIO son fáciles de entender, no son necesarias. Un LED siempre será una salida, por lo que GPIO Zero configura los pines detrás de escena. El resultado es solo tres líneas de código para configurar, luego enciende un LED.

Puede notar que no hay configuración de modo de placa en el ejemplo GPIO Zero. La biblioteca solo usa la numeración Broadcom (BCM) para los pines. El diseñador de la biblioteca Ben Nuttall explica por qué en un 2015 Entrevista RasPi.tv:

"La numeración del TABLERO puede parecer más simple, pero diría que lleva a los nuevos usuarios a pensar que todos los pines son de uso general, y no lo son. Conecte un LED al pin 11, ¿por qué no conecta un poco más a los pines 1, 2, 3 y 4? El pozo 1 es 3V3. 2 y 4 son 5V. La falta de conciencia de cuál es el propósito de los alfileres puede ser peligroso ".

Dicho de esta manera, tiene sentido usar los números de BCM. Dado que GPIO Zero será estándar en la documentación de Raspberry Pi en adelante, ¡vale la pena aprenderlo!

¿GPIO Zero es realmente mejor?

Si bien parece más sencillo en la superficie, ¿la nueva biblioteca tiene algún problema? Como con cualquier biblioteca de codificación nueva, es una cuestión de opinión. Por un lado, eliminar el código de configuración es excelente tanto para principiantes como para programadores experimentados. Escribir código es más sencillo y rápido.

Por otro lado, saber exactamente lo que está sucediendo es importante para aprender. Tome el ejemplo de configurar un botón desde Documentación de GPIO Zero:

Código de ejemplo GPIO Zero Button

los botón El módulo simplifica la configuración de los botones. Sabe que los botones son entradas, por lo que utiliza el número de pin declarado para la configuración. Comprobar si se presiona un botón también es más fácil, con el .se presiona para detectar pulsaciones de botones.

Utilizamos esta funcionalidad exacta en el Tutorial del botón Raspberry Pi 2 maneras de agregar un botón a su proyecto Raspberry Pi¿Cómo se conecta un botón a su Raspberry Pi? Aquí hay dos formas de comenzar, demostradas usando Python y un LED. Lee mas , que es una excelente manera de familiarizarse con las diferencias en las bibliotecas.

Usuarios del RPi. La biblioteca GPIO notará que las resistencias internas pull-up / pull-down del Pi no están configuradas en el código. Ésto plantea una pregunta interesante. ¿Es esencial que los principiantes sepan sobre las resistencias pull-up / down? De nuevo, Ben Nuttall tiene una respuesta a esta pregunta:

"Podría argumentar que es bueno saber acerca de los pull ups y los pull down, y tendría razón, pero ¿por qué tengo que enseñar eso el primer día? [...] Si desea enseñar la electrónica con más profundidad, hay muchas posibilidades para eso, pero no debería ser obligatorio si solo está obteniendo empezado."

En general, el enfoque simple de GPIO Zero es probablemente algo bueno para principiantes y veteranos por igual. Además, RPi. GPIO no va a ninguna parte. Siempre estará allí para volver a cambiar si es necesario.

¿Es Python la única opción?

Python es el idioma por el que se conoce a Pi, pero no es la única opción. Si ya está familiarizado con la programación en lenguaje C, entonces Cableado Pi te tiene cubierto

Alternativamente, si ya programa en JavaScript, Node.js puede instalarse fácilmente en Pi. El acceso a GPIO está disponible a través de biblioteca rpi-gpio npm. Ruby on Rails también se puede instalar en Raspberry Pi, aunque es posible que Pi no sea el mejor manera de aprender Rails!

Todas estas alternativas, junto con bibliotecas multilingües como la excelente pigpio puede hacer que elegir una biblioteca sea confuso. Aquí es donde sobresale GPIO Zero: para principiantes que se preguntan cómo y dónde comenzar.

Si se encuentra en un punto donde necesita algo que no proporciona, estará más que listo para sumergirse en estas otras bibliotecas a su propio ritmo.

Comenzando con GPIO Zero Yourself

GPIO Zero es la biblioteca más nueva para impresionar a Pi y con razón. Para la mayoría de los usuarios, hace que la codificación de pines GPIO sea más fácil de leer y más rápida de escribir.

Dado el uso de Raspberry Pi en la educación, cualquier cosa que haga que el aprendizaje sea más natural es algo bueno. Mientras RPi. GPIO ha sido perfecto hasta ahora, GPIO Zero toma una buena idea y la hace aún mejor.

Una excelente manera de comenzar con GPIO Zero es tomar un proyecto para principiantes como el Sensor de puerta musical Toca tu propia melodía temática cuando entras en la habitación con Raspberry Pi¿Alguna vez has querido llegar a casa para recibir una bienvenida personal? En este proyecto simple de Raspberry Pi, usaremos un interruptor de láminas para activar una melodía cuando se abre una puerta. Lee mas y portarlo a la nueva biblioteca.

Ian Buckley es periodista independiente, músico, intérprete y productor de video 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.