Haz un juego de Buzz Wire con un Arduino

  • Edmund Richardson
  • 0
  • 1086
  • 172
Anuncio

En este divertido proyecto, aprenderemos cómo hacer un juego de buzz wire con el Arduino. Muchas de las piezas necesarias se pueden encontrar en un kit de inicio (¿qué hay en un kit de inicio? ¿Qué se incluye en un kit de inicio de Arduino? [Explica MakeUseOf] ¿Qué se incluye en un kit de inicio de Arduino? fuente de hardware aquí en MakeUseOf, pero vas a necesitar algo más que el Arduino real para construir algo a partir de él y realmente comenzar. Los "kits de inicio" de Arduino son ...?) y alrededor de la casa. Este proyecto usa un Arduino, aunque podría usar casi cualquier microcontrolador que tenga (eche un vistazo a esta comparación entre $ 5 microcontroladores $ 5 Microcontroladores: Arduino, Raspberry Pi Zero, Or NodeMCU? $ 5 Microcontroladores: Arduino, Raspberry Pi Zero, o NodeMCU? Solía ​​ser el caso de que si quisieras obtener una computadora, tendrías que volver a encender tu casa para pagarla. Ahora, puedes obtener una para un Abraham Lincoln..

Mira el resultado final: incluso reproduce música:

Que necesitas

Estas son las partes principales que necesitará para completar este proyecto:

  • 1 x Arduino UNO o similar.
  • 1 x percha de metal.
  • 2 x resistencias de 220 ohmios.
  • 1 x placa de prueba.
  • 1 x zumbador piezoeléctrico.
  • 2 x pinzas de cocodrilo.
  • Tubos termocontraíbles surtidos.
  • Cables de conexión de macho a macho.

Aquí hay algunas partes opcionales para mejorar la construcción:

  • 1 x zumbador piezo adicional.
  • 1 x varilla.
  • 1 x pantalla cuádruple de siete segmentos.
  • 1 x resistencia de 220 ohmios.
  • 1 x botón momentáneo.
  • Cables de conexión macho a hembra.
  • Tablón de madera (para estuche).
  • Tornillos de madera surtidos.

Casi cualquier Arduino funcionará, siempre que tenga suficientes pines. Eche un vistazo a esta guía de compra Guía de compra de Arduino: ¿Qué placa debería obtener? Guía de compra de Arduino: ¿Qué placa debería obtener? Hay tantos tipos diferentes de placas Arduino por ahí, que te perdonarían por estar confundido. ¿Cuál deberías comprar para tu proyecto? ¡Permítanos ayudarlo con esta guía de compra de Arduino! si no estás seguro de lo que necesitas.

El plan de construcción

Si bien esto puede parecer complejo, en realidad es un proyecto bastante simple. Comenzaré con el juego básico y luego agregaré componentes adicionales para aumentar la complejidad. Usted puede “escoge y elige” como desee dependiendo de los componentes que tenga disponibles.

El núcleo mecánico consiste en una forma de alambre y un lazo en un mango. El jugador tiene que guiar el circuito alrededor del recorrido sin que los dos se toquen. Si los dos se tocan, el circuito se completa y suena el timbre. Por supuesto, es posible construir este circuito sin un microcontrolador, pero ¿dónde está la diversión en eso (y de qué otra forma escucharías a Monty Python? “Flying Circus” tema musical)?

El curso

Esta es la forma que tendrá el jugador para guiar su ciclo. Es la base de todo el juego, ¡así que hazlo bien! Elegí tener una pequeña caída, seguida de una gran subida. Dobla una percha metálica en la forma que necesites. El alambre de latón o el tubo de cobre también funcionarán igualmente, aunque una percha puede ser la más barata.

Es posible que deba usar guantes y usar alicates o un martillo para que las cosas sean perfectas. Cortar cualquier exceso con cortadores de pernos. Deje dos montantes verticales para empujar a través de la base. Usted quiere archivar los extremos cortados por seguridad. Finalmente, corte dos piezas de tubo termorretráctil y colóquelas sobre los extremos de la siguiente manera:

Esto aislará el circuito del curso, proporcionando una zona de inicio / fin o seguridad. Alternativamente, una cinta o incluso una pajita funcionarán si no tiene ningún tubo termocontraíble.

Ahora conecte un cable a un final del curso Aquí tiene dos opciones: puede soldar o usar una pinza de cocodrilo. Una pinza de cocodrilo es la opción más fácil, pero la soldadura es una opción más confiable y a largo plazo. Asegurate que “despeinar” la superficie del perchero primero con papel de lija, y use mucho fundente. (¿Nunca ha soldado antes? Aprenda cómo hacerlo aquí Aprenda a soldar, con estos simples consejos y proyectos Aprenda cómo soldar, con estos simples consejos y proyectos ¿Está un poco intimidado por la idea de un hierro caliente y metal fundido? Si quiere para comenzar a trabajar con la electrónica, necesitará aprender a soldar. Permítanos ayudarlo.)

Dependiendo del tamaño del orificio que taladre en la base en el siguiente paso, es posible que primero deba pasar el cable a través del orificio de montaje. El uso de dos cables trenzados juntos aumentará la durabilidad:


Usar un ejercicio para hacer esto ayuda mucho:

La base

Es hora de crear la base. Esto sirve para mantener el rumbo en una posición vertical, así como proporcionar un lugar para anclar la electrónica. Usé algunos recortes de pino, aunque podrías usar lo que tengas en la casa, incluso una caja de cartón.

Corta tres piezas para formar un “norte” forma. Simplemente atornille (o pegue) estas tres piezas juntas. Recuerde perforar un agujero piloto en las piezas laterales primero para evitar que se rompan. Es posible que desee avellanar los tornillos (especialmente si va a llenar y luego pintar), y le recomiendo una broca de avellanado. Si no tiene una herramienta de avellanado o un taladro, una broca de mayor diámetro hará el truco.

Taladre dos agujeros lo suficientemente separados para que los extremos del recorrido se asienten. Avellane la parte inferior lista para pegar.

El mango


Ahora es el momento de hacer el bucle / controlador. Gire un pequeño trozo del perchero en un extremo para crear un lazo con un pequeño asa de metal. Asegúrese de archivar el borde cortado y luego cúbralo con cinta / espuma si es necesario.


Esto formará la otra mitad del circuito; cuando este bucle toque el curso, completará el circuito (exactamente como un interruptor). Suelde (o use una pinza de cocodrilo) otro cable en la parte inferior de este, exactamente lo mismo que hizo anteriormente para el curso.

Corte un pequeño trozo de espiga para el mango real. Este lazo de metal se insertará en este mango. Si no tiene ningún pasador, puede redondear un trozo de madera blanda cuadrada con una lijadora de banda o disco (también puede usar papel de lija, pero tomaría mucho tiempo).

Taladre un agujero a través de este mango. Esto debe ser lo suficientemente grande como para caber en el lazo de metal y el cable a través de:


Esto es posible en un taladro de pilar, aunque es complicado. Un torno hará el trabajo perfectamente:

Sí, estoy bastante consciente de que se trata de un torno de metal (para cualquier persona interesada, es un torno de relojería Boley de la década de 1930. Creo que es un 3C, pero me encantaría saber de usted si sabe más sobre él).

También puede usar un bolígrafo con el centro retirado.

Finalmente, use pegamento caliente para asegurar el cable y el lazo en el mango. El pegamento caliente proporcionará un accesorio fuerte (pero no permanente), por lo que es perfecto para esto.

Terminando

Inserte el curso de alambre en los agujeros en la base. No olvide agregar primero el bucle / controlador. Use pegamento caliente nuevamente para asegurar el curso a la base llenando los agujeros avellanados en la parte inferior de la base de la siguiente manera:

El circuito

Aquí está el circuito completo. No tiene que hacer que el suyo sea tan complejo como este: siga leyendo mientras desglosamos cada parte.


Primero, conecte los dos elementos piezoeléctricos a los pines digitales 10 y 11. La polaridad no importa:


No tiene que usar dos piezos, la única razón por la que lo hice es tener un zumbido mucho más fuerte cuando los cables se tocan. Conecte un lado al pin digital y el otro a tierra.

Ahora conecte el curso de metal y maneje:


Nuevamente, no importa en qué dirección estos dos estén conectados. Esta parte del circuito es exactamente como un botón o interruptor: el jugador completa el circuito cuando el bucle toca el curso. Asegúrate de incluir ambas resistencias.

Una resistencia une el circuito a tierra (llamada resistencia desplegable), asegurando que no “flotante” (esto permite que Arduino detecte el cambio de circuito). La otra resistencia protege al Arduino. Cuando las dos partes se tocan, + 5V entra en el pin digital. Si esta resistencia no estuviera presente, habría un cortocircuito: su computadora desconectaría la toma USB para extraer demasiada corriente si tienes suerte.

Conecte el cable de señal (púrpura, en el diagrama) al pin digital 9.

A continuación, conecte un botón al pin digital 2:

Finalmente, conecte la pantalla LED de siete segmentos:


Este modelo particular es de Seeed. Esto utiliza un TM1637 para controlar cuatro pantallas; esto significa que solo se necesitan dos pines digitales. Conectar GND a tierra Arduino y VCC a Arduino + 5V. Conectar D10 al pin digital Arduino 13 y CLK al pin digital 12.

El código

Para que este proyecto funcione, necesitará dos archivos adicionales. El primero se llama lanzamientos.h. Este archivo simplemente asigna nombres de notas a su valor piezoeléctrico. Esto hace que sea mucho más fácil escribir una melodía, ya que simplemente puedes decir “NOTA_C3” más bien que “31”, por ejemplo. Esto es de dominio público y está disponible en el sitio web de Arduino aquí. Siga las instrucciones para crear un nuevo archivo llamado lanzamientos.h (alternativamente, pegue el código en su script existente).

A continuación, necesita un método para reproducir notas / melodías en el piezo. Esta esencia de Anthony DiGirolamo en Github contiene el código que necesita. Copia todo entre “zumbido vacío” y “” y pégalo en tu archivo principal. Como referencia, aquí está:

zumbido vacío (int targetPin, frecuencia larga, longitud larga) / * Función de ejemplo de zumbador de Rob Faludi http://www.faludi.com https://gist.github.com/AnthonyDiGirolamo/1405180 * / long delayValue = 1000000 / frecuencia / 2; // calcular el valor de retraso entre transiciones //// 1 segundo de microsegundos, dividido por la frecuencia, luego dividido por la mitad ya que //// hay dos fases en cada ciclo long numCycles = frecuencia * longitud / 1000; // calcule el número de ciclos para el momento adecuado //// multiplique la frecuencia, que es realmente ciclos por segundo, por el número de segundos para //// obtener el número total de ciclos para producir (largo i = 0; i < numCycles; i++) // for the calculated length of time… digitalWrite(targetPin,HIGH); // write the buzzer pin high to push out the diaphragm delayMicroseconds(delayValue); // wait for the calculated delay value digitalWrite(targetPin,LOW); // write the buzzer pin low to pull back the diaphragm delayMicroseconds(delayValue); // wait again for the calculated delay value  

La última biblioteca que necesita es controlar la visualización de siete segmentos: puede omitir este paso si no está utilizando uno. Esta biblioteca se llama TM1637 y fue creado por Seeed, la misma compañía que creó la placa del conductor.

En el IDE de Arduino, vaya a “Administrar bibliotecas” (Bosquejo > Incluir biblioteca > Administrar bibliotecas) Esto abrirá el administrador de la biblioteca. Espere unos segundos para actualizar y luego busque en el cuadro de búsqueda superior derecho “TM1637”. Se encontrarán dos bibliotecas: usted quiere “TM1637” y no “TM1637Display”. Seleccione y luego haga clic “instalar”.

Una última tarea con esta biblioteca: ¡no está completa! Tal como está, la biblioteca solo puede mostrar los números 0-9 y las letras A-F. Si esto cubre todo lo que le gustaría mostrar, puede omitir este paso. De lo contrario, deberá modificar el código. ¡Relajarse! Esto no es tan difícil como parece, y si puede escribir código usando el IDE de Arduino, puede hacerlo.

Primero, abra la carpeta de su biblioteca. Esto estará en su carpeta Arduino. En Mac OS X, esto está en / Usuarios / Joe / Documentos / Arduino / Bibliotecas. Abra la carpeta llamada TM1637. Deberá editar el archivo llamado TM1637.cpp - puede ignorar con seguridad el otro archivo con la extensión .h. Abra este archivo en su editor de texto favorito (para mí, eso es Sublime Text 3), el Bloc de notas o el IDE de Arduino.

Modifique la tercera línea de código de esto:

static int8_t TubeTab [] = 0x3f, 0x06,0x5b, 0x4f, 0x66,0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77,0x7c, 0x39,0x5e, 0x79,0x71; // 0 ~ 9, A, b, C, d, E, F

A esto:

static int8_t TubeTab [] = / * valores predeterminados * / 0x3f, // 0 0x06, // 1 0x5b, // 2 0x4f, // 3 0x66, // 4 0x6d, // 5 0x7d, // 6 0x07, / / 7 0x7f, // 8 0x6f, // 9 0x77, // A - 10 0x7c, // b - 11 0x39, // C - 12 0x5e, // d - 13 0x79, // E - - 14 0x71, // F - 15 / * adicional * / 0x174, // h - 16 0x176, // H - 17 0x138, // L - 18 0x15, // M - 19 0x137, / / n - 20 0x73, // P - 21 0x67, // q - 22 0x131, // r - 23 0x78, // t - 24 0x240 // - 25;

Ahora puede guardar y cerrar este archivo. Después de cada elemento, el comentario describe de qué personaje se trata. La siguiente parte del comentario es el índice del elemento..

Es hora del código real. Primero, incluya las dos bibliotecas mencionadas anteriormente:

#include #include 

Ahora cree el objeto de visualización:

TM1637 * _display = new TM1637 (12, 13);

No se preocupe si no entiende la sintaxis: esta línea le dice al Arduino que los pines 12 y 13 están conectados a una pantalla de siete segmentos, y que debe configurarla adecuadamente.

La canción se almacena en melodía y tempo. Contienen todas las notas y la duración de la nota para la música. Si desea cambiar la música, modifique estas matrices (aunque no es tan simple como pegar los valores de las notas, el tiempo es una parte muy importante de la música). los songState La variable simplemente almacena la posición de la última nota tocada. Esto asegura que la melodía se reproduce de principio a fin, en lugar de saltar inconsistentemente:

int songState = 0; int melody [] = NOTE_F4, ... int tempo [] = 8, ...

Tenga en cuenta que he eliminado el contenido de las matrices, consulte a continuación el código completo.

Este código no bloquea, esto significa que Arduino puede realizar múltiples tareas simultáneamente. Eche un vistazo a esta explicación Arduino Delay Function, y por qué no debe usarla Arduino Delay Function, y por qué no debe usarla Mientras delay () es útil para demostraciones básicas de cómo funciona Arduino, realmente no debería ser usándolo en el mundo real. He aquí por qué y qué debería usar en su lugar. para más información. Así es como se configuran los temporizadores:

unsigned long previousMillis1 = 0; const intervalo largo1 = 1500;

La variable anteriorMillis1 se actualizará en una etapa posterior para almacenar la hora actual. los intervalo1 La variable almacena el tiempo de espera entre la ejecución del código, en este caso, 1,5 segundos. Se define como const, lo que significa que es constante y nunca cambiará; esto permite que Arduino optimice aún más el código.

Dentro de preparar() función hay algunas cosas que suceden. Primero, se configuran las entradas y salidas. Esto tiene que hacerse, para que el Arduino sepa lo que está conectado a cada uno de sus pines:

pinMode (9, ENTRADA); // circuito de configuración pinMode (10, OUTPUT); // zumbador de configuración 1 pinMode (11, OUTPUT); // zumbador de configuración 2 pinMode (2, INPUT); // botón de configuración

Ahora la pantalla necesita configuración:

_display-> set (5); // establece el brillo _display-> point (false); // eliminar dos puntos _display-> init (); // inicio de visualización

Los métodos conjunto, punto, y en eso están todos contenidos dentro del _monitor objeto. En lugar de un punto, un puntero (“->”) se utiliza para acceder a estos. Nuevamente, no se preocupe por la sintaxis (aunque, si desea obtener más información, busque los punteros C ++).

El bucle principal tiene dos modos de juego: desafío y juego libre. El juego libre le permite al jugador jugar una cantidad ilimitada de veces. El modo desafío establece un temporizador de 20 segundos usando el showCountdown método. Utiliza el botón para iniciar y detener el temporizador. Actualmente, la única forma de cambiar los modos de juego es editar manualmente la variable llamada modo. Vea si puede agregar otro botón para hacer esto y modificar el código adecuadamente.

los zumbido El método reproduce las notas que se le dan. Esto se usa junto con canta. El método sing pasa por cada nota y la toca. Este método se llama regularmente, aunque solo tocará la siguiente nota cuando haya transcurrido suficiente tiempo desde la última vez que se tocó. Una vez que la canción ha llegado al final, restablece la canción al versículo 1 (songState = 14) Puede establecer esto en cero para comenzar la canción desde el principio, sin embargo, la razón para hacerlo es omitir la introducción. La introducción se reproduce una vez después de que Arduino se ha encendido, y luego no se reproduce nuevamente.

los showFree y showPlay los métodos simplemente escriben las palabras “Gratis” y “JUGAR” a la pantalla. Note como el “r” en libre es minúscula, cuando todos los demás caracteres son mayúsculas. Esta es una de las limitaciones de las pantallas de siete segmentos. No pueden mostrar todas las letras del alfabeto, y algunos de los caracteres que pueden mostrar deben estar en mayúsculas y minúsculas.

los toggleFreePlay método parpadea la pantalla entre “GRATIS” y “JUGAR”. De nuevo, hace esto de una manera no bloqueante.

Otro método útil es mostrar numero. Esto escribe un número en el medio dos caracteres de la pantalla de esta manera:

La pantalla no es lo suficientemente inteligente como para saber cómo mostrar grandes números, se le debe decir explícitamente qué hacer. Este método usa una lógica simple para mostrar el número apropiado en cada carácter.

El método final utilizado se llama showCountdown. Esto inicia un contador a 20 y lo disminuye en uno cada segundo. Si llega a cero, suena tres veces, para indicar que el tiempo se ha agotado..

Aquí está todo ese código reunido:

#include // include display library #include // include pitches TM1637 * _display = new TM1637 (12, 13); // crear objeto de visualización, 12 = CLK (reloj), 13 = D10 (datos) // music int songState = 0; int melody [] = NOTE_F4, NOTE_E4, NOTE_D4, NOTE_CS4, NOTE_C4, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_A3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_C4, 0, NOTE_C4, NOTE_A3, NOTE_A3, NOTE_3, NOTE_3, NOTE_3, NOTE_3 NOTE_C4, NOTE_C4, NOTE_A3, NOTE_AS3, NOTE_AS3, NOTE_AS3, NOTE_C4, NOTE_D4, 0, NOTE_AS3, NOTE_G3, NOTE_G3, NOTE_G3, NOTE_FS3, NOTE_G3, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_AS3, NOTE_AS3, NOTE_, 3 NOTE_C4, NOTE_A3, NOTE_A3, NOTE_A3, NOTE_GS3, NOTE_A3, NOTE_A4, NOTE_F4, NOTE_F4, NOTE_C4, NOTE_B3, NOTE_G4, NOTE_G4, NOTE_G4, NOTE_G4, 0, NOTE_G4, NOTE_E4, NOTE_G4, NOTE_G4, NOTE_G4, NOTE_G4, NOTE_G4, NOTA_G4 NOTE_FS4, NOTE_G4, NOTE_C4, NOTE_B3, NOTE_C4, NOTE_B3, NOTE_C4, 0; int tempo [] = 8, 16, 8, 16, 8, 16, 8, 16, 16, 16, 16, 8, 16, 8, 3, 12, 16, 16, 16, 8, 16, 8, 16, 8, 16, 8, 16, 8, 16, 4, 12, 12, 16, 16, 16, 8, 16, 8, 16, 8, 16, 8, 16, 8, 16, 4, 12, 12, 16, 16, 16, 8, 16, 8, 16, 8, 16, 8, 16, 8, 16, 4, 16, 12, 17, 17, 17, 8, 12, 17, 17, 17, 8, 16, 8, 16, 8, 16, 8, 1; // configuración sin bloqueo // juego libre sin firmar largo anteriorMillis1 = 0; // última vez que las palabras cambiaron const long intervalo1 = 1500; // intervalo entre cambios // música sin signo largo anteriorMillis2 = 0; // última hora cambiada const long intervalo2 = 100; // intervalo entre notas int displayStatus = 0; // realiza un seguimiento de lo que se muestra int mode = 0; // realiza un seguimiento del modo de juego: cambia a 0 o 1 para diferentes modos bool countdown = false; unsigned long previousMillis3 = 0; // la última vez que se modificó const long intervalo3 = 1000; // intervalo entre cuenta atrás int count = 20; // configuración de vacío del temporizador del modo desafío () // ponga su código de configuración aquí, para ejecutar una vez: pinMode (9, INPUT); // circuito de configuración pinMode (10, OUTPUT); // zumbador de configuración 1 pinMode (11, OUTPUT); // zumbador de configuración 2 pinMode (2, INPUT); // botón de configuración _display-> set (5); // establece el brillo _display-> point (false); // eliminar dos puntos _display-> init (); // start display void loop () // pon aquí tu código principal, para ejecutarlo repetidamente: if (mode == 0) // modo de desafío if (digitalRead (2) == HIGH) delay (25); if (digitalRead (2) == HIGH) cuenta atrás = verdadero; // detener la cuenta regresiva else cuenta regresiva = falso; // detener la cuenta regresiva if (cuenta regresiva) showCountdown (); // cuenta atrás avanzada else // juego libre toggleFreePlay ();  if (digitalRead (10) == HIGH) delay (25); if (digitalRead (10) == HIGH) while (digitalRead (10) == HIGH) buzz (11, NOTE_B0, 1000/24);  más sing ();  void showCountdown () // cuenta regresiva el tiempo restante sin firmar largo currentMillis = millis (); // hora actual if (currentMillis - previousMillis3> = intervalo3) previousMillis3 = currentMillis; --contar; showNumber (cuenta); if (cuenta == 0) // juego sobre cuenta regresiva = falso; cuenta = 20; // restablecer cuenta regresiva // zumbido 3 veces zumbido (11, NOTE_B0, 1000/24); retraso (100); zumbido (11, NOTE_B0, 1000/24); retraso (100); zumbido (11, NOTE_B0, 1000/24);  void showNumber (int número) // muestra números (máximo 99) en la pantalla _display-> display (0, 25); // escribe - al segmento 1 _display-> display (3, 25); // escribe - al segmento 4 // escribe el número en el medio de la pantalla si (número == 10) _display-> display (1,1); _display-> display (2,0);  else if (número> 9) _display-> display (1,1); int newVal = número - 10; _display-> display (2, newVal);  else _display-> display (1,0); _display-> display (2, número);  void toggleFreePlay () // desplazarse entre palabras sin bloquear longMillis = millis () sin signo largo; // hora actual if (currentMillis - previousMillis1> = intervalo1) previousMillis1 = currentMillis; if (displayStatus == 1) showPlay (); más showFree ();  void showPlay () // escribe "PLAY" en la pantalla _display-> display (0, 21); // escribe P en el segmento 1 _display-> display (1, 18); // escribe L en el segmento 2 _display-> display (2, 10); // escribe A en el segmento 3 _display-> display (3, 4); // escribe Y en el segmento 4 displayStatus = 2;  void showFree () // escribe "Free" en la pantalla _display-> display (0, 15); // escribe F en el segmento 1 _display-> display (1, 23); // escribe r en el segmento 2 _display-> display (2, 14); // escribe E en el segmento 3 _display-> display (3, 14); // escribe E en el segmento 4 displayStatus = 1;  void buzz (int targetPin, frecuencia larga, longitud larga) / * Función de ejemplo de timbre de Rob Faludi http://www.faludi.com https://gist.github.com/AnthonyDiGirolamo/1405180 * / long delayValue = 1000000 / frecuencia / 2; // calcular el valor de retraso entre transiciones //// 1 segundo de microsegundos, dividido por la frecuencia, luego dividido por la mitad ya que //// hay dos fases en cada ciclo long numCycles = frecuencia * longitud / 1000; // calcule el número de ciclos para el momento adecuado //// multiplique la frecuencia, que es realmente ciclos por segundo, por el número de segundos para //// obtener el número total de ciclos para producir (largo i = 0; i = intervalo2) previousMillis2 = currentMillis; int noteDuration = 1000 / tempo [songState]; zumbido (10, melodía [songState], noteDuration); int pauseBetweenNotes = noteDuration; retraso (pausa entre notas); // detiene la reproducción del tono: buzz (10, 0, noteDuration); ++ songState; // comienza la canción nuevamente si ha terminado if (songState> 79) songState = 14; // presiona Intro   

Guarda este archivo como “buzzwire” (Archivo> Guardar como) y luego subirlo a su tablero (Archivo> Cargar) Si no está seguro de cómo cargar el Arduino, o si el código se ve un poco aterrador, eche un vistazo a nuestra Guía para principiantes de Arduino Introducción a Arduino: una guía para principiantes Introducción a Arduino: una guía para principiantes Arduino es de código abierto plataforma de prototipos electrónicos basada en hardware y software flexible y fácil de usar. Está destinado a artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos. . Todo bien, ahora deberías tener tu propio juego de buzz wire - genial!

Si hiciste algo genial después de leer esto, me encantaría verlo, házmelo saber en los comentarios a continuación.!




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.