Tabla de contenido:
- Paso 1: Obtener las piezas
- Paso 2: cableado
- Paso 3: Codifique previamente las cosas
- Paso 4: Código
- Paso 5: el caso
Video: Tanque de bromas: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
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
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
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:
Chasis de tanque de robot acrílico barato para Arduino SN7300 Sinoning: 6 pasos
Chasis de tanque de robot acrílico barato para Arduino SN7300 Sinoning: Chasis de tanque de acrílico barato para Arduino SN7000 Sinoning
Monitor de tanque de aceite WiFi: 6 pasos (con imágenes)
Monitor de tanque de aceite WiFi: hay varias formas de verificar la cantidad de combustible que queda en el tanque de aceite de calefacción. La forma más sencilla es utilizar una varilla, muy precisa pero no muy divertida en un día frío de invierno. Algunos tanques están equipados con una mirilla, lo que nuevamente da una indicación directa de
Carro tanque con mando a distancia: 3 pasos
Carro tanque con control remoto: esta es una guía sobre cómo hacer un carro tanque con control remoto. El conjunto que usaré para hacer el automóvil hoy es un simple kit de carro de tanque, con un sensor de luz para seguir un camino. Su automóvil no necesita el sensor de luz, pero sí un automóvil de impulsión del tanque
¡Tanque controlado por RC impreso en 3D!: 8 pasos (con imágenes)
¡Tanque controlado por RC impreso en 3D !: ¿Alguna vez has querido tener un vehículo controlado remotamente que pueda salir de la carretera e incluso puedas ver desde una cámara de vista en primera persona, entonces este tanque es increíble para ti? Las orugas en el tanque permiten un gran agarre al conducir en terrenos como tierra y
Bromas de PC: 3 pasos
Pc Pranks: Me encanta bromear con la gente estropeando su computadora. Echa un vistazo a esto. Este instructivo está lleno de programas por lotes que escribí y cómo molestar a la gente