Cargo actual:Index > Pew Pew! Cómo construir una torreta láser con un Arduino

Pew Pew! Cómo construir una torreta láser con un Arduino

Actualizado:07-09Fuente: consolidación de la red
Advertisement

Pew Pew!  Cómo construir una torreta láser con un Arduino


Estás aburrido? Bien podría construir una torreta láser. Usted sabe - que va del banco del banco, dispara un haz de color rojo en un montón de diferentes direcciones, y tal vez incluso tirar en una máquina de humo? Sí, uno de ellos.

Lo que necesita

Arduino

2 servos

Módulo de láser, como el de este kit de sensor (disclaimer: ese es mi tienda Usted también puede aprender a construir su tienda virtual con nuestra última guía gratuita.)

Zumbador piezoeléctrico u otro dispositivo de salida pequeña

Alambres y cables de metal lazos para la fijación

Hembra- Larga> cables de salto masculino, además de cables regulares de salto

Opcionalmente, se necesita una máquina de humo - el láser es bastante baja potencia, por lo que no será capaz de ver la viga sin humo incluso en una habitación oscura.

Pew Pew!  Cómo construir una torreta láser con un Arduino


Construir el Plan

La idea básica de la torreta es poner el módulo de láser en la parte superior de un servo para proporcionar rotación horizontal; a continuación, montar ese paquete a otro servo colocado en un ángulo de 90 grados para proporcionar el movimiento vertical. Tenemos un piezoeléctrico para proporcionar el banco del banco efectos de sonido, y estoy lanzando en una máquina de humo para una buena medida.

Prueba Servo

Dependiendo de su servo, los cables pueden ser de color diferente, pero en general:

El rojo es el cable positivo, y en mis dos servos que era el centro de tres - para ser conectado a + 5v ferroviario.

Brown o negro es el negativo, para ser conectado a GND en el Arduino.

Blanca o naranja es el cable de señal, para ser conectado a una capaz pin de E / S digital PWM (9 y 10 en la demo a continuación).

Una vez que hayas conectado por cable de seguridad de los dos servos, subir el siguiente código de ejemplo. He nombrado un servo "hori" para controlar el movimiento horizontal, y el otro "vert". Cada uno debe llevar a cabo una amplia gama de barrido de movimiento (unos 60 grados, en mi caso).

#include <servo.h> Servo vert,hori; // create servo object to control a servo // a maximum of eight servo objects can be created int pos = 0; // variable to store the servo position void setup() { hori.attach(9); vert.attach(10); // attaches the servo on pin 9,10 to the servo objects vert.write(0); hori.write(0); } void loop() { for(pos = 0; pos < 180; pos += 10) // goes from 0 degrees to 180 degrees { // in steps of 10 degrees vert.write(pos); hori.write(pos); // tell servo to go to position in variable 'pos' delay(100); // waits 100ms for the servo to reach the position } for(pos = 180; pos>=1; pos-=10) // goes back from 180 degrees to 0 degrees { vert.write(pos); // tell servo to go to position in variable 'pos' hori.write(pos); delay(100); // waits 100ms for the servo to reach the position } }

Todo bien? Pasar a continuación.

Probando el láser y Pew Pew Sonido

El módulo láser es como un LED, pero tiene una resistencia integrada en el módulo para que podamos conectarlo directamente a una E / S digital - muy simple. Si utiliza el mismo módulo láser como mí, el "-" va a GND, el S va al pin 12. Modificar el código de ejemplo de arriba para hacer pasador 12 una salida:

int laser = 12; pinMode(laser,OUTPUT);

Entonces parpadeará el pasador dentro y fuera de cada bucle usando método estándar digitalWrite ().

Sólo usaremos PWM para conducir el zumbador piezo a un nivel de sonido cómodo - usted podría experimentar con el uso de la biblioteca de tono si quería, pero un ruido simple es todo lo que necesito. Conecte el cable negro a tierra y el cable rojo al pin 11. Definir el timbre en el pin correspondiente, establecido en el modo de salida, y activar usando analogWrite (zumbador, 100) (o cualquier número que desee hasta 254); y analogWrite (zumbador, 0) para apagar.

El código de ejemplo completo modificado para barrer dos servo, activar un láser, y reproducir el sonido molesto, se puede encontrar aquí .

Todos los componentes deben estar trabajando - Ahora tenemos que unirlo todo.

Creación de la Torre

El uso de las ataduras de cables, conecte un servo a la otra; no importa realmente que, sólo asegúrese de uno se moverá en el horizontal y el otro se moverá la vertical. Usted puede quitar la pala del rotor y re-asiento durante la prueba si el ángulo no está bien.

Pew Pew!  Cómo construir una torreta láser con un Arduino


Use un poco de alambre modelado rígido para fijar el módulo de láser a la hoja de la otra servo, así:

Pew Pew!  Cómo construir una torreta láser con un Arduino


Por último, os adjunto el asunto a una pierna escritorio con aún más los lazos de cable-y un poco de madera de desecho.

Pew Pew!  Cómo construir una torreta láser con un Arduino


Programación de la Torre

Yo no sé ustedes, pero mi idea de una torreta láser viene de un sinnúmero de películas de ciencia ficción y episodios Star Trek. Invariablemente alguien volará más allá de una torreta y pequeños golpes-banco del banco vendrá volando en un patrón de barrido, siempre milisegundos demasiado lento por lo que nuestro protagonista en realidad no ser golpeado. Eso es lo que estoy tratando de replicar, aunque no dude en modificar la rutina principal para adaptarse a su idea de lo que una torreta debe hacer.

Aquí está el código de pseudo Terminé usando para el bucle principal:

Selección aleatoria de tiempo entre ráfagas, y el tiempo entre cada disparo individual.

