Arduino 1-Wire Device Libraries
The libraries presented here provide the building blocks needed to easily communicate with the underlying One Wire system on the Arduino platform. In subsequent sections I will present higher level libraries that build on these in order to represent functional weather instruments, like a temperature/humidity gauge, wind speed and direction gauge and a pair of tipping bucket rain gauges. And, finally, I will present the completed weather station that integrates all of these (plus some additional I2C sensors).
In the spirit of DIY and open hardware and software, I happily share what I have learned from this endeavor with the community. Please keep in mind that this is not a "product" and was tailored for my own needs. There are plenty of omissions of features that others might like to have in a library like any of these. Hopefully, the design of this software will allow for easy extension should anyone choose to add features or capabilities.
Because this documentation was compiled at the end of a multi-year transit, it is difficult to remember exactly how I got to this point. Most of what I know about the individual Dallas-Maxim devices and how I have implemented solutions for using them comes from the datasheets. I have also learned much from the One Wire community that has come before me. In all likelihood I have unintentionally "borrowed" from my predecessors as well. It is not my intention to take credit for any one else's work. I have tried to refer to original sources wherever possible.