Programmation pour un anémomètre

Salut!
Je suis en plein projet de terminale STI2D.
Mon projet consiste à capter la vitesse du vent avec un anémomètre et si la vitesse du vent dépasse 50 km/h faire que le moteur baisse le système.
J’ai déjà étalonné mon anémomètre et trouvé le rapport entre la fréquence donné par l’anémomètre et est essayé de bidouiller un programme sur Arduino mais rien de très concluant.
J’aimerais donc avoir de l’aide pour mon programme Arduino.
Merci d’avance à tous :slight_smile:

Ce n'est pas nous qui sommes noté !!!!! On ne vas pas te faire un programme tout cuit.

Montre nous ton code et on t'aidera. tu ne nous donne pas assez d'infos pour que l'on puisse t'aider.

Voilà mon code pour l'instant const int Anemo = 8;

unsigned long duration; unsigned long impulsion;

int Anemo_Push_Counter = 0; int Anemo_State = 0; int Last_Anemo_State = 0;

void setup() { Serial.begin(9600); pinMode(8,INPUT); }

void loop()

{

Anemo_State = digitalRead(Anemo);

if (Anemo_State != Last_Anemo_State)

{ Anemo_Push_Counter++; }

Serial.println (Anemo_Push_Counter);

delay (100);

}

Mon professeur m'a aidé à le faire et je ne comprend pas tout

|500x248

tu comptes simplement les high, c'est tout. de plus à quoi ca sert de mettre

unsigned long duration;
unsigned long impulsion;
..
..
..
..

 if (Anemo_State != Last_Anemo_State)

Bonjour,

D'accord avec infobarquee, il suffit de compter le fronts montants pour pouvoir déterminer la fréquence.

Par contre si tu mets un delai de 100 ms dans ta boucle tu est sur de perdre des tops.

Ce qu'il faut que tu fasses, c'est que tu comptes le nombre de tops pendant un certain temps (0.1s 1s ça dépend de la fréquence pour avoir une bonne résolution) ensuite tu calcules la fréquence, la vitesse et tu l'affiches puis tu recommence sur l'intervalle de temps suivant.

Bonjour,

Merci pour ces infos, mais je ne sais pas ce qu'est un tops, pourrais m'expliquer s'il te plait kamil.

Bonjour,

un top c'est une impulsion, c'est un changement d'état de 0 à 1 (ou de 1 à 0).

D’accord je savais je n’avais juste jamais utilisé ce mot, du coup au niveau du code comment je peux faire que la carte matrix va prendre chacune impulsion et avoir ma fréquence?

Salut,

Je partirais sur l'utilisation d'une interruption sur 1s, afin de déterminer le nombre d'impulsions, puis en déduire la vitesse du vent, il y a de nombreux exemples sur le net, recherche station météo arduino .

@+