Tabla de contenido:

Tanque de bromas: 5 pasos
Tanque de bromas: 5 pasos

Video: Tanque de bromas: 5 pasos

Video: Tanque de bromas: 5 pasos
Video: BROMA DEL PEO A PR0STlTUTAS (LA BROMA MAS VIRAL) 2024, Mes de julio
Anonim
Tanque de broma
Tanque de broma

Este es un proyecto que hice en mi escuela HKU, que requería que hiciéramos algo con un Arduino Uno. Quería hacer algo que hiciera mi cosa favorita, hacer reír a la gente. Así que decidí hacer una caja de bromas que te lanzaría una broma, pero la broma que te diera dependería de lo que estuvieran midiendo un par de módulos de sensores en ese momento determinado. Para hacerlo más personal, decidí convertirlo en un tanque.

Paso 1: Obtener las piezas

Las partes que necesitarías para recrear este proyecto serían

  • 1x computadora capaz de ejecutar Arduino IDE
  • 1x Arduino Uno
  • 1x cable conector usb para Arduino Uno
  • 1x sensor de sonda
  • 1x altavoz (preferiblemente uno de calidad decente (utilicé uno que saqué de un altavoz bluetooth)).
  • 1x módulo amplificador LM386 (es posible hacerlo usted mismo, pero usé un módulo).
  • 1x micrófono LM393
  • 1x LDR
  • 1x LED (cualquier color servirá, pero yo usé azul).
  • Resistencia 4x 1kΩ
  • 1x 2, resistencia de 7 kΩ
  • 1x tablero
  • 1x tarjeta micro SD (preferiblemente pequeña (1 o 2 gb)).
  • 1x taladro eléctrico.
  • 1 x cabezal de perforación de 16 mm (preferiblemente hecho para perforar metal).
  • 1 x cabezal de perforación de 9 mm (también preferiblemente para taladrar metal).
  • Cabeza de taladro de 1x 1 mm (de nuevo, preferiblemente hecha para perforar metal).
  • 1x Modelo de tanque (utilicé un leopardo 2 a escala 1:35, pero otros casos también deberían estar bien).
  • Superpegamento / pegamento caliente
  • y bastantes alambres preferiblemente de diferentes colores.
  • bridas para cables (opcional).

Paso 2: cableado

Alambrado
Alambrado

Necesitamos comenzar con el cableado, la imagen es un dibujo técnico de cómo se debe conectar todo. Esto debería servir como su plano. Nota: Todos los puertos Arduino se denominan AP # para cada puerto. Así que el cuarto puerto en el Arduino es AP4, el puerto A0 es APA0 y el puerto 6 ~ es AP6 ~, etc. Todos los demás puertos se nombran como aparecen en los módulos.

Paso 3: Codifique previamente las cosas

Ahora, antes de que podamos comenzar a usar el código, necesitamos algunas cosas. Te recomiendo que sigas este tutorial del paso 2 al 4.

www.electronoobs.com/eng_arduino_tut8.php

Sin embargo, no vamos a utilizar su código, ya que vamos a utilizar el nuestro. Tenga en cuenta que algunos altavoces utilizan diferentes frecuencias. Mi altavoz utilizó archivos de audio de 16 bits y 32 kHz. Entonces, si su discurso hace algún tipo de ruido pero no reproduce sus archivos, intente reproducir con su frecuencia.

Paso 4: Código

Ahora vamos a subir el código al arduino. Copia todo esto y pégalo en el IDE de Arduino y cárgalo en tu Arduino.

// incluye la biblioteca para el lector de tarjetas SD. # include "Wtv020sd16p.h" // incluye la biblioteca necesaria para el sensor de sonda. #include // Establece los pines para Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Establece los pines para la biblioteca de tarjetas SD. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Establece los pines para la biblioteca de sensores de Sonar. Sonar NewPing (11, 10); // Configura las otras entradas y establece la tasa de bits del programa. configuración vacía () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Parte principal del programa. void loop () {// Establece los números enteros int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Retrasar para que el proyecto el proyecto no siga usando infinitamente el altavoz. retraso (30000); // Imprime en serie e imprime líneas para que puedas ver fácilmente qué valores toman los módulos de sensor. Serial.print ("Valor de sonido:"); // Múltiples declaraciones if para que el programa reproduzca diferentes archivos de audio en función de los valores que miden los módulos sensores. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Distancia:"); if (distanciaVal == 0) {Serial.println (distanciaVal); Serial.print ("Valor de luz:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Otra impresión en serie para que pueda ver qué archivo de audio exacto se reprodujo. Serial.println ("1 --------"); // Otro retraso para dejar que el archivo de audio se reproduzca en su totalidad. retraso (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); retraso (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); retraso (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); retraso (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); retraso (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanciaVal); Serial.print ("Valor de luz:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); retraso (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); retraso (8000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); retraso (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); retraso (8000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); retraso (6000); } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); retraso (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); retraso (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); retraso (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); retraso (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); retraso (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanciaVal == NULL || distanciaVal> = 150) {Serial.println (distanciaVal); Serial.print ("Valor de luz:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); retraso (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); retraso (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); retraso (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); retraso (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); retraso (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); retraso (5000); }}}}

Paso 5: el caso

El caso
El caso
El caso
El caso

Ahora viene la parte realmente complicada.

Encajarlo todo en el estuche puede ser un poco complicado, esto depende de cómo colocó todo en su placa de pruebas o de cómo solda las cosas. Pero necesitará hacer un par de agujeros para que los sensores se adhieran bien. Puse el micrófono (se necesita un taladro de 9 mm) y el módulo de sonda (se necesita un taladro de 6 mm) en la parte trasera y el LDR en la parte delantera del tanque, pero puede colocarlos de manera efectiva en cualquier lugar si tiene el espacio.

Asegúrate de hacer un agujero en el cuerpo del modelo para poder conectar tu arduino con el cable conector.

Recomendaría poner el altavoz en la torreta. ya que debería quedar mucho espacio allí.

La imagen de la izquierda de arriba muestra cómo instalé el arduino y la impresión que soldé dentro del modelo Leopard 2. La imagen de la derecha es una con la mayor parte del cableado instalado.

Lo que puede hacer es perforar pequeños agujeros en la parte inferior del modelo para asegurar el Arduino con bridas.

Pero si no me equivoco, debería haber terminado.

Recomendado: