Tutoriels

Comment utiliser Anémomètre Capteur de vitesse du vent avec Arduino et ESP8266

Comment Utiliser Anémomètre Capteur De Vitesse Du Vent Avec Arduino Et Esp8266

Qu’est-ce qu’un anémomètre ?

Anémomètre Capteur De Vitesse Du Vent Avec Arduino Et Esp8266

Anémomètre est un appareil utilisé pour mesurer la vitesse du vent. Il est largement utilisé dans les domaines de la météorologie, des tunnels de vent et d’autres applications liées à l’écoulement des gaz.

L’un des types d’anémomètres les plus couramment utilisés pour les mesures de vitesse du vent est l’anémomètre électrique à coupelles tournantes. Les coupelles tournantes entraînent un générateur électrique, dont la sortie alimente un compteur électrique étalonné en fonction de la vitesse du vent. Les anémomètres à trois coupelles sont actuellement utilisés comme norme de l’industrie pour les études et les pratiques d’évaluation des ressources éoliennes.

Anémomètre avec sortie d’impulsion NPN

L’anémomètre capteur de vitesse du vent que nous allons utiliser dans ce projet est doté d’une sortie d’impulsion NPN. Il s’agit d’un anémomètre à trois coupelles capable de mesurer des vitesses de vent allant jusqu’à 70 m/s ou 156 mph. Ce capteur offre une sortie numérique sous forme d’impulsions, ce qui permet une mesure précise de la vitesse du vent. De plus, cet anémomètre est étanche, dispose d’une conception d’installation stable et convient parfaitement aux applications en extérieur.

Caractéristiques techniques

  • Alimentation : 5V à 30V DC
  • Communication : sortie d’impulsion
  • Plage de mesure : 0-50 m/s
  • Sortie analogique : 0-5V DC
  • Sensibilité : 0,5V/m/s
  • Erreur de linéarité : 0,2% FS
  • Erreur de répétabilité : 0,1% FS
  • Erreur d’hystérésis : 0,1% FS
  • Erreur de température : 0,1% FS/°C
  • Temps de réponse : 1s
  • Sortie : NPN
  • Matériaux du corps : alliage d’aluminium

Les utilisations d’anémomètre capteur de vitesse du vent

L’anémomètre capteur de vitesse du vent peut être utilisé dans divers projets et applications. Voici quelques exemples :

  1. Stations météorologiques : L’anémomètre est utilisé pour mesurer la vitesse du vent dans les stations météorologiques, fournissant des données précises sur les conditions météorologiques locales.
  2. Énergie éolienne : le capteur de vent peut évaluer la vitesse du vent afin de déterminer la viabilité d’un site pour l’installation de turbines éoliennes.
  3. Modélisation climatique : Les données de vitesse du vent collectées par le capteur de vitesse de vent sont utilisées pour améliorer les modèles de prévision météorologique et de climat, permettant ainsi de mieux comprendre les schémas de circulation atmosphérique.
  4. Études environnementales : Il est utilisé pour évaluer l’impact des conditions météorologiques sur les écosystèmes, en mesurant la dispersion des polluants atmosphériques et en surveillant la qualité de l’air.
  5. Sports de plein air : Dans des activités comme la voile, le parapente ou le kite surf, l’anémomètre est utilisé pour mesurer la vitesse du vent, fournissant ainsi des informations essentielles aux pratiquants de ces sports.
  6. Surveillance de la qualité de l’air : Le capteur de vitesse du vent, combiné à d’autres capteurs de surveillance de la qualité de l’air, permet d’évaluer la dispersion des polluants et d’identifier les zones à risque élevé de pollution.
  7. Recherche scientifique : Il est utilisé dans diverses études scientifiques portant sur l’atmosphère, la climatologie, la recherche sur les ouragans, l’aérologie, etc.

Liste des composants

Pour réaliser ce projet, voici la liste des composants dont vous aurez besoin :

  1. Arduino UNO Board : Il servira à controller notre système.
  2. Capteur de vitesse du vent : Ce capteur est spécialement conçu pour mesurer la vitesse du vent et fournir une sortie numérique d’impulsions.
  3. Afficheur LCD I2C : Un afficheur LCD de type 16×2 utilisant le protocole de communication I2C pour afficher les résultats de mesure.
  4. Fils de connexion : Des fils de connexion seront nécessaires pour relier les différents composants entre eux.
  5. Breadboard : Une plaque de prototypage sans soudure pour faciliter le câblage et les connexions des composants.

Câblage et brochage

Le câblage du capteur d’anémomètre à sortie d’impulsion NPN avec Arduino est assez simple. Voici comment les différents fils doivent être connectés :

  • Connectez le fil VCC (marron) du capteur d’anémomètre à la broche 5V de l’Arduino.
  • Connectez le fil GND (noir) du capteur à la broche GND de l’Arduino.
  • Connectez le fil de sortie d’impulsion NPNR (bleu) du capteur de vitesse de vent à la broche D2 de l’Arduino.

Pour afficher la vitesse du vent, nous utiliserons un afficheur LCD I2C 16×2. Connectez les broches SDA et SCL de l’afficheur LCD aux broches A4 et A5 de l’Arduino respectivement. De plus, connectez les broches VCC et GND de l’afficheur LCD aux broches 5V et GND de l’Arduino.

Anémomètre Capteur De Vitesse Du Vent Avec Arduino

Interfaçage de l’anémomètre à sortie d’impulsion NPN avec Arduino

Une fois que vous avez câblé correctement les composants, vous pouvez passer à l’interfaçage de l’anémomètre capteur de vitesse du vent avec Arduino en utilisant le code suivant :

#include <LiquidCrystal_I2C.h> // Inclure les bibliothèques nécessaires


// Déclarer les objets de la bibliothèque
LiquidCrystal_I2C lcd(0x27,16,2);

// Déclarer les variables
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 1000;
int pinInterrupt = 2;
int Count = 0;

// Fonction de gestion de l'interruption
void onChange()
{
if ( digitalRead(pinInterrupt) == LOW )
Count++;
}

void setup()
{
Serial.begin(115200);
pinMode( pinInterrupt, INPUT_PULLUP);
attachInterrupt( digitalPinToInterrupt(pinInterrupt), onChange, FALLING);
lcd.init();
lcd.clear();
lcd.backlight();
lcd.setCursor(3, 0);
lcd.print("Anémomètre");
delay(3000);
lcd.clear();
}

void loop()
{
if ((millis() - lastDebounceTime) > debounceDelay)
{
lastDebounceTime = millis();
Serial.print((Count * 8.75)/100);
lcd.setCursor(0, 0);
lcd.print("Vitesse du vent");
lcd.setCursor(0, 1);
lcd.print((Count * 8.75)/100);
Count = 0;
Serial.println("m/s");
lcd.print("m/s");
}
delay(1);
}

Ce code utilise la bibliothèque LiquidCrystal_I2C pour la gestion de l’afficheur LCD. Il utilise également une interruption pour compter les impulsions générées par le capteur d’anémomètre et calcule la vitesse du vent en fonction du nombre d’impulsions. La vitesse du vent est affichée sur l’écran.

Mesure de la vitesse du vent et test de l’appareil

Une fois que vous avez téléversé le code sur votre Arduino, vous pouvez commencer à mesurer la vitesse du vent et tester l’appareil. Lorsque les coupelles de l’anémomètre sont immobiles, l’écran LCD affichera une vitesse d’environ 0 m/s. La vitesse variera et augmentera lorsque vous placerez le capteur dans une région venteuse.

Observez les variations de la vitesse du vent affichée sur l’écran LCD en fonction de la rotation des coupelles de l’anémomètre. Cela vous permettra de mesurer et d’analyser la vitesse du vent dans votre environnement.

Utilisation d’un capteur anémomètre de vitesse du vent avec ESP8266 et Arduino IoT Cloud

Ce système utilise un capteur anémomètre à sortie d’impulsion NPN pour calculer la vitesse du vent en mètres par seconde. Ensuite, ESP8266 NodeMCU envoie les données à l’écran OLED et les télécharge sur Arduino IoT Cloud, ce qui vous permet de surveiller les données à distance de n’importe où dans le monde.

Anémomètre Capteur De Vitesse Du Vent Avec Arduino Et Esp8266

Composants requis

Voici les composants dont nous aurons besoin pour réaliser cet anémomètre IoT à l’aide d’ESP8266 et Arduino IoT Cloud :

  1. ESP8266 NodeMCU : C’est une carte de développement microcontrôleur que nous utiliserons dans ce projet pour lire la vitesse du vent et télécharger les données sur Arduino IoT Cloud.
  2. Afficheur OLED : Il est utilisé pour afficher les résultats de mesure.
  3. Capteur anémomètre : Un capteur à sortie d’impulsion NPN utilisé pour mesurer la vitesse du vent.
  4. Quelques fils de connexion : Ils seront nécessaires pour relier les différents composants entre eux.

Câblage et brochage

Le capteur anémomètre possède quatre fils : le fil marron est la broche VCC qui accepte une alimentation de 5 volts à 30 volts. Le fil noir est la broche GND (masse), le fil bleu est la broche de sortie d’impulsion NPNR et le fil vert est la broche de sortie d’impulsion PNP. Dans ce projet, nous n’utiliserons pas le fil vert.

Pour connecter le capteur anémomètre à ESP8266 NodeMCU, vous devez effectuer les connexions suivantes :

  • Connectez le fil VCC (marron) du capteur anémomètre à la broche Vin de l’ESP8266 .
  • Connectez le fil GND (noir) du capteur anémomètre à la broche GND du NodeMCU.
  • Connectez la broche de sortie d’impulsion NPNR (bleu) du capteur anémomètre à la broche D5 de l’ESP8266 NodeMCU.

Pour afficher la vitesse du vent, nous utiliserons un écran OLED I2C. Connectez les broches SDA et SCL de l’écran OLED aux broches D1 et D2 de l’ESP8266 NodeMCU respectivement. De plus, connectez la broche VCC de l’écran OLED à la broche 3,3V de l’ESP8266 NodeMCU et la broche GND de l’écran OLED à la broche GND de l’ESP8266 NodeMCU.

Anémomètre Capteur De Vitesse Du Vent Avec Arduino Et Esp8266

Interfaçage du capteur anémomètre à sortie d’impulsion NPN avec ESP8266

Une fois que vous avez correctement câblé les composants, vous pouvez passer à l’interfaçage du capteur anémomètre à sortie d’impulsion NPN avec ESP8266 en utilisant le code suivant :

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

const int interruptPin = D5;
volatile unsigned int pulseCount = 0;
float windSpeed = 0.0;

void IRAM_ATTR handleInterrupt()
{
  pulseCount++;
}

void setup()
{
  Serial.begin(115200);
  
  pinMode(interruptPin, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(interruptPin), handleInterrupt, FALLING);

  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) 
  {
    Serial.println(F("SSD1306 allocation failed"));
    for (;;);
  }
  
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0,0);
  display.println(F("Wind Speed Meter"));
  display.display();
}

void loop()
{
  delay(1000);
  detachInterrupt(digitalPinToInterrupt(interruptPin));
  
  windSpeed = (pulseCount * 2.4) / 1000; // Convert pulse count to m/s
  pulseCount = 0;
  
  display.clearDisplay();
  display.setTextSize(2);
  display.setCursor(0,0);
  display.println(F("Wind Speed"));
  display.setTextSize(3);
  display.setCursor(30,25);
  display.print(windSpeed);
  display.setTextSize(2);
  display.setCursor(90,35);
  display.println(F("m/s"));
  display.display();
  
  attachInterrupt(digitalPinToInterrupt(interruptPin), handleInterrupt, FALLING);
}

Ce code utilise la bibliothèque Adafruit_GFX et Adafruit_SSD1306 pour la gestion de l’afficheur OLED. La broche D5 de l’ESP8266 NodeMCU est utilisée comme broche d’interruption pour compter les impulsions générées par le capteur anémomètre. La vitesse du vent est calculée en fonction du nombre d’impulsions reçues, puis affichée sur l’écran OLED.

Mesure de la vitesse du vent et test de l’appareil

