La Circuit Playground Express y la Bluefruit tienen un interruptor deslizante en ellas, encima del conector de batería. Aunque las imágenes son de la Circuit Playground Express, el switch se encuenta en el mismo lugar en la Bluefruit. El interruptor deslizante no controla la alimentación eléctrica de la tarjeta. Es un interruptor que responde Verdadero (True) o Falso (False) dependiendo si está a la izquierda o a la derecha. ¡Así que puedes usarlo como interruptor en tu código! Vamos a ver como.

Agregue el siguiente código a tu code.py. Recuerda que si necesitas ayuda, puedes revisar aquí.

"""This example prints the status of the slide switch. Try moving the switch back and forth to see
what's printed to the serial console!"""
import time
from adafruit_circuitplayground import cp

while True:
    print("Slide switch:", cp.switch)
    time.sleep(0.1)

Abre la consola serial para que se imprima el estado del interruptor. ¡Trata de moverlo de un lugar a otro y ver como cambia su estado!

Vamos a observar el código. Primero importarmos time y cp.

Luego, dentro de nuestro ciclowhile loop, imprimimos (print) el estado del interruptor hacia la consola serial. Esto imprime True si el switch está a la izquierda y False si el interruptor está a la derecha. Nosotros incluimos un time.sleep(0.1) para bajar la velocidad de lo que se imprime. Para ver los resultados, realiza click en el botón Serial de Mu, o conectándote a la consola serial si no estás en Mu. Si el switch está a la izquierda, vas a ver impreso en la consola serialSlide switch: True . Si el interruptor está a la derecha, vas a ver impreso en la consola serialSlide switch: False.

circuitpython_SlideSwitchIsRight.jpg
El interruptor deslizante se encuentra a la derecha. ¡Muévelo a la izquierda!

¿Sencillo, no? ¡Ahora vamos a hacer algo con eso!

Blinky con Interruptor

Acabamos de aprender como prender y apagar el pequeño LED rojo. Ahora vamos a incorporar una entrada para controlarlo. Ya que el switch retorna True o False, lo podemos usar como una entrada.

Agrega el siguiente código a tu code.py.

"""This example uses the slide switch to control the little red LED."""
from adafruit_circuitplayground import cp

# This code is written to be readable versus being Pylint compliant.
# pylint: disable=simplifiable-if-statement

while True:
    if cp.switch:
        cp.red_led = True
    else:
        cp.red_led = False

Luego de importar cp, nuestro ciclo comienza con un if. El if dice, "si este evento sucede, haga lo siguiente". En nuestro código dice, si el interruptor está hacia la izquierda, o True, prenda el LED rojo.

Note que no tenermos que decir if cp.switch == True:. El True es lo que evalua un if.

A esto le sigue un else. Unelse lo que dice es, "De otra forma, haga lo siguiente". Un else típicamente va después de un if. Juntos lo que dicen es, "Si esto sucede, haga esto, pero de lo contrario haga esta otra cosa" En nuestro código dice que si el interruptor está a la derecha, o  False, apague el LED rojo.

Ahora, trate de mover el interruptor de un lado al otro. ¡Su LED rojo debería prenderse y apagarse!

Verdadero es Verdadero

Puede que hayas notado que si el interruptor está a la derecha, es verdadero (True), y cuando el LED está prendido, también es verdadero (True). Podemos usar esto para que nuestro código sea más pequeño. Comenzamos con el bloque de if/else porque es más sencillo de entender que es lo que sucede cuando vemos el código escrito. Sin embargo, el siguiente código es otra forma de hacer lo mismo. Agrega este código a tu code.py.

"""This example uses the slide switch to control the little red LED. When the switch is to the
right it returns False, and when it's to the left, it returns True."""
from adafruit_circuitplayground import cp

while True:
    cp.red_led = cp.switch

Lo que sea que el interruptor nos retorne es lo que le vamos a definir al LED. Así que si el switch retorna True, el LED es True. Si el interruptor retorna False, el LED va a ser False. True es True, False es False. ¡Mueva el interruptor de un lado al otro y todavía vas a estar prendiendo y apagando el LED con este código más corto!

This guide was first published on Jul 28, 2020. It was last updated on Jul 28, 2020.

This page (Interruptor deslizante) was last updated on Nov 06, 2020.