banner

Noticias

Mar 12, 2023

Cómo usar un plátano como entrada táctil para Raspberry Pi Pico

Toque el plátano para controlar un LED.

El toque capacitivo es un medio simple para detectar la entrada del usuario midiendo la constante dieléctrica. Si es diferente a una medición de referencia, entonces se puede usar como entrada. En el pasado, usamos un sensor táctil MPR121 para activar un evento usando un Raspberry Pi Pico. El MPR121 es un sensor Stemma QT confiable que viene en varios factores de forma para pinzas de cocodrilo y calibres de cable estándar. Nos encanta tanto que lo ponemos en nuestra lista de los mejores complementos de Stemma QT y Grove. Pero, ¿hay alguna manera de hacerlo sin usar una placa de sensores?

Con solo un trozo de cable y una resistencia de 1 Mega Ohm en una banana, podemos crear nuestra propia interfaz táctil y tener un refrigerio saludable. En este tutorial, usaremos el plátano para encender y apagar un LED.

¿Por qué algo tan simple? Aprender a encender/apagar un LED es la mejor manera de comprender cómo funciona cada parte de su proyecto. Claro que podríamos convertir el plátano en una barra espaciadora y jugar a Flappy Birds, usarlo para abrir una ventana del navegador y hacer "Rick-roll" a un amigo o iniciar un robot para hacer una carrera loca hacia la puerta. Pero antes de que podamos hacer eso, debemos entender cómo y por qué funcionan las cosas, y el humilde LED es una forma económica y fácil de hacerlo.

Hay dos partes en el circuito: la entrada y la salida. La entrada es una banana (opcional), conectada a GPIO 16 en el Raspberry Pi Pico mediante un cable de puente largo. GPIO 16 también tiene una resistencia de 1 Mega Ohm para conectarlo a GND. Esta es una resistencia pulldown y asegura que el pin GPIO vea una referencia constante de 0V. Sin él, la entrada sería errática. Este proceso se puede repetir para múltiples entradas, sus únicos límites son los pines GPIO, resistencias de 1 Mega Ohm y bananas.

La salida es un LED simple con la pata larga (ánodo) conectada a GPIO 15 y la pata corta (cátodo) conectada a GND a través de una resistencia de 100 ohmios.

El plátano se puede reemplazar con cualquier cosa que sea conductora. Se pueden utilizar papel de aluminio, plastilina y otras frutas/verduras como insumos. También puede renunciar a los insumos culinarios por cables desnudos. En ciertos casos esto funciona mejor.

Construya el circuito y verifique dos veces sus conexiones antes de continuar.

Elegimos CircuitPython para este proyecto por dos razones clave. Uno, es tan fácil de usar y entender. Nuestro código es fácil de leer, depurar y podemos escribirlo en cualquier dispositivo, incluso un Chromebook. Dos, CircuitPython tiene el módulo Touchio que facilita la creación de entradas táctiles usando GPIO. Pero antes de que podamos comenzar el proyecto, debemos escribir la última versión de CircuitPython en Raspberry Pi Pico.

1.Vaya a la página oficial de CircuitPython para Raspberry Pi Picoydescargue la última versión de la imagen del firmware UF2. En el momento de escribir esto, esto era CircuitPython 8.10. Hemos elegido el Raspberry Pi Pico porque no necesitamos Wi-Fi, pero este proyecto podría usarse para activar un evento web, para eso necesitará un Raspberry Pi Pico W.

2.Mientras mantiene presionado el botón BOOTSEL, conecte el Raspberry Pi Pico a su computadora.Aparecerá una nueva unidad, RPI-RP2.

3.Copie el archivo CircuitPython UF2 descargado a RPI-RP2. Esto escribirá CircuitPython en el almacenamiento flash interno del Pico. Aparecerá una nueva unidad, CIRCUITPY.

Para escribir el código, usamos Thonny en Windows 10. Puede usar el editor de texto de su elección, pero Thonny tiene una excelente integración con CircuitPython (y MicroPython), lo que hace que sea muy fácil de usar. Lo mejor de todo es que es gratis y fácil de instalar en dispositivos Windows, macOS y Linux.

1.Descargar e instalar Thonnysi no lo tienes ya.Thonny es un editor de Python que cubre Python 3, MicroPython y CircuitPython.

2.Abra Thonny y vaya a Herramientas >> Opciones.

3.Seleccione Intérprete, luego configure el intérprete como CircuitPython, transfiéralo a automático y haga clic en Aceptar.Thonny ahora se conectará al Pico que ejecuta CircuitPython.

4. Haga clic en Archivo >> Abrir y seleccione el dispositivo CircuitPython. Luego seleccione código.py. CircuitPython utiliza Code.py como el archivo principal de un proyecto. Está configurado para ejecutarse automáticamente cuando se enciende el Pico.

5.Elimina cualquier código en code.py.Si necesita el código, asegúrese de hacer una copia de seguridad en su computadora.

6.Importa cuatro módulos de código necesarios para que el proyecto funcione. Touchio se usa para crear una entrada táctil capacitiva usando un pin GPIO. El tiempo controla cuánto tiempo se detendrá el código entre acciones. La placa se usa para trabajar con el GPIO, importar usando * significa que no tenemos que incluir el nombre del módulo. Digitalio se utiliza para controlar el estado de un pin. Puede ser una entrada o una salida.

