2 formas de agregar un botón a su proyecto Raspberry Pi

2 formas de agregar un botón a su proyecto Raspberry Pi

Aprender a usar los pines GPIO en su Raspberry Pi abre todo un mundo de posibilidades. Los principios básicos aprendidos a través de proyectos para principiantes allanan el camino hacia un conocimiento útil tanto de la electrónica como de la programación de bricolaje.





Este tutorial le mostrará dos formas de agregar un botón a su proyecto Raspberry Pi. El botón se utilizará para controlar un LED. Las instrucciones escritas están disponibles debajo del video.





Necesitará

Para comenzar, asegúrese de tener los siguientes componentes:





  • 1 x Raspberry Pi (Cualquiera servirá, el modelo 3B se usa en este tutorial)
  • 1 x pulsador
  • 1 x LED
  • 1 x resistencia de 220 ohmios (los valores más altos están bien, su LED será más tenue)
  • 1 x tablero
  • Conectar cables

Una vez reunidos, debería tener componentes que se parezcan a esto:

También necesitará una tarjeta SD con el sistema operativo Raspbian instalado. La forma más rápida de hacerlo es con la imagen NOOBS (nuevo software listo para usar). Las instrucciones sobre cómo hacer esto están disponibles en este video:



Configuración del circuito

Utilizará los pines GPIO del Pi para hacer el circuito, y si no está familiarizado con ellos, nuestro guía de los pines GPIO de Raspberry Pi ayudará. El circuito aquí es casi el mismo que en nuestro anterior Proyecto LED Raspberry Pi , con la adición del botón que usará hoy.

Configure su circuito de acuerdo con este diagrama:





  • los 5v y GND los pines se conectan a los rieles de alimentación de la placa de pruebas.
  • Pin 12 (GPIO 18) se conecta a la pata positiva del LED.
  • Una pierna del resistor se conecta a la pata negativa del LED, y la otra pata se conecta al riel de tierra de la placa de pruebas.
  • Pin 16 (GPIO 23) se adhiere a un lado del botón, el otro lado se adhiere al riel de tierra de la placa de pruebas.

Una vez que esté configurado, así es como debería verse:

Verifique su circuito para asegurarse de que sea correcto y luego encienda su Raspberry Pi.





Método 1: la biblioteca RPi.GPIO

Una vez que la Pi haya arrancado, dirígete al menú y selecciona Programación> Thonny Python IDE . Se abrirá una nueva secuencia de comandos de Python. Si eres totalmente nuevo en Python, es un gran lenguaje para principiantes y hay muchos lugares excelentes para aprender más sobre Python después de que hayas terminado con este tutorial.

Comience importando la biblioteca RPi.GPIO y estableciendo el modo de placa.

|_+_|

Ahora declare las variables para el LED y los números de los pines de los botones.

|_+_|

Tenga en cuenta que, dado que tenemos el modo de placa configurado en TABLERO estamos usando los números de pin en lugar de los números GPIO. Si eso le resulta confuso, una tabla de distribución de pines de Raspberry Pi puede ayudar a aclararlo.

Configuración del botón

Es hora de configurar los pines GPIO. Establezca el pin LED en salida y el pin del botón en entrada con una resistencia pull-up

|_+_|

El texto después de GPIO.IN se refiere al resistencia pull-up interna de la Raspberry Pi. Debe habilitar esto para obtener una lectura limpia del botón. Dado que el botón va al pin de tierra, necesitamos una resistencia pull-up para mantener el pin de entrada en ALTO hasta que lo presione.

Antes de continuar, veamos las resistencias pull-up y pull-down.

Intermedio: Resistencias Pull Up / Pull Down

Cuando configura un pin GPIO para la entrada, lee ese pin para determinar su estado. En este circuito, debe leer si un pin es ELEVADO o BAJO para activar el LED cuando se presiona el botón. Esto sería simple si esos fueran los únicos estados que puede tener un pin, pero desafortunadamente, hay un tercer estado: FLOTANTE .

Un pin flotante tiene un valor entre alto y bajo, lo que hace que la entrada actúe de manera impredecible. Las resistencias pull-up / pull-down resuelven esto.

