Le Sabre Laser

L’image de présentation du projet

Bonjour à tous et bienvenue dans ce blog ou nous vous expliquerons comment nous avons fait un sabre laser identique, ou presque, à l’original présent dans la saga Star Wars, et comment vous pouvez en créer un. Bonne lecture et bonne chance.

L’objectif final

Liste de matériel :

Pour fabriquer un sabre laser, vous aurez besoin de :

  • 1 tube en aluminium de diamètre 40 mm
  • 1 tube en aluminium de diamètre 30 mm
  • 1 tube en plastique transparent de diamètre 25 mm
  • 1 tube en plastique transparent de diamètre 15 mm
  • une imprimante 3D
  • 40 leds adressables ou un bandeau led de 160 mm
  • un fer à souder à panne fine
  • un esp32 (modèle NodeMCU utilisé dans l’exemple)
  • un dfplayer
  • un haut parleur 3W
  • un module de charge lithium-ion (pour une cellule)
  • un régulateur de tension 5v
  • un accumulateur lithium-ion (modèle 18650 utilisé dans l’exemple)
  • du papier calque
  • des fils électriques
  • du scotch, beaucoup de scotch

Etape 1 : Découper les tubes

1/ Découpez le tube en aluminium de 40mm de diamètre à 350 mm de long

2/ Découpez le tube en aluminium de 30mm de diamètre à 50 mm de long

3/ Découpez le tube en plastique transparent de diamètre 25 mm à 800 mm de long

4/ Découpez le tube en plastique transparent de diamètre 15 mm à 850 mm de long

Etape 2 : Imprimer les parties plastiques

Imprimez en 3D le cylindre interne des composants, le cylindre en plastique de maintien de la lame, le pommeau et le bouchon de la lame.

Vue 1 du cylindre interne
Vue 2 du cylindre interne

Veillez bien à laisser de la place pour tous les composants, le MPU6050, l’ESP32, le DFPlayer, l’accumulateur et ses modules et le haut-parleur.

Le cylindre de maintien de la lame

Le cylindre de maintien de la lame se situe entre les deux tubes en aluminium.

Vue 1 du pommeau
Vue 2 du pommeau

Nous avons créé les deux “doigts” du pommeau de telle sorte qu’il (le pommeau) puisse se brancher directement dans le cylindre interne.

Le bouchon de la lame

Etape 3 : La lame

1/Si vous partez avec les leds adressables, munissez vous de votre plus beau fer à souder. Faites bien attention d’avoir une panne assez fine car les pins des leds sont très proches et il est essentiel de faire du travail propre afin de prendre le moins de place possible. Ainsi soudez tous les pins 5v ensemble, tous les pins GND ensemble et tous les pins Dout aux Din suivant comme expliqué dans le schéma ci-dessous.

Souder les leds adressables entre elles

Si vous partez sur le bandeau led, bien joué, la tâche sera plus facile mais l’éclairage sera moins qualitatif.

2/ Faites entrer les leds (le paquet de 40 adressables ou bien le bandeau) dans le tube en plastique de 15 mm de diamètre fraîchement découpé

Note : Munissez-vous d’une corde fine accrochée au bout de la ligne de led ou du bandeau et tirez d’un côté en poussant de l’autre pour vous faciliter le travail.

3/ Découpez le papier calque en prenant un morceau d’environ 850x264mm

4/ Glissez le morceau de papier calque à l’intérieur du tube en plastique de 25 mm de diamètre en prenant soin de le mettre le plus proche du bord, puis glissez le tube de 15 mm de diamètre, avec les leds, à l’intérieur du tube de 25 mm recouvert (à l’intérieur) du papier calque.

5/ Ajoutez le bouchon de la lame au bout

Note : Utilisez de la colle pour faire tenir le tube de 15 mm de diamètre dans le bouchon puis le bouchon sur le tube de 25 mm

Facultatif : Vous pouvez ajouter un connecteur à l’autre bout qui prendrait les trois pins restant (5V, GND et Din de la première led) afin de pouvoir connecter et déconnecter à loisir la lame au manche.

Etape 4 : le programme

1/ Cherchez les bibliothèques de fonction correspondantes à vos modules

Nous utiliserons, ici, les bibliothèques “MPU6050_tockn.h”, “DFRobotDFPlayerMini.h” et “FastLED.h”.

2/ Etudiez les programmes d’exemples fournis avec les bibliothèques afin de comprendre leur fonctionnement

3/ Construisez un beau programme en fonction des bibliothèques que vous avez choisi et de vos préférences

Voici un programme simple : 

#include
#include
#include “SoftwareSerial.h” //Pour lecture mp3
#include “DFRobotDFPlayerMini.h”
#include //https://github.com/FastLED/FastLED
#include
#include
#ifdef __AVR__
#include // Required for 16 MHz Adafruit Trinket
#endif
#include

