AA fundamental necessity of any controls system is the ability to track time. As far as we are aware, the Arduino has three methods it can employ:
1. Serial. Repeatedly get the time over the Serial connection.
2. External Hardware. Real-time clocks, like the ChronoDot from Macetech, establish a base time when the Arduino sketch is compiled. When you request the current time in the sketch you actually receive a time based on the time that has elapsed since compilation.
3. Ethernet. Access time using the internet NTP service.
This tutorial set focuses on option 2. In Part I we explain the basics of getting the ChronoDot set up and displaying the current time over serial. You can find more projects using the ChronoDot in our upcoming book, Automating Aquaponics with Arduino
. Edit: For some reason I couldn't edit Part II, so it has been deleted and will be added to this instructable. The ChronoDot
The ChronoDot is a high precision real-time-clock (RTC) and boasts a number of features needed for Aquaponics. The V2.1 release introduced the DS3231SN chip, which has an industrial temperature range of -40C to +85C and outputs a temperature compensated time - important for aquaponic control systems that reside outdoors in the heat and direct sun.
The ChronoDot includes an onboard battery cell for a CR1632 battery, allowing the clock to keep track of time should the Arduino lose power, regain power and restart. Anyone in aquaponics can appreciate the ability of a control system to automatically reboot and resume operation in the event of a power glitch. The disadvantage of the ChronoDot, and RTCs in general is the inability to handle Daylight Savings Time.
The Environment DAQ
can be configured with the ChronoDot using the prototyping area, which is exactly wide enough to handle the RTC (coincidence?).