Saludos!! Siguiendo con los post de la Rock Pi S hoy vamos realizar una tarea obteniendo el estado de un botón conectado a un GPIO, para ser exactos retomaremos nuestro anterior post "GPIOs - Encender LEDs con efecto del auto fantástico" y añadiremos un botón para tener un par de efectos con cada vez que se presione.
Sponsor: SeeedStudio
Proveedor de hardware de código abierto, centrado en tecnologías emergentes como IA, robótica y sensores inteligentes. Si deseas saber mas, te recomiendo revisar su página.
Debo aclara que para este y los futuros ejemplos doy por hecho lo siguiente:
- Se han revisado los anteriores post que he realizado y ya se tienen instalado las herramientas necesarias.
- Se sabe conectar usando la terminal, ya sea por la UART o vía SSH.
- Se sabe crear archivos, entrar a ellos modificarlos y actualizarlos.
- Se sabe ejecutar un archivo creado.
Circuito:
Para el circuito voy a reutilizar la conexion del ejemplo pasado, los LEDs estan conectados a GPIO1_D0, GPIO1_C6, GPIO1_D1, GPIO1_C7 y solo he agregado un boton pulsador con su resistencia de pull-down en GPIO2_A7.
Código:
El codigo revisa todo el tiempo el estatus del boton con la funcion GPIO_GetButtonStatus el cual una rutina antirrebote para procesar adecuadamente la informacion del boton, con cada pulso modificamos el valor de "modo", el cual dependiendo de su valor realiza diferentes rutinas.
- modo = 0: Valor inicar, todos los LEDs apagados.
- modo = 1: Rutina de LEDs -Auto fantastico.
- modo = 2: Desplazamiento de LEDs en un sentido - Hacia la derecha.
- modo = 3: Desplazamiento de LEDs en un sentido - Hacia la izquierda.
- modo = 4: LEDs intermitente - Encendido de forma intercalado.
Descargas:
Aquí el enlace directo para DESCARGAR los archivos disponibles, también puedes revisar o descargar la información desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.
Donaciones:
Si te gusta el contenido o si los recursos te son de utilidad, comparte el enlace en tus redes sociales o sitios donde creas que puede ser de interés y la otra puedes ayudarme con una donación para seguir realizando publicaciones y mejorar el contenido del sitio. También puedes hacer donaciones en especie, ya sea con componentes, tarjetas de desarrollo o herramientas. Ponte en contacto para platicar, o puedes volverte uno de nuestros sponsors.
Pido una retroalimentación avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, así también si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.
Referencias:
- ROCK Pi S, https://docs.radxa.com/en/rockpi/rockpis
- ROCK Pi S, "GPIOD Usage", https://docs.radxa.com/en/rock5/rock5c/app-development/gpiod
- ROCK Pi S, "GPIO Header", https://docs.radxa.com/en/rockpi/rockpis/hardware/pin-gpio
- gpiod, https://pypi.org/project/gpiod/



0 Comentarios