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í.
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT """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
.
¿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.
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT """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.
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT """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!
Text editor powered by tinymce.