Tabla de contenido:
- Paso 1: circuito electrónico
- Paso 2: código Python
- Paso 3: Cómo iniciar el script automáticamente después del procedimiento de inicio
Video: Botón de apagado para Raspberry Pi: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
La Raspberry Pi es una plataforma informática muy útil que permite crear varias aplicaciones de proyectos de IoT / robótica / hogar inteligente /…. Sin embargo, lo único que no tiene, en comparación con una computadora normal, es un botón de apagado y apagado. Entonces, ¿cómo podemos crear uno nosotros mismos? Muy bien, ¡hagámoslo juntos!
Para este tutorial, necesitará lo siguiente:
- 1 Raspberry Pi ya configurada y lista para usar
- 1 protoboard o algo que te permitirá crear el circuito electrónico
- 1 pulsador
- 2 cables de puente
Si nunca ha usado una Raspberry Pi, puede consultar mi tutorial sobre cómo y qué hacer para configurarla:
www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/
Paso 1: circuito electrónico
Nada súper complicado aquí, es un circuito bastante sencillo. Las 2 imágenes de arriba explican la construcción del circuito. Puede usar cualquier pin GPIO que desee para la entrada del botón, solo deberá asegurarse de actualizar el código para reflejar eso.
Expliquemos rápidamente cómo va a funcionar esto:
- el cable ROJO lleva los 3.3V a un extremo del botón pulsador.
- el cable NEGRO conecta el otro extremo del pulsador a un Pi GPIO que se utilizará como entrada.
- de forma predeterminada, el botón está abierto, por lo que no hay voltaje que lo atraviese. Entonces, el cable NEGRO está a 0V cuando no se presiona el botón. Esto significa que el estado lógico de la entrada Pi GPIO es 0.
- cuando se presione el botón, el voltaje lo atravesará y el cable NEGRO se conectará al 3.3V. La Raspberry Pi verá un voltaje de 3.3V en su entrada, correspondiente a un estado lógico de 1.
Paso 2: código Python
Ahora que el circuito está listo para usarse, necesitamos escribir el código que lo ejecutará, y estoy usando Python en un entorno PyCharm aquí. Configuré el botón para apagar la Raspberry Pi solo cuando se presiona más de 3 segundos en consecuencia. La razón por la que lo hago es que es muy fácil que se presione accidentalmente y no desea apagar su Pi por accidente.
La pantalla de impresión de arriba es de mi entorno PyCharm, y el código es el siguiente (con una pequeña diferencia en la línea 26 que está vinculada a otro proyecto pero no se requiere aquí):
# Este es un código para apagar la Raspberry Pi al presionar y mantener presionado un botón definido para apagar Raspberry PiGPIO.setwarnings (False) GPIO.setmode (GPIO. BCM) # Esquema de numeración de pines Broadcom GPIO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # Botón configurado como entrada mientras es verdadero: GPIO.wait_for_edge (button_poweroff, GPIO. RISING) start = time.time () time.sleep (0.2) # Cambiar antirrebote mientras GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - start if length > hold_time: os.system ("sudo poweroff")
Lo primero, si ha conectado el pulsador a un GPIO diferente, es actualizar la línea 11 en la pantalla de impresión anterior con la entrada GPIO correspondiente:
button_poweroff = GPIO_X # Actualice con el GPIO correcto utilizado en su circuito
Además, la variable hold_time le permite modificar el tiempo de espera que hace que el Pi se apague.
Paso 3: Cómo iniciar el script automáticamente después del procedimiento de inicio
Ahora que tenemos el código listo, solo necesitamos ejecutarlo. Pero sería conveniente que pudiéramos tener este script ejecutado cada vez que arranca la Pi, de forma automática, para que el botón funcione sin que nosotros ejecutemos el script cada vez. Hay muchas maneras de hacerlo. He agregado aquí una línea en el archivo rc.local que se encuentra en la carpeta / etc / de su Pi. Se ejecuta como parte de la secuencia de arranque.
Necesita abrir una línea de comando y escribir los siguientes comandos (primera pantalla de impresión arriba):
CD /
cd, etc. sudo nano rc.local
El primer comando lo llevará desde su directorio / home / pi al directorio raíz, que es /.
El segundo comando lo llevará al directorio / etc /.
Finalmente, el tercero abrirá el archivo rc.local como superusuario, con todos los derechos de edición, que necesita para modificar el archivo.
Una vez en el archivo, solo necesita agregar una línea al final, pero antes de la declaración de salida 0 (segunda pantalla de impresión arriba):
# Agregue esta línea al archivo rc.local para iniciar el script
sudo python /home/pi/Documents/shutdown_with_hold.py &
Hay algunas cosas a las que deberá prestar atención, aquí:
- el nombre de su archivo: en la línea anterior, supongo que el archivo es shutdown_with_hold.py. Pero podría ser lo que quieras, solo actualiza el nombre con el tuyo.
- donde ha guardado su archivo: en la línea anterior, supongo que está guardado en su directorio / home / pi / Documents. Pero, de nuevo, puede estar en cualquier lugar. Solo necesita asegurarse de poner aquí la ruta absoluta a su archivo.
- el carácter "&" al final: esto es importante y permite que este comando se ejecute en segundo plano
¡Y eso es! Entonces, el script se ejecutará cada vez que su Pi esté ENCENDIDO, y solo tendrá que presionar más de 3 segundos el botón para apagarlo.
Recomendado:
Ventilador de bricolaje con un botón de encendido y apagado - M5StickC ESP32: 8 pasos
Ventilador de bricolaje con un botón de ENCENDIDO-APAGADO - M5StickC ESP32: En este proyecto aprenderemos cómo usar un módulo FAN L9110 usando una placa M5StickC ESP32
Fuente de alimentación de respaldo para un apagado adecuado: 5 pasos
Fuente de alimentación de respaldo para un apagado adecuado: una fuente de alimentación de respaldo es un circuito que suministra energía a los dispositivos en caso de que se interrumpa la fuente de alimentación principal. En este caso, esta fuente de alimentación de respaldo solo está destinada a suministrar energía durante unos segundos para que el dispositivo pueda realizar su procedimiento de apagado
INSTALACIÓN DE REEMPLAZO DEL BOTÓN TRASERO DEL BOTÓN TRASERO DEL CERRADURA DEL PORTÓN TRASERO DE RENAULT SCENIC / MEGANE: 3 Pasos
INSTALACIÓN DE REEMPLAZO DEL BOTÓN TRASERO DEL BOTÓN DE LA PUERTA TRASERA DE RENAULT SCENIC / MEGANE: La junta tórica de mala calidad que mantiene el botón del maletero en su lugar se desgasta y se pierde el botón del maletero del vehículo. La única solución de Renaults para esto es un mecanismo de bloqueo de arranque de reemplazo completo que solo fallará nuevamente y costará
Microcontrolador AVR. Cambie los LED con un interruptor de botón. Desactivación del botón pulsador: 4 pasos
Microcontrolador AVR. Cambie los LED con un interruptor de botón. Desactivación del botón pulsador: En esta sección, aprenderemos cómo hacer el código C del programa para ATMega328PU para alternar el estado de los tres LED de acuerdo con la entrada de un interruptor de botón. Además, hemos explorado una solución al problema de "Switch Bounce". Como de costumbre, nosotros
Botón de encendido táctil para Raspberry Pi: 3 pasos
Botón de encendido táctil para Raspberry Pi: Desde que imprimí y comencé a usar esta funda para mi Retropie, siempre imaginé cómo hacer un botón de encendido. La idea era cambiar el diseño para hacer el botón de movimiento y luego mover un interruptor. Al final tuve otra idea, donde no necesitaba cambiar el cas