Weather project
I have this idea that it would be really nice to keep track of the weather where I live. I know that I can just turn on my TV and watch the Weather Channel but I’m really more inclined to come up with my own technology solution.
I simply want my own personal weather station. I already knew that I didn’t want to dedicate a PC for a weather data collector. If I keep a PC on all the time just to collect data means I’m NOT collecting data if I lose power. If I use a battery powered micro controller, keeping the battery trickle charged from a wall outlet, I would still be collecting data during storms where the potential for power loss is high and when the data being collected is useful.
Being a big fan of micro-controllers, I’m looking into the Parallax BASIC STAMP or the AVR-Based Arduino as a quick way to test out some ideas for weather data sensors.

I learned during my research on the subject that nearly ten years ago Dallas Semiconductor had created a showcase for their 1-wire sensor products in the form of a simple weather station. The Dallas weather station has a Wind Direction Vane, a Wind Speed Anemometer and a temperature sensor.
After a quick trip to EBAY.com, I soon won an auction for a unit of my very own. It turns out that I bid on one of the Original Dallas Semiconductor units. This is somewhat of a complication as this version did not see as many units built as the “version 2″ model built by AAG of Mexico.
All this really means… is that I’m going to have to write a lot of my own code from scratch instead using of what I could find “as-is” published in “NUTS & VOLTS” magazine by the Basic STAMP guru, Jon Williams.
The primary differences between the first model from Dallas and the following AAG model is the fact that the Wind Vane section uses an Analog to Digital converter with a potentiometer instead of magnetic reed switches and silicon serial number chips.
On my unit, when the wind vane moves a magnet inside the unit. This moving magnet closes magnetic reed switch(es) that supply power to 1 or 2 of the 8 Silicon Serial Number devices. The 1-wire master device will search the 1-wire bus and depending on the serial number sent by the device(s) that respond… the position of the wind vane can be determined.

Any solution I come up with needs to constantly search the 1-wire bus and then check the responses against a pre-built table to determine wind direction. It also means that I need to know, in advance, which serial number corresponds to each of the 8 compass directions.
This method does make the version 1 weather station more complicated to setup and monitor. My first tests are going to be done with the Parallax Basic Stamp2P version. The “P” version has more capabilities, including direct support for 1-wire bus devices.
Example Wind Vane response list:
1E00000273822601 3700000273B16F01 540000020057CC01 AE0000020057D401 720000020057D001 FB00000273790101 2000000273AB3401 BD00000273823D01
Notice that each serial number ends in 01. This is the ID section of the number that identifies the device as a Silicon Serial Number device.
Temperature sensors would look like:
5B000000261EB010
So, once we have a temperature sensor ID, we can then send a query to that device ID and ask for a temperature reading.
The real beauty of 1-wire technology is that it really only needs two wires (signal and ground) to create a small “network” of devices that can each be queried uniquely.
Dallas Semiconductor was eventually aquired by Maxim Semiconductor. In 2001, Dallas Semiconductor became a wholly owned subsidiary of Maxim Integrated Products. This also seems to be beginnings of a period where things start to get very quiet on the 1-wire front. Sure, there were still 1-wire products being developed but from the software development standpoint things started to get stale.
Dallas focused alot of attention on JAVA, for example, but the developer tools are now very out of date. They did some C# too but you’d have to locate a really old C# compiler to make use of it. This means that as a PC based 1-wire developer your will need a huge amount of overhead and code bloat just to query a simple 1-wire device for the temperature. When you consider that you can get a micro-controller to do this with a few lines of code… you might come to the same conclusion I did. Let’s chuck the PC and JAVA and do it the simple way.
With the Basic Stamp 2P, the 1-Wire™ devices are supported with two easy-to-use commands:
OWOUT pin, reset, [output data]
OWIN pin, reset, [input data]
The choice for me was simple. I’ll follow up with some examples.