7.Cree un objeto, led y configure el pin GPIO en GP15, y luego configúrelo para que sea una salida. Esto asegurará que cuando se active el LED, la corriente fluirá desde el pin GPIO 15 al ánodo del LED. Como el cátodo está conectado a GND a través de la resistencia de 100 ohmios, el circuito completo encenderá el LED.

8.Cree un objeto, led_state y almacene el valor entero 0 dentro de él. Este objeto se utilizará para registrar el estado actual del LED. Puede estar desactivado (0) o activado (1).

9.Crear un objeto, touch_pinpara hacer una conexión entre el código y el pin GPIO físico.

10Cree un bucle para ejecutar continuamente el código.

11Dentro del ciclo, cree una función de impresión que informará el estado actual del pin de entrada táctil.Usamos %s para usar el valor almacenado en touch_pin.value y convertirlo en una cadena para concatenar con el texto.

12Escriba una prueba condicional para comprobar si se ha tocado la entrada y si el LED está apagado.Ambas pruebas tienen que pasar para que pase la prueba condicional.

13Configure el LED para que se encienda, luego actualice el objeto led_state a 1,para que el código sepa que el LED está encendido . Dormir medio segundo para evitar rebotes accidentales (doble pulsación). Este código solo se ejecutará si pasa la prueba condicional.

14Cree una prueba condicional para comprobar si se ha tocado la entrada y si el LED está actualmente encendido.Este código apagará el LED.

15.Apague el LED, actualice el objeto led_statepara que el código sepa que el LED está apagado, y luegopausa de medio segundo.

dieciséis.Fuera de las pruebas condicionales, pero aún dentro del bucle, pausa el código durante 0,1 segundos.Cada vez que el ciclo itera, se detendrá durante 0,1 segundos, esto es útil para marcar el ritmo del código del proyecto.

17Guarde el código en code.py en el dispositivo CircuitPython(Frambuesa Pi Pico).

18. El código debería ejecutarse automáticamente, si nohaga clic en Detener y luego en Ejecutar.

19Toca la banana para encender o apagar el LED.

Únase a los expertos que leen Tom's Hardware para obtener información privilegiada sobre las noticias de tecnología de PC para entusiastas, y lo han hecho durante más de 25 años. Enviaremos noticias de última hora y reseñas detalladas de CPU, GPU, IA, hardware de fabricante y más directamente a su bandeja de entrada.

Les Pounder es editor asociado en Tom's Hardware. Es un tecnólogo creativo y durante siete años ha creado proyectos para educar e inspirar mentes tanto jóvenes como mayores. Ha trabajado con la Fundación Raspberry Pi para escribir e impartir su programa de formación de profesores "Picademy".

Los mejores accesorios y complementos de Raspberry Pi Pico 2023

Las mejores placas RP2040 de 2023

Raspberry Pi mantiene la fotografía de recreación auténtica

Por Aaron Klotz 01 de junio de 2023

Por Les Pounder 01 de junio de 2023

Por Brandon Hill 01 de junio de 2023

Por Mark Tyson 01 de junio de 2023

Por Stewart Bendle 01 de junio de 2023

Por Anton Shilov 01 de junio de 2023

Por Matt Safford 01 de junio de 2023

Por Ash Hill 01 de junio de 2023

Por Mark Tyson 01 de junio de 2023

Por Zhiye Liu 01 de junio de 2023

Por Zhiye Liu 01 de junio de 2023

Vaya a la página oficial de CircuitPython para Raspberry Pi Pico y descargue la última versión de la imagen del firmware UF2. Mientras mantiene presionado el botón BOOTSEL, conecte el Raspberry Pi Pico a su computadora. Copie el archivo CircuitPython UF2 descargado a RPI-RP2. Descarga e instala Thonny. Abra Thonny y vaya a Herramientas >> Opciones. Seleccione Intérprete, luego configure el intérprete como CircuitPython, transfiéralo a automático y haga clic en Aceptar. Haga clic en Archivo >> Abrir y seleccione el dispositivo CircuitPython. Luego seleccione código.py. Elimina cualquier código en code.py. Importa cuatro módulos de código necesarios para que el proyecto funcione. Cree un objeto, led y configure el pin GPIO en GP15, y luego configúrelo para que sea una salida. Cree un objeto, led_state y almacene el valor entero 0 dentro de él. Crea un objeto, touch_pin Crea un bucle para ejecutar continuamente el código. Dentro del ciclo, cree una función de impresión que informará el estado actual del pin de entrada táctil. Escriba una prueba condicional para comprobar si se ha tocado la entrada y si el LED está apagado. Configure el LED para que se encienda, luego actualice el objeto led_state a 1, . Dormir durante medio segundo Cree una prueba condicional para comprobar si se ha tocado la entrada y si el LED está actualmente encendido. Apague el LED, actualice la pausa del objeto led_state durante medio segundo. Fuera de las pruebas condicionales, pero aún dentro del bucle, pausa el código durante 0,1 segundos. Guarde el código en code.py en el dispositivo CircuitPython, haga clic en Detener y luego en Ejecutar. Toca la banana para encender o apagar el LED.
COMPARTIR