Sembrano identici, ma servono solo per una misura approssimativa della velocità del vento.
Infatti, vengono usati per sollevare le tende da Sole in caso di forte vento.
Non sono adatti per precise misure meteo avendo una scarsa precisione (1 impulso/giro): considera che i sensori professionali costano anche 10 volte di più.
void loop() {
ce = 0;
t = millis();
for (se = 0; se < 10000; se++) {
state = digitalRead(AnPin);
if (state != oldstate) {
ce++;
oldstate = state;
}
}
t = millis() - t;
ce = ce / 2;
f = 1000 * ce / t;
Va bene ? Compilalo e di sicuro ti da errori. se=0 e dove l'hai dichiarata la variabile se ?
Int non è un tipo valido. int si. Il linguaggio C è case-sensitive.
Ti consiglio la lettura del pdf free in italiano, cerca "Tiziana Marsella Programmare Arduino" e anche il pdf free di simone Majocchi Primi passi in Arduino con la scheda Genuino UNO.
Diciamo che è un piccolo debouncing
Ovviamente gestito con interrupt come consigliato da cyber
Se usi cavi lunghi meglio una Rpull up da 4.7 e non da 10 kohm
Comunque più che il metodo di funzionamento con relé reed (usano lo stesso metodo anemometri da 180 euro), a essere scadente è la qualità dell'anemometro di costruzione.
Per il codice prendi ispirazione da QUESTO e mi raccomando usa i TAG CODE!!!
Soprattutto studia un po' il C come ti ha consigliato nid..
Quello di cyber va bene come circuito ovviamente, ma è senza questo piccolo debouncing che può aiutare con condensatore e resistenza; e comunque la resistenza di input pull up è da 20 a 50 kohm e sinceramente è un po' altina con cavi lunghi. Anche sui 5/10 metri forse avresti problemi con quella pull up in questo caso ovviamente. In altri casi va benissimo