Selección aleatoria de la posición de inicio y finalización de cada servo, vert y hori.

Selección aleatoria el número de disparos a tomar.

Calcula el número de grados de cambio después de cada disparo como la diferencia entre las posiciones de inicio y fin, dividido por el número de disparos.

Mueva los servos a las posiciones de partida, y esperar un poco para que consigan allí (100ms)

Loop hasta que se hayan tomado todas las tomas, cada vez que mover los servos un poco calculado previamente; mover y disparar, mover y disparar.

Repetir.

También he añadido un método fuego separada () para estructurar el código un poco mejor. Ajuste los rangos de todos los aleatorios () funciones para acelerar o ralentizar cada parámetro; o aumentar el número de disparos para un club de baile más ambiente. Desplácese hacia abajo para un video de un código en acción!

#include <servo.h> Servo vert,hori; // create servo object to control a servo int pos = 0; // variable to store the servo position int laser = 12; int buzzer = 11; void setup() { hori.attach(9); vert.attach(10); // attaches the servo on pin 9 to the servo object pinMode(laser,OUTPUT); pinMode(buzzer,OUTPUT); } void loop() { int timeBetweenBursts = random(200,1000); int timeBetweenShots = random(50,200); int vertStart = random(1,180); int vertEnd = random(1,180); int horiStart = random(1,180); int horiEnd = random(1,180); int numShots = random(5,20); int vertChange = (vertEnd - vertStart) / numShots; //how much to move vertical axis by each shot int horiChange = (horiEnd - horiStart) / numShots; vert.write(vertStart);//let it get to start position first, wait a little hori.write(horiStart); delay(100); for(int shot = 0; shot<numShots; shot++){ vert.write(vertStart); hori.write(horiStart); vertStart += vertChange;//increment the vert value for next time horiStart += horiChange; fire(); delay(timeBetweenShots); //add a bit of variety to the speed of shots } delay(timeBetweenBursts); } void fire(){ digitalWrite(laser,HIGH); analogWrite(buzzer,100); delay(20);//adjust this to change length of turret shot digitalWrite(laser,LOW); analogWrite(buzzer, 0); }

En Accion

Yo no creo que haya un uso práctico de este pequeño juguete, pero es un montón de diversión y hay una gran cantidad de variables que se pueden manipular para conseguir el efecto deseado. Tal vez va a venir muy bien para una película de LEGO casera?

  • Pew Pew!  Cómo construir una torreta láser con un ArduinoPew Pew! Cómo construir una torreta láser con un Arduino Actualizado:07-09

    Estás aburrido? Bien podría construir una torreta láser. Usted sabe - que va del banco del banco, dispara un haz de color rojo en un montón de diferentes direcciones, y tal vez incluso tirar en una máquina de humo? Sí, uno de ellos. Lo que necesita A

  • Cómo construir una lámpara nube con sonido reactiva Rayo Actualizado:10-03

    Hace unos meses, un $ truenos y relámpagos 3000 el estado de ánimo de la lámpara se volvió viral en la comunidad fabricante. Fue una impresionante y hermosa luz, pero el precio lo dejó fuera del alcance de cualquier persona con su cordura intacta. ¿Q

  • ¿Cómo construir una página web cristiana gratuita Actualizado:01-04

    ¿Tiene una iglesia cristiana o ministerio que desea compartir con los demás? ¿No sería bueno informar a su congregación de los próximos eventos? Tal vez usted tiene herramientas de estudio bíblico que desea compartir. El Internet es una gran manera d

  • Cómo construir una antena de TV de Largo Alcance Actualizado:07-12

    TV se emite en longitudes de onda más largas que la radio, lo que significa que sus señales no se pueden recibir desde muy lejos. Este no es un problema si tienes cable o TV por satélite, pero si no lo hace, usted necesitará una antena. Si usted vive

  • Cómo construir una computadora portátil del juego Actualizado:04-13

    Laptop de puede ser una gran estación de juego portátil si usted sabe cómo construir uno. Aquí es cómo construir una computadora portátil del juego. Instrucciones Que juego? Cuando se construye una computadora portátil del juego hay ciertas cosas que

  • Cómo construir una Botnet En 15 MinutosCómo construir una Botnet En 15 Minutos Actualizado:04-23

    La misión es clara: infiltrarse en la red de la empresa objetivo con el fin de obtener los datos corporativos y tal vez incluso un poco de la propiedad intelectual en el camino. Herramientas a la mano? Sólo tú, una máquina conectada a Internet limpia

  • Cómo construir una red de área local sin un routerCómo construir una red de área local sin un router Actualizado:12-17

    Así que tienes una oficina en casa pequeña o unos pocos ordenadores en casa. ¿Quieres construir una red de área local para que puedan conectarse entre sí? De vez en cuando, hay razones para la construcción de una red sin un router. A veces, para ahor

  • Cómo crear una página principal con InDesign Actualizado:08-13

    Con su plazo inminente, su software de autoedición debe realizar lo más eficientemente posible. Creación de páginas maestras en las primeras etapas de su proyecto InDesign le puede ahorrar tiempo en el largo plazo. Las páginas maestras son simplement

  • Cómo crear una sangría francesa con CSS Actualizado:02-05

    Cómo crear una sangría francesa con CSS. Un elemento a nivel de bloque HTML como un párrafo puede ser de estilo con una sangría francesa. El elemento que se diseñará debe contener más de una línea. Los siguientes pasos explican cómo crear una sangría

  • Cómo construir una página web que es compatible con todos los navegadores Actualizado:10-27

    Hacer compatible una página entre navegadores es una de las tareas más difíciles en el diseño web. No todos los navegadores aceptan el código que utiliza y, por lo tanto, algunas pantallas no muestran sus datos (render) como donde lo quiere aparecer.