2 maneras de agregar un botón a tu proyecto de Raspberry Pi

2 maneras de agregar un botón a tu proyecto de Raspberry Pi / Bricolaje

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 el conocimiento útil de la electrónica y la programación de bricolaje..

Este tutorial le mostrará dos formas de agregar un botón a su proyecto de 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 lo hará, el modelo 3B se usa en este tutorial)
  • 1 x pulsador
  • 1 x LED
  • Resistencia de 1 x 220 ohmios (los valores más altos están bien, su LED solo será más tenue)
  • 1 x Breadboard
  • Conectar cables

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

También necesitarás 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 de la Pi para hacer el circuito, y si no está familiarizado con ellos, nuestra guía para los pines GPIO de la Raspberry Pi lo ayudará. El circuito aquí es casi el mismo que en nuestro proyecto anterior de Raspberry Pi LED, con la adición del botón que utilizará hoy..

Configure su circuito de acuerdo a este diagrama:

  • los 5v y GND 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 de la resistor se adhiere a la pata negativa del LED, y la otra pata se une 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, he aquí cómo debe verse:

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

Método 1: La biblioteca RPi.GPIO

Una vez que se haya iniciado el Pi, 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 configurando el modo de placa.

importar RPi.GPIO como GPIO GPIO.setmode (GPIO.BOARD) 

Ahora declare las variables para los números de pin de LED y botón.

ledPin = 12 buttonPin = 16 

Tenga en cuenta que ya que tenemos el modo de placa establecido en TABLERO Estamos utilizando los números de pin en lugar de los números GPIO. Si eso te resulta confuso, un gráfico de pines de la Raspberry Pi puede ayudar a aclararlo.

Configuración del botón

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

GPIO.setup (ledPin, GPIO.OUT) GPIO.setup (buttonPin, GPIO.IN, pull_up_down = GPIO.PUD_UP) 

El texto después de GPIO.IN se refiere a la resistencia interna de pull-up de la frambuesa pi. Debe habilitar esto para obtener una lectura limpia desde el botón. Ya que el botón va hacia el pin de tierra, necesitamos una resistencia de levantamiento para mantener el pin de entrada ALTO hasta que lo presione.

Antes de continuar, echemos un vistazo a las resistencias de pull-up y pull-down..

Intermedio: Pull Up / Pull Down Resistors

Cuando configura un pin GPIO para ingresar, lee ese pin para determinar su estado. En este circuito, debe leer si un pin es ALTO o BAJO para disparar el LED cuando se presiona el botón. Esto sería simple si esos fueran los únicos estados que un pin puede tener, 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 forma 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 de pull-up interna conecta el pin GPIO a la fuente de alimentación Pi interna. Esta corriente fluye y el pasador se levanta con seguridad a ALTO.

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

Las resistencias desplegables son para cuando el interruptor está conectado al pin de alimentación. Esta vez, la resistencia interna conecta el pin GPIO a tierra, manteniéndolo en la posición BAJA hasta que presione el botón.

La teoría de la resistencia de 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 entiendes bien, no te preocupes.!

Sigamos donde lo dejamos.

El programa de bucle

A continuación, configure el bucle de programa:

while True: buttonState = GPIO.input (buttonPin) si buttonState == False: GPIO.output (ledPin, GPIO.HIGH) otra cosa: GPIO.output (ledPin, GPIO.LOW) 

los mientras que verdadero bucle ejecuta continuamente el código en su interior hasta que finalizamos el programa. Cada vez que hace un bucle actualiza el buttonState leyendo la entrada de la botónPin. Mientras no se presiona el botón, permanece ALTO.

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

Guarde y ejecute su script

Guarda tu guión haciendo clic Archivo> Guardar como y eligiendo un nombre de archivo. Puede ejecutar el boceto haciendo clic en el verde Jugar botón en la barra de herramientas de Thonny.

¡Ahora presione el botón, y su LED debería encenderse! Presiona el rojo Detener Botón en cualquier momento para detener el programa.

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

Método 2: GPIO Zero Library

La biblioteca RPi.GPIO es fantástica, pero hay un chico nuevo en el bloque. La biblioteca GPIO Zero Library fue creada por el gerente de la comunidad de Raspberry Pi, Ben Nuttall, con la intención de simplificar el código y de leer y escribir..

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

desde gpiozero import LED, botón desde señal de pausa de importación 

Notarás que no importaste toda la biblioteca. Como solo está utilizando un LED y un botón, solo necesita esos módulos en el script. Nosotros tambien 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:

led = LED (18) boton = boton (23) 

Como la biblioteca GPIO Zero tiene módulos para el LED y el botón, no necesita 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).

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

button.when_pressed = led.on button.when_released = led.off pause () 

los pausa() La llamada aquí simplemente detiene la salida del script cuando llega al final. Los eventos de dos botones se activan cada vez que se presiona y suelta el botón. Guarda y ejecuta tu script y verás el mismo resultado que antes!

Dos formas de agregar un botón a la 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, ya que la mayoría de los proyectos de Raspberry Pi para principiantes lo utilizan. 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 Raspberry Pi: el tutorial no oficial Raspberry Pi: el tutorial no oficial Ya sea un propietario actual de Pi que quiera aprender más o un posible propietario de este dispositivo del tamaño de una tarjeta de crédito, no es una guía quieres perder ¡Leer más está lleno de ideas creativas y tutoriales que puedes probar tú mismo! Para ver otro tutorial como este, vea cómo hacer un botón de conexión Wi-Fi Cómo hacer su propio botón de conexión Wi-Fi con ESP8266 Cómo hacer su propio botón de conexión Wi-Fi con ESP8266 En este tutorial, aprenderá cómo para crear un botón habilitado para Wi-Fi utilizando NodeMCU e IFTTT. Lee mas .

Obtenga más información sobre: ​​Tutoriales de proyectos de bricolaje, GPIO, Python, Raspberry Pi.