La imagen de arriba es un diagrama simplificado de un botón y una Raspberry Pi. El pin GPIO se conecta a tierra a través del botón. La resistencia pull-up interna conecta el pin GPIO a la fuente de alimentación interna Pi. Esta corriente fluye y el pin se eleva con seguridad a ALTO.

Cuando presiona el botón, el pin GPIO se conecta directamente al pin de tierra y el botón se lee bajo.

Las resistencias desplegables son para cuando el interruptor está conectado a la clavija de alimentación. Esta vez, la resistencia interna conecta el pin GPIO a tierra, manteniendo presionado LOW hasta que presione el botón.

La teoría de la resistencia pull-up y pull-down es confusa a primera vista, pero es un conocimiento importante que se debe tener cuando se trabaja con microcontroladores. Por ahora, si no lo entiende del todo, ¡no se preocupe!

Continuemos donde lo dejamos.

El bucle del programa

A continuación, configure el ciclo del programa:

|_+_|

los mientras es cierto loop ejecuta continuamente el código dentro de él hasta que finalizamos el programa. Cada vez que se repite, actualiza el buttonState leyendo la entrada del buttonPin . Mientras no se presiona el botón, permanece ELEVADO .

Una vez que se presiona el botón, buttonState se convierte en BAJO . Esto desencadena el si declaración , ya que Falso es lo mismo que BAJO y el LED se enciende. los demás La instrucción apaga el LED siempre que el buttonPin no sea False.

Guarde y ejecute su secuencia de comandos

Guarde su secuencia de comandos haciendo clic en Archivo> Guardar como y elegir un nombre de archivo. Puede ejecutar el boceto haciendo clic en el verde Jugar en la barra de herramientas de Thonny.

Ahora presiona el botón y tu LED debería encenderse. Presione el rojo Parada en cualquier momento para detener el programa

Si tiene dificultades, verifique su código y la configuración del circuito a fondo para detectar errores e intente nuevamente.

Método 2: Biblioteca GPIO Zero

La biblioteca RPi.GPIO es fantástica, pero hay un niño nuevo en la cuadra. La biblioteca GPIO Zero fue creado por el administrador de la comunidad de Raspberry Pi, Ben Nuttall con la intención de hacer que el código sea más simple y más fácil de leer y escribir.

Para probar la nueva biblioteca, abra un nuevo archivo Thonny e importe la biblioteca.

|_+_|

Notará que no importó toda la biblioteca. Dado que solo está utilizando un LED y un botón, solo necesita esos módulos en el script. También importamos Pausa de la biblioteca de señales, que es una biblioteca de Python para la gestión de eventos.

Configurar los pines es mucho más fácil con GPIO Zero:

|_+_|

Dado que la biblioteca GPIO Zero tiene módulos para el LED y el botón, no es necesario configurar entradas y salidas como antes. Notará que aunque los pines no han cambiado, los números aquí son diferentes a los anteriores. Esto se debe a que GPIO Zero solo usa los números de pin GPIO (también conocidos como números Broadcom o BCM).

¿Cómo cambio la cuenta predeterminada de Google?

El resto del guión tiene solo tres líneas:

|_+_|

los pausa() llamar aquí simplemente detiene la salida del script cuando llega al final. Los eventos de dos botones se activan cada vez que se presiona y se suelta el botón. Guarde y ejecute su script y verá el mismo resultado que antes.

Dos formas de agregar un botón a Raspberry Pi

De las dos formas de configurar el botón, el método GPIO Zero parece ser el más fácil. Todavía vale la pena aprender sobre la biblioteca RPi.GPIO como la mayoría de los proyectos de Raspberry Pi para principiantes úselo. Tan simple como es este proyecto, el conocimiento se puede utilizar para varias cosas.

Usar los pines GPIO es una excelente manera de aprender e inventar sus propios dispositivos, pero está lejos de todo lo que puede hacer con el Pi. ¡Nuestra guía no oficial de Raspberry Pi está repleta de ideas creativas y tutoriales que puede probar usted mismo! Para ver otro tutorial como este, echa un vistazo a cómo hacer un botón de conexión Wi-Fi .

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
  • Frambuesa pi
  • Pitón
  • GPIO
  • Tutoriales de proyectos de bricolaje
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