Go Down

Topic: Station méteo GSM  (Read 4752 times) previous topic - next topic

fitness04

Bonjour à tous,

Je travaille également sur une mesure de direction et de vitesse du vent avec un ensemble Anémomètre-Girouette de marque DAVIS 7911 que j'ai récupéré.

Je n'ai que deux mois d'expérience sur Arduino et j'apprends en tâtonnant et grâce à ce forum.

Ces caractéristiques sont ici :

https://www.meteo-shopping.fr/files/mode_emploi/Anemometre-girouette-standard-7911_SS.pdf

Je ne sais pas bien comment le brancher sur l'Arduino au niveau électronique.

Faut-il le câbler comme sur le circuit utilisé par ParaSeb ?

Ce capteur était utilisé sur une balise Météo FFVL. Les fils jaune et vert sont reliés ensemble.

Donc, je sollicite votre aide pour le câblage.

Pour l'instant, j'ai un programme qui fonctionne pour l'Anémomètre que j'ai câblé direct entre la masse et l'entrée digitale 2.

Je ne traite pas l'anti-rebond et il faudra sans doute que je le fasse comme indiqué sur le schéma de ParaSeb. Votre avis ?

Je poste ci dessous le code qui fonctionne après pas mal d'essais :

Merci pour votre aide.

Code: [Select]
//Anémomètre DAVIS 7911 - Doc : https://www.meteo-shopping.fr/files/mode_emploi/Anemometre-girouette-standard-7911_SS.pdf
//Inspiré de la discution : http://forum.arduino.cc/index.php?topic=501458.0
//Fonctionne mais non encore testé pour voir si valeurs cohérentes !

const byte interruptPin = 2;
unsigned long timeold;
int nombreTourSec = 0;
float vitesseVent(0);
float FEtalonage(1);
volatile unsigned int comptageILS = 0; // une variable utilisée dans une interruption doit être déclarée "volatile"

void interruptILS() //comptage de l'ILS
{
  comptageILS++;
}

void setup()
{
  Serial.begin(9600);
  pinMode(interruptPin, INPUT_PULLUP);
  //  attachInterrupt(digitalPinToInterrupt(interruptPin), interruptILS, CHANGE);
  attachInterrupt(digitalPinToInterrupt(interruptPin), interruptILS, FALLING);
  timeold = millis();
}

void loop()
{
  if ((millis() - timeold) > 1000) { // durée d'1 seconde
    nombreTourSec = comptageILS; //comptage du nombre de tours par seconde
    vitesseVent = 0.2762 * nombreTourSec;
    Serial.println(comptageILS);
    comptageILS = 0; // réinitialisation du comptage
    Serial.print("Vitesse du vent = "); // affichage des valeurs
    Serial.print(vitesseVent);
    Serial.print(" km/h\r\n");
    timeold = millis();
    vitesseVent = 0;
  }
}
Fitness04 - Newby!

Go Up