Tabla de contenido:

Pruebe Arduino desnudo, con software de juego usando entrada capacitiva y LED: 4 pasos
Pruebe Arduino desnudo, con software de juego usando entrada capacitiva y LED: 4 pasos

Video: Pruebe Arduino desnudo, con software de juego usando entrada capacitiva y LED: 4 pasos

Video: Pruebe Arduino desnudo, con software de juego usando entrada capacitiva y LED: 4 pasos
Video: Libros Gratis Para Aprender Electrónica Desde Cero 2024, Mes de julio
Anonim
Pruebe Arduino desnudo, con software de juego usando entrada capacitiva y LED
Pruebe Arduino desnudo, con software de juego usando entrada capacitiva y LED
Pruebe Arduino desnudo, con software de juego usando entrada capacitiva y LED
Pruebe Arduino desnudo, con software de juego usando entrada capacitiva y LED

Juego interactivo "Push-It" que utiliza una placa Arduino desnuda, sin piezas externas ni cableado necesario (utiliza una entrada capacitiva "táctil"). Como se muestra arriba, lo demuestra ejecutándose en dos tableros diferentes.

Push-It tiene dos propósitos.

  1. Para demostrar / verificar rápidamente que su placa Arduino funciona y que está configurado correctamente para descargarle un nuevo boceto de código. Podrá ver que realiza entrada y salida (detecta el nivel de entrada digital, salida al LED integrado); almacenar y recuperar un valor de la memoria EEPROM no volátil. Todo sin conectar cables o dispositivos.
  2. Proporcione un juego entretenido y desafiante interactuando con una placa Arduino.

Este instructable asume que ya ha instalado un IDE de Arduino y está al menos mínimamente familiarizado con su uso. Si no, te remito a estos enlaces:

Empezando con Arduino

Adición de compatibilidad con Digispark (con cargador de arranque) al IDE Arduino 1.6.x existente

Push-It funcionará con la mayoría de las placas Arduino, p. Ej. una placa Nano, Uno o DigiSpark Attiny85. Lo he probado con una Nano 3.1 y una DigiSpark. En el texto, cuando me refiera a los nombres / números de los pines, serán como se usa en la placa Nano (a diferencia de DigiSpark).

Paso 1: tener las cosas que necesitará

Que es simplemente cualquier placa Arduino o comparable.

Si aún no tiene uno, le recomiendo comenzar con un DigiSpark Pro (~ $ 12), o un Nano 3.0 de eBay por ~ $ 3 (pero tendrá una semana o dos más para esperar a que venga de China; y deberá instalar un controlador USB CH340). El DigiSpark ~ $ 10 (no Pro) es muy adecuado para este 'videojuego' de un solo bit (esta unidad simplificada, que tiene solo 6 E / S, es un poco más complicada de cargar)

Enlaces al hardware utilizado aquí:

Nano V3.0 Atmega328P en eBay

Placa de desarrollo USB Digispark

Paso 2: obtenga y descargue el código

Obtener y descargar el código
Obtener y descargar el código

Copie el código a continuación en un archivo de boceto arduino (por ejemplo,… / Push_It / Push_It.ino). He intentado comentarlo bastante bien. Espero que encuentre el código fácilmente comprensible. La lógica para determinar cuándo aumentar, disminuir y cuándo no es algo complicada, pero esa parte también es un código especializado y no es de utilidad general. el IDE de Arduino ver:

Crear un nuevo boceto de Arduino

Descargue el boceto 'Push_It' en nuestro microcontrolador según las instrucciones del IDE de Arduino para su placa.

Paso 3: jugar

Jugando
Jugando

El objetivo del juego es hacer que el LED (a bordo) parpadee tantas veces como sea posible en un conjunto de destellos que luego se repite.

Jugando el juego:

Push-It comienza con un solo destello, que luego se repetirá. Si toca su dedo cerca del pin de entrada mientras el LED está encendido, el siguiente ciclo hará parpadear el LED dos veces.

Cada vez que presione el pseudo botón durante el primer destello de un conjunto de destellos, se agregará otro destello a ese conjunto. Por lo general, no importa cuándo levanta o quita el dedo.

Pero si 'presiona' antes o después del primer destello, se reducirá la cantidad de destellos en un conjunto.

Si no hace nada más, se mantiene el número de destellos en un conjunto. Además, cuando el conteo no cambia durante un ciclo completo, el número de conteo se almacena en la memoria EEPROM.

