La Circuit Playground Express y la Bluefruit tienen siete pads capacitivos alrededor del exterior de la tarjeta, etiquetados como A1 - A6 y TX. Aunque las imágenes son de una Circuit Playground Express, los pads táctiles se encuentran en el mismo lugar en una Bluefruit. Estos pads devuelve True si los tocas. ¡Los puedes usar como entradas para hacer todo tipo de cosas divertidas!
Ya que los pads son capacitivos, también les puedes conectar cables de lagarto y ¡un sin fin de cosas capacitivos, y tocarlos para activarlos! Por ejemplo, les puedes conectar un lado de un cable de lagarto y el otro lado hacia una manzana o un limón. O puedes conectar la otra parte en un vaso con agua. Luego tocas la fruta o el agua en el vaso. ¡Con esto activas el pad!
Agrega el siguiente código a tu code.py. Recuerda, si necesitas ayuda, revisa aquí.
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT """This example prints to the serial console when you touch capacitive touch pad A1.""" from adafruit_circuitplayground import cp while True: if cp.touch_A1: print("Touched pad A1")
Abra la consola serial. Ahora, toque el pad etiquetado en la Circuit Playground como A1. ¡Touched pad A1
!
Vamos a ver el código. Primero, importamos a time
y a cp
.
Dentro de nuestro enlace, revisamos si el pad A1 es tocado con if cp.touch_A1:
. Si lo es, imprimimos conprint
el texto Touched pad A1
hacia la consola serial. Luego tenemos un time.sleep(0.1)
para dar un poco de pausa cuando imprimimos.
¡Bien! ¿Pero que pasa con el resto de los pads? Agrega el siguiente código en tu code.py.
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT """This example prints to the serial console when you touch the capacitive touch pads.""" import time import board from adafruit_circuitplayground import cp # You'll need to first use the touchpads individually to register them as active touchpads # You don't have to use the result though is_a1_touched = cp.touch_A1 # This result can be used if you want if is_a1_touched: print("A1 was touched upon startup!") is_a2_touched = cp.touch_A2 is_a3_touched = cp.touch_A3 is_a4_touched = cp.touch_A4 print("Pads that are currently setup as touchpads:") print(cp.touch_pins) while True: current_touched = cp.touched if current_touched: print("Touchpads currently registering a touch:") print(current_touched) else: print("No touchpads are currently registering a touch.") if all(pad in current_touched for pad in (board.A2, board.A3, board.A4)): print("This only prints when A2, A3, and A4 are being held at the same time!") time.sleep(0.25)
Ahora, veamos la consola serial y toque algunos de los pads. ¡Touched pad...
!
El código comienza de la misma forma. Pero, hemos agregado un par de líneas para el toque de cada pad. Primero revisamos si (if
) cada pad está siendo tocado, y si lo es, entonces imprimimos Touched pad
y el número del pad que tocamos, hacia la consola serial.
Hemos incluido a todos los pads táctiles. ¡Ahora hagamos algo con ellos!
Tocar el Arco Iris
Agregue el siguiente código a tu code.py.
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT """This example uses the capacitive touch pads on the Circuit Playground. They are located around the outer edge of the board and are labeled A1-A6 and TX. (A0 is not a touch pad.) This example lights up the nearest NeoPixel to that pad a different color of the rainbow!""" import time from adafruit_circuitplayground import cp cp.pixels.brightness = 0.3 while True: if cp.touch_A1: print("Touched A1!") cp.pixels[6] = (255, 0, 0) if cp.touch_A2: print("Touched A2!") cp.pixels[8] = (210, 45, 0) if cp.touch_A3: print("Touched A3!") cp.pixels[9] = (155, 100, 0) if cp.touch_A4: print("Touched A4!") cp.pixels[0] = (0, 255, 0) if cp.touch_A5: print("Touched A5!") cp.pixels[1] = (0, 135, 125) if cp.touch_A6: print("Touched A6!") cp.pixels[3] = (0, 0, 255) if cp.touch_TX: print("Touched TX!") cp.pixels[4] = (100, 0, 155) time.sleep(0.1)
Ahora toque cada pad. ¡Vas a tener un LED en cada uno de los de colores del arco iris para cada pad!
Ahora vamos a ver el código. Importamos a time
y a cp
. Definimos el brillo de los LEDs a un 30%. Revisamos si (if
) cada uno de los pads es tocado, y si lo es imprimimos (print
) a la consola serial. Esta vez sin embargo, también prendemos un LED específico a cada pad con cp.pixels[#] = (r, g, b)
donde #
es el número del pixel y r, g, b
son los valores de color. Nosotros no hemos incluído ningún código para que se apaguen, por lo que una vez que los prendas se van a quedar prendidos.
¡Ahora vamos a agregar más luz! Agrega el siguiente código a tu code.py.
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT """This example uses the capacitive touch pads on the Circuit Playground. They are located around the outer edge of the board and are labeled A1-A6 and TX. (A0 is not a touch pad.) This example lights up all the NeoPixels a different color of the rainbow for each pad touched!""" import time from adafruit_circuitplayground import cp cp.pixels.brightness = 0.3 while True: if cp.touch_A1: print("Touched A1!") cp.pixels.fill((255, 0, 0)) if cp.touch_A2: print("Touched A2!") cp.pixels.fill((210, 45, 0)) if cp.touch_A3: print("Touched A3!") cp.pixels.fill((155, 100, 0)) if cp.touch_A4: print("Touched A4!") cp.pixels.fill((0, 255, 0)) if cp.touch_A5: print("Touched A5!") cp.pixels.fill((0, 135, 125)) if cp.touch_A6: print("Touched A6!") cp.pixels.fill((0, 0, 255)) if cp.touch_TX: print("Touched TX!") cp.pixels.fill((100, 0, 155)) time.sleep(0.1)
Toque cada pad. ¡Ahora has logrado que cada LED se prenda en un color del arco iris para cada uno de ellos!
El código es casi exáctamente el mismo, pero en lugar de cp.pixels[#]
, estamos usando cp.pixels.fill((r, g, b))
para prender todos los LEDS en lugar de solo uno.
Puedes cambiar los valores a lo que desees y crear tu arco iris personalizado. ¡Realiza la prueba!
Text editor powered by tinymce.