Blaster Nerf entièrement automatisé, imprimé 3D, moteur brushless, piloté par Arduino
Composants et fournitures
| Composant | Quantité | Notes |
|---|---|---|
| Arduino Nano Every | 1 | Compact, tient dans le blaster, fonctionnalités complètes. |
| Solennoïde linéaire 12 VDC (course 35 mm) | 1 | Pousse le dart dans les volants. |
| Moteurs brushless DC (outrunner) | 2 | Type outrunner pour cage volants Nerf. Doivent supporter 12 V (3S LiPo). |
| ESC brushless (contrôleurs) | 2 | Un par moteur. Courant > 20% marge. Support 3S LiPo. ESC OPTO recommandés. |
| Batterie LiPo 3S 11,1-12,6 V 1300 mAh 25C | 1 | Décharge > courant total + 20%. Connecteur XT60 conseillé. |
| Microswitchs miniatures | 2 | Déclencheurs (primaire/secondaire). Courant faible suffisant. |
| MOSFET N-Channel logique (ex: IRLZ44N) | 1 | >20 V, >15 A @ 5V gate. Commande le solénoïde. |
| Résistances : 10k, 4,7k, 220, 150 Ω | 1 chacun | Pull-up/pull-down, protection gate, LED. |
| Diodes 1N4007 | 2 | D1: protection inverse batterie. D2: roue libre solénoïde (protège MOSFET). |
| Condensateurs 100 µF et 100 nF | 1 chacun | Filtrage alimentation Arduino (polarité pour 100 µF). |
Outils nécessaires
- Imprimante 3D (ex: Evnovo/Artillery X1 300x300x400 mm)
À propos du projet
Je crée des accessoires et répliques d'objets de films/jeux vidéo. Mon dernier projet : le Kang Tao, arme intelligente du jeu Cyberpunk 2077, réalisée en impression 3D pour l'esthétique et l'ajustement mécanique. Pour aller plus loin, je l'ai conçue comme un blaster Nerf fonctionnel.
Le contrôle d'un solénoïde et de deux ESC brushless via relais/délais serait trop encombrant ; l'Arduino est la solution idéale. Ce tutoriel se concentre sur l'électronique et le code Arduino (la partie mécanique/impression 3D est avancée).
Ressources complètes (CAO, impression, vidéo) :
Fonctionnement : Déclencheurs, volants et solénoïde

Deux microswitchs :
- MS2 (secondaire) : Maintenu enfoncé → fait tourner les volants (brushless).
- MS1 (primaire) : Appuyé (tant que MS2 tenu) → active le MOSFET → tire le solénoïde de façon répétée.
Le solénoïde propulse le dart dans les volants (M1, M2) qui l'éjectent. MS1 ne fonctionne que si MS2 est tenu (évite les bourrages). Dans le code, c'est l'opérateur &&.
L'alimentation des moteurs et du solénoïde ne passe PAS par les microswitchs → pas besoin de switchs haute puissance.
Moteurs Brushless