Cada vez que consigues aumentar el conteo de destellos, la sincronización se acelera un poco, lo que hace que sea cada vez más difícil llegar a conteos de destellos altos. Cuando cometa un desliz y el número de destellos se reduce, habrá una pausa más larga antes del destello de inicio del siguiente ciclo. Esto proporciona un desafío adicional, ya que puede aumentar la probabilidad de que saltes el arma. Así que mantente alerta.

Una vez que haya logrado que su unidad tenga un conteo de flash alto, puede llevarla (o enviarla por correo, para lo cual el DigiSpark es bueno) a un amigo, donde al enchufarlo verán qué tan alto es el conteo de flash que ha aumentado el suyo. para. He encontrado que dejar de ser un desafío subirlo a más de 8. Con un botón real adjunto, me las arreglé para subirlo a más de una docena. Para volver a un conteo más bajo, puede presionarlo repetidamente en cualquier momento antes o después del primer destello. Además, si conecta el pin de entrada a tierra durante un encendido, la cuenta se restablecerá a 1.

Tenga en cuenta que la placa DigiSpark original tiene un retraso de 10 segundos después del encendido antes de que comience a ejecutar el código 'Push-It' y jugar el juego. Utiliza este tiempo para intentar hablar a través de los pines USB con el fin de recibir una posible nueva actualización del código de descarga.

Si la placa Arduino que está utilizando tiene un LED TX USB, este LED tendrá un pequeño destello rápido cuando haya 'presionado el botón' de manera efectiva. Habrá un parpadeo más significativo de este LED cada vez que el valor de conteo en la EEPROM se actualice con un nuevo valor. Esta retroalimentación puede ser de gran ayuda para saber cuándo o para asegurarse de que ha activado efectivamente un evento de "botón pulsado". Es posible que deba asegurarse de no tocar la tierra del circuito (como el metal alrededor de un conector micro-USB) para que su figura induzca ruido en el pin de entrada abierto. Habrá desafíos agregados y algo impredecibles debido al hecho de que el pin de entrada está flotando (no está tirado hacia arriba o hacia abajo por una carga conductora / resistiva) y el ruido de señal variable que sale de su dedo.

Se emite una onda cuadrada de 250Hz a un pin al lado del pin de entrada, lo que mejora en gran medida la certeza de una señal de entrada inyectada cuando su dedo cubre ambos pines.

He descubierto que la respuesta de la placa DigiSpark es bastante predecible con un pequeño apretón de dedos en la esquina de la placa donde están D3-D5.

Cuando juego 'Push-It' me gusta hacerlo con la placa conectada a una batería móvil USB de 5v (ver fotos). Por lo general, estos se pueden encontrar de forma económica en contenedores junto a los de los adaptadores automáticos USB AC y 12v; en la mayoría de los grandes almacenes, departamento de electrónica.

Paso 4: Experimentos opcionales con componentes externos

Experimentos opcionales con componentes externos
Experimentos opcionales con componentes externos

Tenga en cuenta: si adjunta un botón real, hay una línea de código que debe comentarse, como se indica en el código.

Con un altavoz, de un lado a tierra, si toca el otro cable a D4, escuchará el sonido de una onda cuadrada de 250 Hz. En D3 hay una onda cuadrada de 500 Hz. Si conecta el altavoz entre D3 y D4, escuchará una combinación de las dos señales.

Conectar un LED en lugar de un altavoz como el anterior es muy interesante. Para el caso, no hay necesidad de preocuparse por el voltaje, los niveles de corriente, las resistencias o incluso la polaridad (en el peor de los casos, no se enciende, simplemente gírelo). Pruebe, en primer lugar, con el cable negativo (cátodo) conectado a tierra y el otro a D3 o D4. El LED estará 'medio' encendido, debido a las ondas cuadradas. Además, no se requiere resistencia ya que la salida de las MicroControllerUnits tiene limitación de corriente. Hice mediciones de corriente que dieron como resultado 15ma y 20ma para las MCU Attiny85 y Atmega328 respectivamente. Estos niveles son aproximadamente la mitad del valor limitado actual para estas piezas debido a la naturaleza del ciclo de trabajo del 50% de las señales de onda cuadrada impulsoras. Las lecturas del medidor son en realidad un promedio de la corriente a través del circuito probado.

Curiosamente, si hace un puente entre D3 y D4 con el LED (vea la imagen de arriba ya la izquierda) se iluminará de cualquier manera, y aproximadamente a la mitad del brillo como lo hizo con un lado conectado a tierra. Los invito a reflexionar por qué.

Recomendado: