[HW] Getting started: Wind speed measurement

Il sensore per la velocità del vento è molto simile a quello per la velocità in acqua.

Esso è composto da una rotella con tre pale ed un sensore di Hall.I
 
Prima di tutto ho cercato di capire il ruolo di ogni cavo:
  • Rosso: +5v
  • Nero: ground
  • Giallo: output sensore hall
Iniziamo le misurazioni...
Mentre il sensore è collegato ad una sorgente di 5v, con il voltmetro andiamo a misurare la differenza di potenziale tra il cavo giallo e quello nero.
 
In una rotazione completa misuriamo 2 volte 0.5V e 2 volte 0.0V.
Proviamo ora ad utilizzare un Arduino per vedere cosa viene fuori dal sensore:
  • Rosso 5V
  • Nero GND
  • Giallo  PIN A0
int sensorPin = A0;    // select the input pin for the potentiometer
int sensorValue = 0;  // variable to store the value coming from the sensor
 
void setup() {
}
 
void loop() {
  // read the value from the sensor:
  sensorValue = analogRead(sensorPin);   
  // print the value:
  Serial.print(sensorValue);                
}
 
Troppo facile! Ci fa vedere, però, esattamente come il funziona il sensore.
 
Per leggere con maggiore accuratezza i due valori di picco abbiamo bisogno di una resistenza tra il pin 5v e il pin che usiamo come input. 
(Ho usato un potenziometro da 22k.)
 
Invece di usare una resistenza o un potenziometro, perchè non chiediamo ad Arduino di farlo per noi?
"A pin may also be configured as an INPUT with pinMode, and subsequently made HIGH with digitalWrite, this will set the internal 20K pullup resistors, which will steer the input pin to a HIGH reading unless it is pulled LOW by external circuitry."
 
 
 
Italiano
Image: 
Speed sensor
Cables