Esta sección de la guía, nos proporciona capacidades táctiles y de sonido a nuestro proyecto. Primero, vamos a aprender como utilizar los pads de toque capacitivo en la Circuit Playground Express. Le vamos a agregar a cada uno una respuesta que imprime, para saber que está funcionando.
Vamos a comenzar con el pad táctil A1.
Renombra tu archivo code.py actual si deseas guardar algún cambio que hayas realizado. Luego descargas el siguiente archivo. Le cambias el nombre a code.py y lo copias a tu CPX.
# SPDX-FileCopyrightText: 2017 Kattni Rembor for Adafruit Industries # # SPDX-License-Identifier: MIT from adafruit_circuitplayground import cp while True: if cp.touch_A1: print('Touched 1!')
Ahora vamos a revisar el código.
En este código creamos un ciclo. La tarjeta está revisando constantemente a ver si has tocado A1, y te imprime un mensaje en la consola serial REPL, cuando lo haces. El código básicamente se lee como "si ud toca A1, imprima 'Touched 1!' ", y no hace falta más.
El siguiente archivo incluye el resto de pads capacitivos. Descarga el archivo. Cambia su nombre a code.py, y luego lo copias hacia la CPX.
# SPDX-FileCopyrightText: 2017 Kattni Rembor for Adafruit Industries # # SPDX-License-Identifier: MIT from adafruit_circuitplayground import cp while True: if cp.touch_A1: print('Touched 1!') elif cp.touch_A2: print('Touched 2!') elif cp.touch_A3: print('Touched 3!') elif cp.touch_A4: print('Touched 4!') elif cp.touch_A5: print('Touched 5!') elif cp.touch_A6: print('Touched 6!') elif cp.touch_A7: print('Touched 7!')
Ahora puedes tocar cualquier de los pads capacitivos, y la consola serial del REPL te va a avisar cual fue el que tocaste. ¡Has la prueba!
Vamos a ver una diferencia en el código.
while True: if cpx.touch_A1: print('touched 1!') elif cpx.touch_A2: print('touched 2!')
Hasta el momento hemos utilizado ciclos de tipo while
, condicionales de tipo if
, y else
. Este código incluye una condicional de tipo elif
. Un elif
es la combinación de un else
y un if
, lo que básicamente significa "De otra forma, siempre y cuando".
Hay 7 pads táctiles. La tarjeta necesita saber cual es la que estás tocando, y dar una respuesta basado en cual pad estás tocando. El código dice "Si estás tocando A1, vas a imprimir'Touched 1!
', de otra forma, si estás tocando A2, vas a imprimir 'Touched 2!
', de otra forma, si estás tocando A3, vas a imprimir 'Touched 3!
'" y así para cada uno de los pads táctiles. No podemos utilizar un else
en este código, porque no es un simple escenario de si sí o no. Es más granular porque tiene 7 estados, uno para cada uno de los pad táctiles.
Ahora, vamos a aprender como tocamos tonos con el parlante integrado.
Hay dos maneras para que suenen tonos con el parlante integrado. Una es usar play_tone
, el cual toca un tono particular por una duración dada. La otra forma es utilizando start_tone
y stop_tone
, las que requieren que le pongas un disparador, como un botón (¡o un pad táctil!), para tocar un tono durante la duración del evento.
Vamos a comenzar realizando un tono sencillo. Descargue el archivo. Cambie su nombre a code.py y luego realice una copia hacia la CPX.
# SPDX-FileCopyrightText: 2017 Kattni Rembor for Adafruit Industries # # SPDX-License-Identifier: MIT from adafruit_circuitplayground import cp cp.play_tone(440, 1)
En el primer ejemplo, usamos play_tone
, el cual necesita que se le diga una frecuencia (en Hz) y una duración (en segundos). Le hemos dicho una frecuencia de 440 Hz (un La central) y durante un segundo.
En este caso, el tono suena apenas el código se comienza a ejecutar, dado que no hay otro código que tenga que correr cuando la tarjeta inicia. Este código no repite el tono, solo lo toca una vez. Usted puede salvar de nuevo su code.py, o recargar el REPL para hacerla que toque el tono de nuevo.
Puedes cambiar tanto la frecuencia como la duración para cambiar el tono que tocas y la duración por la que va a sonar. Si necesitas tonos específicos, puedes buscar un generador de tonos en línea. ¡Diviértete con esto!
Para nuestro piano de tonos, vamos a utilizar start_tone
y stop_tone
. Para este ejemplo, vamos a utilizar los pads A1 y A2 de la Circuit Playground Express.
Recuerda, si has realizado cambios que desees preservar, renombra tu archivo code.py a otro nombre. Descarga el siguiente archivo, cambia su nombre por code.py y luego lo copias a la CPX.
# SPDX-FileCopyrightText: 2017 Kattni Rembor for Adafruit Industries # # SPDX-License-Identifier: MIT from adafruit_circuitplayground import cp while True: if cp.touch_A1: cp.start_tone(262) elif cp.touch_A2: cp.start_tone(294) else: cp.stop_tone()
Este segundo ejemplo utiliza start_tone
(o iniciar tono), el cual necesita que le des una frecuencia (en Hz), y luego stop_tone
(o detener tono) se encarga de se detenga.
Si tocas A1, vas a escuchar un tono hasta que dejes de tocar A1. Si tocas A2, vas a escuchar un tono hasta que dejes de tocar A2. De nuevo hemos utilizado ciclos tipo while
, y condiciones if
, y elif
y esta vez hemos agregado también un else
. Este código básicamente significa: "Mientras esté tocando A1, toque cierto tono, o de lo contrario detenga el tono. De otra forma, mientras esté tocando A2, toque cierto tono, o de lo contrario detenga el tono". El condicional else
aplica para ambos el if
y el elif
de forma separada.
¡Esta es la base del piano de toque capacitivo! Ya casi llegamos. ¡En la siguiente sección, vamos a juntar todo lo que hemos aprendido en el proyecto final!
Text editor powered by tinymce.