Post date: Feb 27, 2015 5:55:54 AM
After I retired, it occurred to me that I might profitably update my electronics skills. I had learned electronics on the inspiration of my cousin David in 1951. In those days everything was wired together vacuum tubes, transformers, resistors, and condensers. I built a lot of Heathkits, but never became proficient in Morse code, so I couldn't take the amateur radio license.
Of course, now everything is integrated circuits and computer software. In the photo (double-click to enlarge), the computer on a board is about 2" x 3", with an SD card visible on top, is at the lower left. The top is a telephone wiring block. The black wires lead to the temperature sensors (DS18B20) embedded in stainless steel.
So, when I read about the method of passive solar heating, and read that the writer had engaged a Dartmouth College engineering professor to measure temperatures around the house, I thought I might repeat that test. And when the heating engineer was skeptical of this heating method - but later came around far enough to calculate that I would never have to buy heating fuel - I decided to ask him where to put the temperature sensors.
However, my native computer language is FORTRAN, followed by BASIC and SQL. The Arduino PIC (Peripheral Interface Controller) is programmed in a dialect of the C language. Let me tell you, C is pretty far removed from SQL, BASIC, and FORTRAN. I never considered myself a programmer, and have only sporadically done any coding over the past 10 years. So, needless to say, I have a few errors in my code that are driving me nuts. One advantage of using the Arduino is the very large amount of tutorials, help sites, free software, and plug-in hardware available.
So the bases for my code are free 'sketches' that do all the hard work of reading the sensors, reading the clock, and writing the data to a memory card. And each of these functions does work well separately with the hardware I have assembled. The temperature sensors are amazing and they cost under US $2 each. I can string as many as I like along a telephone wire. Each sensor is a miniature computer chip in a robust, waterproof container. The computer function searches for devices on the wire and returns the address of each. I then send each a command to compute the temperature and, within a second, it returns the temperature.
Of course house temperature changes very slowly, so I want to record readings every hour. At present, this timing is my biggest holdout. I can easily get ten temperature readings (from the ten sensors I have) with the time and address written to the memory card. I can read this card with the spreadsheet on my laptop. But the ten readings only take ten seconds. I'm clearly not very good at telling the computer to waste time.
Next day - finally got it working mostly correctly. The only problem is that it writes two sets of column headings, which I can abide. I have had it make 7 sets of measurements, spaced one minute apiece. This lets me compute the file size needed: my 4 gigabyte memory card will hold enough hourly readings for 100 years!