The win for this week was completing the breadboard development and getting towards a proof-of-concept prototype. Several new mechanical, electrical, and software features came together to make this work.
Mechanical. I redesigned the enclosure to better capture the digital tire depth gauge and spring. I increased clearances between parts to ensure that the design would still print well even on a hobby level 3D printer. I also made some modifications to the plate that sits over the digital gauge PCBA to allow access to the button pads.
Electrical. I added two 2N7000 mosfets. One to control power to the digital gauge. The other to achieve a "Units" button press.
Software. Successfully able to read the digital signal from the digital gauge, capture current time from the RTC, and record to a SD card. I have also incorporated a sleep routine for power saving. The RTC alarm gets set, Arduino goes to sleep, and the RTC wakes up the Arduino at the time of the alarm.
The maximum amount of time that the device can be asleep for is 4 minutes. Any longer and the digital gauge itself goes into a sleep mode from inactivity. The "Units" are toggled from "mm" to "in" and back to "mm" each time the Arduino is woken up to ensure that the digital gauge does not go to sleep.
Unlike other calipers, the digital tire depth gauge does not store the last state prior to going to sleep or powering down. Instead, it resets to zero anytime it turns on. The only way to combat this and not allow reset to zero for the OpenDendrometer application is to ensure that the digital gauge always remains active.
Next Steps. Only remaining feature to add is the battery and battery voltage monitoring circuit. Thought is that once the voltage drops too low, cut power to the digital gauge and maybe some of the other components. Save enough power to transmit the data when wireless capabilities are added.