[SOLVED] measuring the wind speed

Hello

In my home the wind is really nice, in evenings it's windy and good to relax but some days is calm, so it is a good thing to measure with Arduino, just for fun, and even go forward and build a meteorologic station.

any idea how to start one?

If you would use a fan and check how fast it rotates you could get an indication of wind force.

The example below uses a beam of light and checks how often a propeller interrupts the beam.
By comparing the rpm of your fan with the windspeed given by local whether-stations it should be possible have arduino display the correct windspeed.

http://playground.arduino.cc//Learning/Tachometer

You might find this link useful.

The simplest way to measure wind speed is probably using a cup anemometer with three cups;

Once you have built it all you need to do is measure the speed of rotation of the shaft.

The location of your anemometer will be important to the readings you get. Ideally you want it mounted so that the wind is hitting it horizontally most of the time so you want to avoid areas where the wind would be turbulent or in the windshadow of trees, buildings etc.

Simpson_Jr:
By comparing the rpm of your fan with the windspeed given by local whether-stations it should be possible have arduino display the correct windspeed.

Actually, the most practical way to calibrate an anemometer, is to use a car (with a GPS).

thank you guys, the infrared sensor goes fine to me, because i take one of from an old printer, and I wanted to use it, but I just reed that the infrared sensor gets some kind of interference with the sun light; I has tinkling in one hallefect sensor, but I guess I can solve it with tricks in the hardware...

thank you guys because now I get a better idea.

I have to take it off from the weather and the hot of the sun; data logging and showing data and stuff.
pd: if you have some advice in doing the hardware please tell me.

Hello

It has been a long time, returning to this topic i found a pc fan that it has a hall effect complementary latch, it feels the north or south pole of the magnet and latch between 2 pins depending to the pole , I try to make it works but I'm having some troubles.

and the important it turns when the wind blows.
I don't understand electronics too much so I need a Little help to make it work, the ic is a ?Complementary Output Hall Effect Latch ATS276/277

//---
I guess the 276 has two digital outputs or so but arduino always read 0, just when i plug a higher voltage 9v it reads 1 but I think it is dangerous for arduino because the multimeter reads 8.4v, and also I gees is possible to use 5 volts or less, the data sheet says that it works with 3.3v until 20v .

I'm using the test circuit with out the bypass caps. here is the datasheet
http://diodes.com/datasheets/AH276.pdf

thanks a lot.

The chip will work at a Vcc over the range shown in the datasheet but perhaps it is more sensitive at your 9vdc testing voltage.
The important thing to understand is that the output voltage can and should be different then the devices operating voltage. This is because the two output pin voltages are whatever the voltage you apply to the other end of the two pull-up resistors shown in the test circuit. R1 and R2, they are called open collector output pins. For use with an arduino you should just not use those resistors at all and just wire the outputs (and you probably don't need both, unless you wish to) directly to arduino input pins. Then in your sketch do a pinMode(pin#, INPUT_PULLUP); in your startup function. This will supply the internal resistor for the input pin that will make the level either 0vdc or +5vdc independently of the voltage level you apply to the sensor's Vcc pin.

Good luck with your project.

PS: you should add the bypass capacitor for best reliable results.
Lefty

ok I'll try and tell you what hapened.
thanks

[....EDIT....]

IT WORKS!!
Whit this simple code:

char cadena[15];
void setup(){
pinMode(4,INPUT_PULLUP);
pinMode(5,INPUT_PULLUP);
Serial.begin(9600);
}
void loop(){
sprintf(cadena,"Lectura: %u, %u", digitalRead(4),digitalRead(5));
Serial.println(cadena);
delay(1000);
}

I get this:

Lectura: 1, 0
Lectura: 1, 0
Lectura: 1, 0
Lectura: 0, 1
Lectura: 0, 1
Lectura: 1, 0
Lectura: 0, 1
Lectura: 1, 0
Lectura: 1, 0
Lectura: 1, 0
Lectura: 1, 0
Lectura: 0, 1
Lectura: 0, 1
Lectura: 1, 0
Lectura: 0, 1
Lectura: 0, 1
Lectura: 0, 1
Lectura: 0, 1
Lectura: 0, 1
Lectura: 0, 1

In the test I used a little toy with a magnet in the bottom, the "Lectura" (Read) change depending on the position of the magnet; now is time to set it up and test for the measurement of the wind speed, with the spindle.
Thanks a lot.
XD

Hey all

I have been playing around with this and here is what I get, quite interesting results, just using one pin as Lefty suggested; )
I want to measure the actual speed of the wind, taking a sample, but don't know how to do it yet, if you have some advice please tell me, I guess just for now I can measure graphically the wind force, or the proportion of the revolutions of the pc fan in a period of time.
Just for the test I put the pc fan in front of an air stream, zooming in an out

this is the code:

unsigned long ms = 500;
unsigned long oms;
int vel;
boolean latch;

void setup(){
  pinMode(4,INPUT_PULLUP);
  Serial.begin(9600);
  Serial.println("Wind Force");
}
void loop(){
  int candado0, candado1;
oms = millis();
while((oms + ms) > millis()){
if(digitalRead(4)){
  //Serial.print("-");
latch =1;
candado1++;
candado0=0;
}
else{
  //Serial.print(".");
latch=0;
candado0++;
candado1=0;
}
delay(1);
if((latch == 1) && (candado1 == 1))Serial.print(".");

}
Serial.println("");
vel=0;
delay(ms);
}

and again this is the result in the Serial.monitor:

Wind Force

.
........
.............
.................
..................
......................
.........................
..........................
.............................
...............................
.................................
.................................
.................................
.................................
................................
. <-----my finger being cut
.....
.................
......................
........................
....................
..................
...................
...................
.................
.................
.................
....................
.........................
............................
...............................
..............................
....................
.............
............
...............
....................
.........................
...........................
.............................
................................
.........................
.................
.........
.....

... <----- a hand turn on the desktop

Thanks for reading and advice.

read about wind socks. these are the things used at airports. they fill with air and dependant on the wind pressure, they extend horizontally. the more wind, the more horizontal.

these are primary devices, so they act with the actual wind pressure.

you can take a box, cut a hole, tape some paper over the hole, then blow air into the hole. the more the paper goes horizontal, the stronger the wind.

it would help you get a device as a comparison. you did not mention what speed you want to measure. higher speeds can be done with a car. just put your sensor out the window and drive at some speed.

Just don't car test on a windy day.

If you put a clear straw in colored water and blow over the top of the straw you will see water rise in the straw. That's because the pressure of the air blowing over the straw is lower than the pressure of the air over the water.

That same (Bernoulli's) principle can be turned in many ways to measure different wind speeds.