Une fois que vous avez téléversé le code sur votre ESP8266 NodeMCU, le capteur anémomètre commencera à mesurer la vitesse du vent. La vitesse du vent sera affichée sur l’écran OLED en mètres par seconde. Vous pouvez tester l’appareil en soufflant de l’air sur le capteur anémomètre et en observant les changements de vitesse affichés sur l’écran OLED.

En utilisant cet anémomètre IoT basé sur ESP8266 et Arduino IoT Cloud, vous pouvez surveiller la vitesse du vent à distance depuis n’importe où dans le monde. Cela peut être utile pour les applications météorologiques, la surveillance environnementale et d’autres projets nécessitant des mesures précises de la vitesse du vent.

Configuration d’Arduino IoT Cloud

Maintenant que vous avez terminé le câblage et téléversé le code sur votre ESP8266 NodeMCU, il est temps de configurer Arduino IoT Cloud pour visualiser et surveiller les données de vitesse du vent à distance. Suivez les étapes ci-dessous pour configurer Arduino IoT Cloud :

  1. Accédez à l’Arduino IoT Cloud en vous rendant sur le site https://create.arduino.cc/iot/. Si vous n’avez pas de compte Arduino, créez-en un en vous inscrivant sur le site.
  2. Une fois connecté, cliquez sur l’onglet “IoT Cloud” dans le menu de gauche. Cela vous amènera à la page de configuration de l’IoT Cloud.
  3. Cliquez sur “Create Thing” pour créer une nouvelle chose dans l’Arduino IoT Cloud. Donnez un nom à votre chose, par exemple “Anemometer” et cliquez sur “Next”.
  4. Sur la page suivante, cliquez sur “Add Variable” pour ajouter une variable à votre chose. Donnez un nom à la variable, par exemple “windSpeed”, sélectionnez le type “float” et définissez les autorisations sur “Read-only”. Cela permettra à votre ESP8266 NodeMCU d’envoyer les données de vitesse du vent à l’Arduino IoT Cloud.
  5. Une fois la variable ajoutée, cliquez sur “Add Property” pour créer une propriété associée à la variable. Donnez un nom à la propriété, par exemple “Wind Speed”, et sélectionnez la variable correspondante dans la liste déroulante.
  6. Maintenant, cliquez sur l’onglet “Devices” dans le menu de gauche. Cliquez sur “Create Device” pour créer un nouveau périphérique associé à votre chose. Donnez un nom à votre périphérique, par exemple “Anemometer Device”, et cliquez sur “Next”.
  7. Sur la page suivante, sélectionnez “ESP8266” comme type de périphérique et choisissez “NodeMCU 1.0 ESP-12E Module” comme modèle de périphérique. Cliquez sur “Create Device” pour créer le périphérique.
  8. Une fois le périphérique créé, vous verrez un identifiant de périphérique et une clé secrète associés à votre périphérique. Notez ces informations, car vous en aurez besoin pour la programmation de votre ESP8266 NodeMCU.
  9. Revenez à votre IDE Arduino et ouvrez le fichier “thingProperties.h”. Remplacez les valeurs des constantes “THING_ID” et “THING_SECRET” par l’identifiant et la clé secrète de votre périphérique.
  10. Ensuite, téléversez à nouveau le code sur votre ESP8266 NodeMCU. Cela mettra à jour la configuration avec les informations de votre Arduino IoT Cloud.

Maintenant, votre ESP8266 NodeMCU est configuré pour envoyer les données de vitesse du vent à l’Arduino IoT Cloud. Vous pouvez vous connecter à votre compte Arduino IoT Cloud pour visualiser et surveiller les données à distance.

En suivant ces étapes, vous pourrez configurer et utiliser Arduino IoT Cloud pour créer un système complet d’anémomètre IoT basé sur ESP8266 et Arduino. Profitez de la surveillance à distance de la vitesse du vent et explorez les nombreuses possibilités offertes par l’Internet des objets pour les applications météorologiques et environnementales.

Anémomètre Capteur De Vitesse Du Vent Avec Arduino Et Esp8266

Lien outilles

  1. Pour découvrir plus de tutoriel, vous pouvez consulter notre bloc : https://www.moussasoft.com/tutoriels-electroniques
  2. Twitter: Moussa Lhoussaine (@Moussasoft_com) / Twitter