Sacha Alessandrello¶
Je veut faire des moustik voici l'idée de la recette gourmande, miam :
1. Faire les ailes sur Inkspace
2. Découper les ailes a la découpeuse 3000 laser
3. Avoir des ailes
4. Mettre les ailes sur un petit moteur vibreur
5. Espèrer que ca fonctionne
6. Mettre des capteurs de mouvements
8. Programmer ?????
9. Espèrer que ca fonctionne
10. Que ca fonctionne
11. Avoir un moustique qui donne l'impression qu'il va s'envoler
Ce projet est réalisé dans le cadre d'une collaboration en vue d'une exposition a la galerie Bam. Avec une amie sculptrice on veut réaliser des moustique en fonte d'une vingtaine de centimètre avec des ailes transparente. Le but est que les moustiques sois dans un coin de la pièce d'exposition et que l'approche d'un spectateur.ices permet l'activation des ailes, comme un bourdonnement.
I/Vol au dessus d'une tache d'encre
11h, 2 café, j'apprend Inkscape... Je réussis a décalquer une aile (pour ca il faut transformer le fichier en Bitmap puis le mettre dans le logiciel), j'ai donc une aile réaliste de moustique (Ailes moustiques V1). Mais je me suis dis que je voulais des ailes plus "organiques" et "abstraites" avec des formes irréalisable dans la nature car non adapté au vol. J'ai donc modifié la forme pour arrivé a une version, plus aboutit (Ailes moustiques V1.1).
J'ai ensuite tester le modèle des ailes pour la découpeuse laser. J'ai du reprendre quelque fois le fichier. Je vais devoir créer les réglages pour découper sur du rhodoide. Les réglages sont 100 Puissance 4 vitesse pour la découp et 20 puissance 100 Vitesse pour la gravure. La gravure a pas pris sur le Rhodoïd 300 micron.
II/Motrix mosca
Pour faire vibrer les ailes j'ai trouvé des petits moteurs de téléphone portable de type vibreur (trouvable pour pas cher sortis d'usine a l'autre bout du monde): https://fr.aliexpress.com/item/1005007550657082.html?spm=a2g0o.productlist.main.7.3d3127MI27MInw&aem_p4p_detail=202504240543317966107738293320000427495&algo_pvid=029a1516-b78d-4656-8405-66dd8e178578&algo_exp_id=029a1516-b78d-4656-8405-66dd8e178578-3&pdp_ext_f=%7B%22order%22%3A%221247%22%2C%22eval%22%3A%221%22%7D&pdp_npi=4%40dis%21EUR%212.83%212.83%21%21%2122.88%2122.88%21%40211b61d017454986116384828e9d74%2112000041259102676%21sea%21FR%216326041796%21X&curPageLogUid=2Qx4ld9kASRR&utparam-url=scene%3Asearch%7Cquery_from%3A&search_p4p_id=202504240543317966107738293320000427495_1
J'ai collé le moteur sous une aile puis branché a une petite arrivé électrique. Et ca fonctionner plutôt bien, je voulais pas un mouvement de "vol" d'une aile mais plus comme une impulsion nerveuse dans une aile qui serais alors prête a tout moment a s'envoler, et la petite vibration produisait assez fidèlement ce sentiment. De plus le bruit du moteur était semblable a celui d'un moustique en plein vol.
J'ai ensuite créer une petite maquette d'un moustique de façon très minimal pour avoir deux ailes (photo de mauvaise qualité oopsi)
J'avais mon premier prototype de moustique pour commencer mes prochaines expérimentations, l'implantation de la vie dans les ailes.
III/ Terra programmata
J'arrivais assez en terre inconnue a ce moment la, je devais maintenant programmer pour permettre au ailes de volé en présence d'un mouvement devant elle. A ce moment mon plan était de mettre un capteur de mouvement HC-SR04 qui envoie l'info dans une carte Arduino Uno puis qu'un MOSFET permette de réguler l'arrivé de voltage dans le moteur permettant alors de plus ou moins faire vibrer les ailes.
Pour l'aspect de la programmation j'ai chiné des bouts de code sur différent auto puis je les ai mis dans tout les sens jusqu'a trouver un programme qui théoriquement marche. J'ai ensuite prototypé avec une batterie 4V mon système :
A ce moment il était bien pourrie, rien ne fonctionnais convenablement a part le programme, le HC-SR04 captait bien le signal qui était bien traité par la Arduino mais mon circuit avec MOSFET ne permettait pas d'envoyer le courant dans le moteur.
IV/L298N Thanx god
J'ai alors découvert l'existence des driver moteur de type L298N qui permette exactement ce que j'arrivais pas dans mon circuit. J'ai alors décidé d'abandonner le MOSFET et de plutôt utiliser le driver. Le driver fonctionne comme une simplification de tout ce que j'avais besoin de faire moi même (diode de protection, résistance 10k, MOSFET etc...). J'ai donc reprise mon programme pour l'adapter et j'ai utilisé un moteur a balourd plus classique pour mes expérimentations car mon proto de moustique c'était alors cassé.
Le système était alors plutôt simple, le capteur envoie l'information de la distance (trig), qui est réceptionné par le récepteur (echo) on a alors une durée on utilise la formule du déplacement d'un son dans l'air (divisé par deux car aller retour) ce qui nous donne : distance = duration * 0.034 / 2. Cette information est utilisé par la carte Arduino pour envoyer un message numérique au L298N , si la distance est de 50 cm ou moins alors c'est 4.5 Volt envoyé (notre alim est en 12 Volt donc ca correspond a 96PwM) et si il est entre 50 et 200 cm alors de manière linéaire de moins en moins de courant est envoyé dans le moteur jusqu'a 38PwM. Cette info permet donc de modifier le voltage du moteur pour qu'il tourne plus ou moins vite.
Voici le code :
// === Pins capteur HC-SR04 ===
const int trigPin = 7;
const int echoPin = 6;
// === Pins moteur via L298N ===
#define borneENA 10
#define borneIN1 8
#define borneIN2 9
// === Variables ===
long duration;
float distance;
int pwmValue;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(borneENA, OUTPUT);
pinMode(borneIN1, OUTPUT);
pinMode(borneIN2, OUTPUT);
Serial.begin(9600);
Serial.println("Setup terminé, prêt à décoller 🚀");
}
void loop() {
// --- Mesure de distance ---
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
// --- Logique PWM ---
if (distance <= 50) {
pwmValue = 96; // Max (4.5V)
}
else if (distance > 50 && distance <= 200) {
pwmValue = map(distance, 50, 200, 96, 38); // Descend de 100% à 40%
}
else {
pwmValue = 0; // Trop loin, moteur off
}
// --- Contrôle moteur ---
if (pwmValue > 0) {
Serial.print("Distance: ");
Serial.print(distance);
Serial.print(" cm | PWM: ");
Serial.println(pwmValue);
digitalWrite(borneIN1, HIGH);
digitalWrite(borneIN2, LOW);
analogWrite(borneENA, pwmValue);
}
else {
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm | Moteur OFF");
digitalWrite(borneIN1, LOW);
digitalWrite(borneIN2, LOW);
analogWrite(borneENA, 0);
}
delay(200); // un peu de chill entre deux mesures
}
V/ Dernier détails mais ca fonctionne
J'ai ensuite modifié une alim de pc de 12V pour qu'elle puisse alimenter tout mon système ainsi que la carte Arduino. J'ai ensuite recréer une maquette du moustique plus solide (l'ancienne était vraiment trop shlag) :
J'ai ensuite fais les dernier branchement pour rendre le système totalement autonome et retrouvé l'aspect moustique perdu avec le moteur a balourd :
Et voila le travail, je suis content de la réalasitation et de l'apprentissage autours de ce projet, j'avais fais très très peut d'électronique et jamais de programmation, tout cela a était une découverte. Pour la suite du projet je doit attendre l'arrivée des moustiques et recopier le système de moteur pour en avoir 4-5 puis simplement les brancher pour l'exposition.
Je ferais sans doute une mise a jour une fois que ces taches aurons avancé.
merci le fabab pour l'accueil et les coups de main <3