This Garduino takes input from various sensors and logs it to an SD card on a Logger Shield. The moisture sensors and light sensors both generate a frequency of pulses as their output, and there is only 1 timer input on the Arduino Uno that can measure this (pin 5), so I use a 74LS151 Multiplexer to put these signals on pin 5 and use Pins 7 (D0),8 (D1), and 9 (D2) to addresses the various inputs. The LM335 temperature sensor is an analog device which I can simply plug into the analog pins of the arduino and do an analogRead, but the SD shield uses A4 and A5, which leaves me with 4 free analog inputs. Although I am only supporting 4 temperature sensors now, I decided to use an 4051 analog multiplexer to put all the temperature signals onto A0, leaving A1-A3 free for future purposes. Pins 7-9 are also used to set the address on the 4051 as well. Because the electrolysis that occurs on the probes of the moisture sensors when sending a direct current through the damp soil, the moisture readings will change over time, so it is best to test the soil resistance (the de facto measure of soil moisture) with an alternating signal. The 556 and 555 supply this alternating signal to the 3 moisture probes. This is the schematic of the complete circuit board.
The left hand ribbon cable connector leads to another ribbon cable connector soldered onto Logger Shield. Pins 1 & 2 connect to the Arduino +5V and GND, pin 3 connects to the timer pin 5 on the Arduino, pins 4, 5 and 6 connect to Arduino pins 7, 8, and 9 for the multiplexer addressing, and pin 7 on the connector leads to the A0 pin on the Arduino pin to read the analog values of the temperature sensors. The 20 pin ribbon cable on the right is to interface to the sensors, which will be discussed in a later blog entries.
I decided to use the EAGLE software to build my first PCB, which was produced by BatchPCB. It took about 3 weeks to get the board after ordering it, which was apparently fairly fast, but BatchPCB trades time for cost, and the total cost of the board was about $30; far less than you would pay for other services.
This is a picture of the completed board attached to the Arduino Logger Shield.
Somehow 2 connections which where on the Schematic did not make it on the Layout and onto the PCB, but luckily, it was fixable. I still have a lot to learn about EAGLE.
interesting article. I dont use the 555 and 556 much but I presume they are used as an RC frequency generator with the soil as variable resistor setting the frequency.
Have been thinking to do something similar (using a SchmitttriggerOscillator), but then use the capacitance from the soil to set the frequency. Capacitance is a better measure for soil humidity than resistance. Resistance measures the dissolved ions in the soil, not the humidity per se..
In an experimental set up this worked well, but as the frequency wasnt rock solid stable I need to take at least 100 readings and average that. That showed a fairly stable read out (meaning that the average og the one hundred readings was similar to the average of the next 100).
I havent been too happy with most software to determine the frequency (I basically measure pulse width) so I will have a somewhat closer look at yr software and see if i can steal from that.
a bit of reading up and i see you are using the 555 in its direct feedback mode