InicioHazlo Tu MismoComo crear tu propio sable laser con sonido
Hace un tiempo me arme mi primer sable laser con sonido, habia armado varios anteriormente pero solo eran con luz y tenian diferentes efectos como por ejemplo: El rayo de luz se encendia a velocidad variable, utilizando por cada 4 led un modulo compuesto por 2 resistencias, 1 diodo y un transistor. Todos los modulos estaban en escala controlados por un unico potenciometro lineal (en el video se ve uno comun, pero utilice el otro en el montaje final) El efecto logrado era el buscado, encendido rapido o a la velocidad que yo quisiera, la contra era que por cada 4 led habia que armar un circuito. Quedo algo asi: Aca esta mas simplificado, ignoren el arduino, en ese momento no estaba siendo utilizado Use LED de potencia para iluminacion rapida y con latencia mediante PWM, todo usando un PIC 12F629A como control, sencillo pero efectivo (el pic no tiene PWM por lo que tuve que simularlo), ademas destellaba cuando se accionaba el sensor de impacto.No tengo video de ese proyecto terminado, pero encontre en mi maquina un par de imagenes de como eran los circuitos de control y potencia LSMC = LightSaber Modulo Control LSCP = LightSaber Control de Potencia Ahora fui un poco mas alla y utilice: - Arduino nano - Modulo de audio DFPlayer mini, que reproduce MP3 desde una MicroSD - Bateria recargable de 3.7v, esta la saque de unabateria de notebook vieja, pero cumplio perfectamente su proposito - Transistor para el control de potencia, esta sobrado para la corriente que tiene que controlar, pero no consegui uno mas chico. - Modulo de carga usb para bateria recargable El esquema de conecciones fue segun este diagrama: Utilice un LED de 1W por que me dio buen resultado, en la siguiente imagen se ve una comparativa entre el brillo de uno original (el de arriba, de Darth Maul), y el que arme yo (el de abajo) Para reproducir un MP3 solo hay que conectar los terminales RX y TX del DF player a los terminales TX y RX respectivamente del arduino. El codigo que se utiliza basicamente es este: ------------------------------------------------------------------------------------------------ #include #include SoftwareSerial DFPlayerSerial(10, 11); // RX, TX void setup() { Serial.begin(9600); // activamos la comunicacion serial entre ambos dispositivos DFPlayerSerial.begin(9600); mp3_set_serial(DFPlayerSerial); mp3_set_volume(15); } void loop() { mp3_play(1); // reproducimos el MP3 de encendido del sable laser } ------------------------------------------------------------------------------------------------ Con eso tenemos la parte de audio, ahora controlar el brillo del LED se puede hacer mediante PWM o simular el PWM mediante codigo. Aca les dejo el codigo completo que utilice, es muuuuuuy burdo y seguramente se puede optimizar, pero funciona. #include #include SoftwareSerial DFPlayerSerial(10, 11); // RX, TX const int Btn0 = 4; // encendido const int Btn1 = 5; // clash const int Btn2 = 6; // Sensor de hoja laser const int PWMPin = 9; // Pin 9 como salida con PWM int val; int val1; int encendido = 1; void setup() { pinMode(Btn0,INPUT); pinMode(Btn1,INPUT); pinMode(Btn2,INPUT); Serial.begin(9600); DFPlayerSerial.begin(9600); mp3_set_serial(DFPlayerSerial); mp3_set_volume(30); } void loop() { val=digitalRead(Btn0); val1=digitalRead(Btn2); if (val == HIGH & val1 == LOW){ //secuencia de encendido ERRONEO de LED delay(100); analogWrite(PWMPin,255); delay(50); analogWrite(PWMPin,0); delay(50); analogWrite(PWMPin,255); delay(50); analogWrite(PWMPin,0); delay(50); analogWrite(PWMPin,255); delay(50); analogWrite(PWMPin,0); delay(50); } if (val == HIGH && val1 == HIGH && encendido == 1){ //secuencia de encendido de LED encendido = 2; mp3_play(0001); delay(100); analogWrite(PWMPin,10); delay(30); analogWrite(PWMPin,30); delay(30); analogWrite(PWMPin,50); delay(30); analogWrite(PWMPin,70); delay(30); analogWrite(PWMPin,90); delay(30); analogWrite(PWMPin,110); delay(30); analogWrite(PWMPin,130); delay(30); analogWrite(PWMPin,150); delay(30); analogWrite(PWMPin,170); delay(30); analogWrite(PWMPin,190); delay(500); } else if (val == HIGH && encendido == 2){ //secuencia de apagado de LED mp3_play(0003); delay(30); analogWrite(PWMPin,190); delay(30); analogWrite(PWMPin,170); delay(30); analogWrite(PWMPin,150); delay(30); analogWrite(PWMPin,130); delay(30); analogWrite(PWMPin,110); delay(30); analogWrite(PWMPin,90); delay(30); analogWrite(PWMPin,70); delay(30); analogWrite(PWMPin,50); delay(30); analogWrite(PWMPin,30); delay(30); analogWrite(PWMPin,10); delay(30); analogWrite(PWMPin,0); delay(1000); encendido = 1; } if (encendido == 2) { //Loop de LED encendido, titilante mediante PWM mp3_play(0002); analogWrite(PWMPin,200); delay(20); analogWrite(PWMPin,210); delay(20); analogWrite(PWMPin,220); delay(20); analogWrite(PWMPin,230); delay(20); analogWrite(PWMPin,240); delay(20); analogWrite(PWMPin,250); delay(20); analogWrite(PWMPin,255); delay(20); analogWrite(PWMPin,240); delay(20); analogWrite(PWMPin,230); delay(20); analogWrite(PWMPin,220); delay(20); analogWrite(PWMPin,210); delay(20); analogWrite(PWMPin,220); delay(20); analogWrite(PWMPin,230); delay(20); analogWrite(PWMPin,240); delay(20); analogWrite(PWMPin,250); delay(20); analogWrite(PWMPin,255); delay(20); analogWrite(PWMPin,250); delay(20); analogWrite(PWMPin,240); delay(20); analogWrite(PWMPin,230); delay(20); analogWrite(PWMPin,220); delay(20); analogWrite(PWMPin,210); delay(20); } } Aca les muestro algunos videos de como fueron las pruebas, primero con un led simple para probar el PWM, luego fui a los 3W Prueba con led de 3W, las pistas de audio que utilice son malisimas, pero eso se corrige facil Probando con poca luz Prueba en la oscuridad, cambie la velocidad de latencia y queda mejor El exterior del sable es completamente en aluminio, utilice unos manubrios para moto que compre en el Easy (estaban a 180 pesos en ese momento), puedne conseguir en grandes variedades y colores... Eso es todo, gracias por pasar...
Datos archivados del Taringa! original
53puntos
118visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

W
Wolfman77🇦🇷
Usuario
Puntos0
Posts47
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.