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

  • Harry James
  • 0
  • 4959
  • 1315
Anuncio

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 de la electrónica y 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 usará 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 botón 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 placa de prueba
  • Conectar los cables

Una vez reunidos, debe tener componentes que se vean así:

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:

Configurando el circuito

Utilizará los pines GPIO del Pi para hacer el circuito, y si no está familiarizado con ellos, nuestra guía de pines GPIO Raspberry Pi lo ayudará. El circuito aquí es casi el mismo que en nuestro proyecto anterior de 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.
  • Pin 12 (GPIO 18) se conecta a la pata positiva del LED.
  • Una pierna de la resistor se conecta 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 une a un lado del botón, el otro lado se une al riel de tierra de la placa.

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 el Pi se haya iniciado, dirígete al menú y selecciona Programación> Thonny Python IDE. Se abrirá un nuevo script 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 el LED y los números de pin del botón.

ledPin = 12 buttonPin = 16 

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 es confuso para usted, un cuadro de distribución de Raspberry Pi puede ayudarlo a aclararlo.

Configurar el botón

Es hora de configurar los pines GPIO. Ajuste el pin del LED a la salida y el pin del botón a la entrada con una resistencia 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 pull-up interna de la Raspberry Pi. Debe habilitar esto para obtener una lectura limpia del botón. Como el botón va al pin de tierra, necesitamos una resistencia pull-up para mantener el pin de entrada 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 ALTO 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 pasador se eleva de forma segura 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 BAJO hasta que presione el botón.

La teoría de resistencia pull-up y pull-down es confusa a primera vista, pero es un conocimiento importante 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 ciclo del programa:

while True: buttonState = GPIO.input (buttonPin) if buttonState == False: GPIO.output (ledPin, GPIO.HIGH) else: GPIO.output (ledPin, GPIO.LOW) 

los mientras 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 de la buttonPin. Mientras no se presiona el botón, permanece ALTO.

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

Guarde y ejecute su script

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

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

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

Método 2: GPIO Zero Library

La biblioteca RPi.GPIO es fantástica, pero hay un nuevo chico en el bloque. La GPIO Zero Library fue creada 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 fácil de leer y escribir..

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

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

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. 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:

led = LED (18) botón = Botón (23) 

Dado que la biblioteca GPIO Zero tiene módulos para el LED y el botón, no necesita configurar entradas y salidas como antes. Notarás 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 PIN de GPIO (también conocidos como números Broadcom o BCM).

El resto del script tiene solo tres líneas:

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

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 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

Fuera 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 principiantes de Raspberry Pi la usan. Tan simple como es este proyecto, el conocimiento se puede usar 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 Si usted es un propietario actual de Pi que desea obtener más información o un propietario potencial de este dispositivo del tamaño de una tarjeta de crédito, esta no es una guía quieres perderte está lleno de ideas creativas y tutoriales que puedes probar tú mismo. Para otro tutorial como este, vea cómo hacer un botón conectado a Wi-Fi Cómo hacer su propio botón conectado a Wi-Fi con ESP8266 Cómo hacer su propio botón conectado a Wi-Fi con ESP8266 En este tutorial, aprenderá cómo crear un botón habilitado para Wi-Fi usando NodeMCU e IFTTT. .




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.