.. note:: ¡Hola! Bienvenidos a la comunidad de entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook. Profundiza en Raspberry Pi, Arduino y ESP32 con otros entusiastas. **¿Por qué unirse?** - **Soporte experto**: Resuelve problemas post-venta y desafíos técnicos con la ayuda de nuestra comunidad y equipo. - **Aprender y compartir**: Intercambia consejos y tutoriales para mejorar tus habilidades. - **Avances exclusivos**: Accede temprano a nuevos anuncios de productos y adelantos exclusivos. - **Descuentos especiales**: Disfruta de descuentos exclusivos en nuestros productos más nuevos. - **Promociones festivas y sorteos**: Participa en sorteos y promociones festivas. 👉 ¿Listo para explorar y crear con nosotros? Haz clic en [|link_sf_facebook|] y únete hoy mismo. .. _2.1.2_py: 2.1.2 Microinterruptor ========================== Introducción --------------- En este proyecto, aprenderemos a usar un microinterruptor. Un microinterruptor es un interruptor pequeño y muy sensible que requiere una mínima compresión para activarse. Debido a que son confiables y sensibles, los microinterruptores se utilizan a menudo como dispositivo de seguridad. Se utilizan para evitar que las puertas se cierren si algo o alguien está en el camino y en otras aplicaciones similares. Componentes necesarios ---------------------------- En este proyecto, necesitamos los siguientes componentes. .. image:: ../img/2.1.2component.png Es definitivamente conveniente comprar un kit completo, aquí está el enlace: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nombre - COMPONENTES EN ESTE KIT - ENLACE * - Raphael Kit - 337 - |link_Raphael_kit| También puedes comprarlos por separado en los enlaces a continuación. .. list-table:: :widths: 30 20 :header-rows: 1 * - INTRODUCCIÓN DEL COMPONENTE - ENLACE DE COMPRA * - :ref:`cpn_gpio_board` - |link_gpio_board_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_led` - |link_led_buy| * - :ref:`cpn_micro_switch` - \- * - :ref:`cpn_capacitor` - |link_capacitor_buy| Diagrama esquemático -------------------------- Conecta el pin izquierdo del microinterruptor al GPIO17, y dos LEDs a los pines GPIO22 y GPIO27 respectivamente. Luego, cuando presiones y sueltes el brazo móvil del microinterruptor, verás que los dos LEDs se encienden alternativamente. .. image:: ../img/image305.png .. image:: ../img/micro_Schematic.png Procedimientos Experimentales ----------------------------- **Paso 1:** Construir el circuito. .. image:: ../img/2.1.4fritzing.png **Paso 2:** Ingresar a la carpeta del código. .. raw:: html .. code-block:: cd ~/raphael-kit/python **Paso 3:** Ejecutar. .. raw:: html .. code-block:: sudo python3 2.1.2_MicroSwitch.py Mientras el código está en ejecución, presiona el brazo móvil, entonces el LED amarillo se encenderá; suelta el brazo móvil, y el LED rojo se encenderá. **Código** .. note:: Puedes **Modificar/Restablecer/Copiar/Ejecutar/Detener** el código a continuación. Pero antes de eso, necesitas ir a la ruta del código fuente como ``raphael-kit/python``. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto. .. raw:: html .. code-block:: python #!/usr/bin/env python3 import RPi.GPIO as GPIO import time # Configurar #17 como pin del microinterruptor, #22 como pin del led1, #27 como pin del led2 microPin = 17 led1Pin = 22 led2Pin = 27 # Definir una función de configuración para algunas configuraciones def setup(): # Establecer los modos GPIO en Numeración BCM GPIO.setmode(GPIO.BCM) # Establecer microPin como entrada # Establecer ledPin como salida, # y nivel inicial en Alto (3.3v) GPIO.setup(microPin, GPIO.IN) GPIO.setup(led1Pin, GPIO.OUT, initial=GPIO.HIGH) GPIO.setup(led2Pin, GPIO.OUT, initial=GPIO.HIGH) # Definir una función principal para el proceso principal def main(): while True: # microinterruptor alto, led1 encendido if GPIO.input(microPin) == 1: print ('LED1 ON') GPIO.output(led1Pin, GPIO.LOW) GPIO.output(led2Pin, GPIO.HIGH) # microinterruptor bajo, led2 encendido if GPIO.input(microPin) == 0: print (' LED2 ON') GPIO.output(led2Pin, GPIO.LOW) GPIO.output(led1Pin, GPIO.HIGH) time.sleep(0.5) # Definir una función destroy para limpiar todo después de que # el script termine def destroy(): # Apagar LED GPIO.output(led1Pin, GPIO.HIGH) GPIO.output(led2Pin, GPIO.HIGH) # Liberar recursos GPIO.cleanup() # Si ejecutas este script directamente, haz: if __name__ == '__main__': setup() try: main() # Cuando se presiona 'Ctrl+C', el programa # destroy() se ejecutará. except KeyboardInterrupt: destroy() **Explicación del Código** .. code-block:: python if GPIO.input(slidePin) == 1: GPIO.output(led1Pin, GPIO.LOW) GPIO.output(led2Pin, GPIO.HIGH) Cuando se suelta el brazo móvil del microinterruptor, el pin izquierdo se conecta al pin derecho; en este momento, se leerá un nivel alto en GPIO17, y luego el LED1 se encenderá y el LED2 se apagará. .. code-block:: python if GPIO.input(slidePin) == 0: GPIO.output(led2Pin, GPIO.LOW) GPIO.output(led1Pin, GPIO.HIGH) Cuando se presiona el brazo móvil, el pin izquierdo y el pin medio se conectan. En este punto, se leerá un nivel bajo en GPIO17, luego el LED2 se encenderá y el LED1 se apagará. Foto del Fenómeno ------------------ .. image:: ../img/2.1.2micro_switch.JPG