Air Motion Detector

By: WardCunningham

2011-07-17 11:14:35

While neatening up my shop I got to thinking how nice it is to just measure something on a whim. Next thing you know I'm logging the temperature of my soldering iron. It's Currie controlled. But how fast and regular are it's cycles? I didn't know.


Fifteen minutes later I'm looking at the waveforms in a spreadsheet chart that just happened to have three lines, one for each of the DS18B20s that I happened to have in the setup. Each response was noticeably different even with them that close together. I also saw large variations that might be due to air movements. Hmm. Let's improve the apparatus.


Now this thing responds. I can blow gently on it and see a response within seconds. Gently fanning it with a file folder from a foot away works too. So then I leave the room to see what the air does while I'm gone.

This takes the power R to resolve. I download this open-source package and read a few tutorials to remember the basics. First grab the data, focusing on most recent.

r <- read('results.txt', sep='\t')
z <- tail(r, n=1024)

Label the columns and make them look like variables.

labels(z) <- c('w', 's', 'e', 'n')

Find the average of all the sensors and then compare the deviation from this for each thermometer pair.

b <- (w+s+e+n)/4

Plot can draw all kinds of charts but this is the default when you give it a collection of columns (click to enlarge).


This shows the slightest of air movement variability in the e-w direction. Notice that only the east thermometer is swinging 10 degrees. There are also some outlier samples created as I returned to shut down the acquisition. Interesting.

This also gave me a chance to reacquaint myself with R. My spreadsheet was choking on data that R read and processed in a blink. FFTs and convolution filters were just as easy. Power worth mastering.

Back to archive index