MPU6050 mpu6050(Wire);

#define PinSDA 21 //Pin SDA du MPU6050
#define PinSCL 22 //Pin SCL du MPU6050
#define ON 4 //Pin d’entrée du bouton poussoir
#define accmax 3 //Valeur maximum de l’accéléromètre, au delà le sabre laser réagit comme pour un dégat
#define accangmax 320 //Valeur maximum du gyroscope, au delà le sabre laser réagit comme pour un dégat
#define PIN 2 //Pin d’entrée du Din des leds
#define NUMPIXELS 40 //Nombre de leds
static const uint8_t PIN_MP3_TX = 18; //A connecter au Pin Tx du module
static const uint8_t PIN_MP3_RX = 19; //A connecter au Pin Rx du module

int y=3;

const int stripPin = 2;

bool gReverseDirection = false;

SoftwareSerial softwareSerial(PIN_MP3_TX, PIN_MP3_RX);
DFRobotDFPlayerMini player;

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
softwareSerial.begin(9600);
player.begin(softwareSerial);
player.volume(20);

Wire.begin(PinSDA,PinSCL);
mpu6050.begin();
mpu6050.calcGyroOffsets(true);

pinMode(ON,INPUT);
}

void loop() {
if(digitalRead(ON)==HIGH){
if(y==2 || y==1){
y=0;
}else{
y=1;
}
delay(100);
}
if(y==0){
player.play(2);
for(int i=NUMPIXELS; i>-1; i–) {
pixels.setPixelColor(i, pixels.Color(0,0,0));

pixels.show();

delay(30);
}
y=3;
}
if(y==1){
player.play(1);
y=2;
for(int i=0; iaccmax || mpu6050.getAccY()>accmax || mpu6050.getAccZ()>accmax || mpu6050.getGyroX()>accangmax || mpu6050.getGyroY()>accangmax || mpu6050.getGyroZ()>accangmax){
player.play(3);
for(int i=0;i<NUMPIXELS;i++){
pixels.setPixelColor(i, pixels.Color(255,255,200));
}
pixels.show();
delay(10);
for(int i=0;i<NUMPIXELS;i++){
pixels.setPixelColor(i, pixels.Color(255,0,0));
}
pixels.show();
}
}
}

Celui-ci permet d’allumer et d’éteindre le sabre laser en vert par un appui sur le bouton poussoir.

Etape 5 : Le manche (intérieur)

1/ Soudez ensemble tous les composants à l’ESP32 :

 Soudez le df player au haut parleur et à l’ESP32 aux pins 18 et 19 en suivant les indications du programme (ou bien modifiez le programme)

Soudez le module accéléromètre/gyroscope MPU6050 à l’ESP32 aux pins 21 et 22 en suivant les indications du programme (ou bien modifiez le programme)

2/ Soudez maintenant ensemble la batterie, le régulateur de tension et le module de charge (en prenant bien soin de ne pas se tromper sur les différents pins) puis soudez un interrupteur entre la batterie et le régulateur et enfin le régulateur à l’ESP32

3/ Faites passer les fils pour le bouton (data en pin 4) et la lame (data en pin 2) jusqu’au bout du cylindre interne

Etape 6 : Les trous:

Il vient maintenant l’heure de faire des trous, percez en à 3 cm de chaque côté du manche avec le cylindre interne, les cylindres en aluminium et celui imprimé en 3D à l’intérieur de façon à pouvoir y visser des vis M4, Faites 2 trous côté pommeau et 4 côté lame

Pensez aussi à faire un trou pour votre bouton poussoir dans le manche

Note : les vis M4 ont besoin d’un perçage de 3.3mm de diamètre et d’un taraudage M4

Etape 7 : l’assemblage

Pour tout assembler, rentrez en premier le cylindre interne dans le manche puis vissez le en place, disposez ensuite le deuxième cylindre en aluminium ainsi que le cylindre imprimé en 3D dans le manche en les vissant eux aussi, branchez le bouton et insérez le dans le manche puis enfin intégrez la lame dans le manche et serrez les vis de réglage.

Etape finale : Personnalisation

Décorez le maintenant comme bon vous semble. Nous avons opté pour un design simple mais élégant.

pièce numéro 1
pièce numéro 2
produit fini

Et voilà, si vous avez bien tout suivi vous devez avoir un très beau sabre laser.

Nous vous remercions de nous avoir suivi tout le long de ce blog, et nous remercions aussi Sylvain Bignon ainsi que Boris Rayer qui nous ont, tous deux, aidé dans ce projet.

Merci beaucoup et à une prochaine fois

Maxime Ducandas

Rémi Reulier