- Privilégiez outrunner (plus plats, partie externe tourne → facile d'imprimer volants dessus).
- Fixation par trous arrière.
- Tension ≥ 12,6 V (3S LiPo).
- Courant ≤ rating ESC. Puissance > 60 W (ici ~80 W : 12,6 V × 7 A).
- KV ~2600 → ~32 760 tr/min à 12,6 V. Utilisés à demi-régime : darts à 25 m / 82 ft !
ESC Brushless
- Un ESC par moteur (sinon back-EMF détruit l'ESC).
- Courant ESC > courant moteur (mesuré 7 A → ESC ≥ 20 A).
- Tension ≥ 12,6 V (3S).
- BEC intégré non nécessaire. Si présent : ne PAS connecter le fil rouge 5V (sauf usage expert). Connecter seulement GND et signal à l'Arduino.
Batterie

- Une seule batterie pour tout. Connecteur XT60 recommandé.
- 12,6 V (3S). Capacité ≥ 1300 mAh.
- Courant de décharge : 25C × 1,3 Ah = 32 A max (ici ~25 A tirés).
MOSFET pour solénoïde

- MOSFET N-Channel logique (gate 5V Arduino).
- Coupe la masse du solénoïde (low-side switching).
- Courant solénoïde ~8 A → MOSFET ≥ 30 A (marge). Tension 12,6 V → MOSFET 60 V OK.
- Température < 35 °C (charge ponctuelle, pas continue) → pas de dissipateur nécessaire.
Solennoïde
- 12 V, course 35 mm (indispensable pour darts longueur standard).
- Ressort renforcé : fil 0,9 mm, OD 14 mm, longueur 40 mm (évite bourrages).
- Échauffement modéré (~40 °C) → pas de refroidissement.
- Disponibles sur eBay, AliExpress, etc.
Interrupteur de sécurité
Glissière 2 positions (3 contacts, 2 utilisés). Coupe l'alimentation Arduino → désactive volants et solénoïde.
Circuit de protection
- C1 (100 µF) + C2 (100 nF) : Réduisent les fluctuations tension sur Vin Arduino. C1 polarisé : bande = négatif, sinon explosion !
- D1 : Protection inversion polarité sur Vin. Respecter polarité.
- D2 : Diode roue libre (flyback) sur solénoïde. Protège MOSFET du back-EMF. Polarité à respecter.
- R1 (4,7k) & R2 (4,7k) : Pull-up sur MS1 et MS2 (évite flottement).
- R3 (10k) : Pull-down sur gate MOSFET (évite flottement).
- R4 (150 Ω) : Pour LEDs optionnelles (flash bouche à chaque tir). Valeur selon vos LEDs.
Fichiers d'impression 3D
Mise à jour : Fichiers Thingiverse disponibles ici : https://www.thingiverse.com/thing:3984125
Code Arduino
const int buttonPinF = 2; // MS2 (volants)
const int buttonPinS = 5; // MS1 (solénoïde)
int buttonStateF = 0;
int buttonStateS = 0;
int solenoidPin = 4; // Gate MOSFET
#include <Servo.h>
Servo throttle;
int pos = 0;
int pin = 3; // Signal ESC
void setup() {
pinMode(buttonPinF, INPUT);
pinMode(buttonPinS, INPUT);
throttle.attach(pin);
pinMode(solenoidPin, OUTPUT);
// Séquence d'armement ESC
for (pos = 90; pos <= 91; pos += 1) {
throttle.write(pos);
delay(3700); // Attendre sortie mode sécurité ESC (ajuster jusqu'à 10000 si nécessaire)
}
}
void loop() {
buttonStateF = digitalRead(buttonPinF);
if (buttonStateF == HIGH) {
throttle.write(92); // Ralenti (idle) - ajuster selon ESC/moteur
} else {
throttle.write(97); // Pleine vitesse - ajuster (max ~115)
}
buttonStateS = digitalRead(buttonPinS);
if (buttonStateF == LOW && buttonStateS == LOW) {
digitalWrite(solenoidPin, HIGH);
delay(90); // Durée impulsion ON (cadence de tir)
digitalWrite(solenoidPin, LOW);
delay(100); // Durée OFF
} else {
digitalWrite(solenoidPin, LOW);
}
}
Paramètres à ajuster :
delay(3700): temps d'armement ESC (jusqu'à 10 s).throttle.write(92): vitesse ralenti (0-180).throttle.write(97): vitesse max (0-180).delay(90)/delay(100): cadence de tir du solénoïde.
Schémas

Processus de fabrication
- Construire sa propre machine à écrire les devoirs à la maison (Traceur à stylo)
- Créer un système Ambilight spectaculaire pour moniteur avec Arduino
- Contrôler votre ventilateur de plafond avec Alexa : Guide étape par étape
- Construire une télécommande Android universelle avec Arduino, 1Sheeld et contrôle IR
- Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano
- Centre de contrôle d'alimentation Arduino : N-FET, P-FET, Relais et RTC
- Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
- Construire un bras robotique 3D fonctionnel piloté par Arduino – Guide pas à pas
- Contrôleur d'humidificateur DIY avec Arduino et relais – Installation haute tension sécurisée