Construisez votre propre anémomètre – Capteur de vitesse du vent abordable
Composants et fournitures
|
× | 1 | ||||
![]() |
|
× | 1 | |||
![]() |
|
× | 1 |
À propos de ce projet
Vue d'ensemble
Un anémomètre (dispositif de mesure de la vitesse du vent) est un instrument courant des stations météo.
Lors d'une discussion sur un projet IoT avec un groupe d'étudiants, nous avions besoin d'un capteur de vitesse du vent. Les modèles commerciaux coûtaient environ 80 $, trop cher pour un projet étudiant. J'ai donc indiqué « Personnalisé » dans la liste.
Voici mon anémomètre personnalisé 🙂 Il repose sur un principe simple que j'ai utilisé au collège pour construire un générateur à partir d'un moteur DC.

Un moteur DC convertit l'énergie électrique en énergie mécanique, tandis qu'un générateur DC fait l'inverse. Si l'énergie électrique peut faire tourner un moteur, l'énergie mécanique doit produire de l'électricité.
Il faut capter l'énergie du vent pour faire tourner le moteur DC et générer de l'électricité, que l'on peut lire avec un Arduino, convertir en échelle et exploiter.
J'ai récupéré un moteur DC d'une voiture RC, connecté une LED à ses deux fils et fait tourner l'axe : la LED s'allume !

Ensuite, j'ai connecté la broche + du moteur à l'entrée analogique A0 de l'Arduino et la masse du moteur à la masse de l'Arduino.

Preuve de concept validée. Passons au produit final. Les images suivantes montrent les étapes de construction.
J'ai pris quatre cuillères en plastique identiques, collé deux par deux, puis assemblé les deux paires perpendiculairement aux extrémités de l'axe du moteur. Cela forme le cœur de l'anémomètre.
J'ai monté cet ensemble sur un long crayon fixé sur un petit support. J'ai prévu un emplacement pour l'Arduino et ajouté une LED sur la broche PWM 9 pour visualiser la rotation.

Code Arduino
Le code suivant lit la valeur analogique sur A0 et l'affiche sur le traceur série.
int ledPin = 9;
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
// Map 0-1023 vers valeurs discrètes 0-50-100...250 pour LED
analogWrite(ledPin, sensorValue * (51.0 / 1023.0) * 50);
if(sensorValue > 0){
Serial.println(sensorValue);
Serial.print(" ");
}
}

Voici le résultat final !
Quelques pistes d'amélioration :
- Un moteur 5 V utilise des aimants puissants, nécessitant un vent fort. Privilégiez un moteur plus petit et léger (type drone) avec aimants permanents.
- Un moteur à bas RPM génère plus de tension à bas régime. Des engrenages plus grands sur l'axe de l'hélice peuvent faire tourner le moteur plus vite à faible vent.
- Un moteur DC basse tension (3 V) serait plus sûr : la tension max générée n'atteindrait pas 5 V, protégeant l'Arduino.
Code
- Anemometer
Anemometer Arduino
Ce code lit la vitesse du vent sur le port analogique 0 et allume une LED.
int ledPin = 9; void setup() { Serial.begin(9600); } void loop() { int sensorValue = analogRead(A0); //Map 0-1023 to discrete 0-50-100...250 values for LED analogWrite(ledPin, sensorValue * (51.0 / 1023.0) * 50); if(sensorValue > 0){ Serial.println(sensorValue); Serial.print(" "); } }
Schéma
windspeed_vjCOz66xkI.fzzProcessus de fabrication
- Raspoulette : Prototype de système autonome de porte de poulailler à énergie solaire
- Simple Pi Robot – Construire un rover autonome 2 roues motrices avec Raspberry Pi
- Médiator Motorisé et Pédale d'Effet DIY – Impression 3D et Arduino
- Choisir le câble moteur optimal pour les variateurs de vitesse (VSD)
- Comprendre les moteurs linéaires : de l'énergie électrique au mouvement linéaire précis
- Servomoteurs expliqués : fonctionnement et importance
- Facteurs influençant la vitesse d'un moteur hydraulique : guide complet
- Contrôler la vitesse d'un moteur hydraulique : PWM, commande à distance et bonnes pratiques
- Facteurs clés déterminant la vitesse d'un moteur hydraulique
