Xronos update: Better temperature sensor, etc.
I might have already mentioned that I’ve seen issue with temperature reading fluctuating but big amounts (up to 5 F sometimes). Culprit seems to be with analog temperature sensor LM35dz. After doing some research I found that this sensor is highly sensitive to noise, and since I had it on the extension cable it was picking up interference.
So to remediate this issue I switched to a better, but a little more expensive digital sensor: DS18B20.
I was a little worried about added complexity to already convoluted code since this sensor requires 2 extra libraries: OneWire and Dallas Temperature. Fortunately it was extremely easy to implement, almost seamlessly. And it worked from the the get-go! Seems very accurate too and stable. However besides changes to the code biggest issue was that this sensor requires 4.7K resistor. For now I just soldered it to the PCB on the surface, but in the next revision I will add it to schematic.
While working with temperature I added additional functionality to the code. Now user can choose between Celsius and Fahrenheit. This will affect temperature display and voice announcements.
Next step is to add photo-resistor for automatic LED dimming in the dark.
Tags: arduino, DS18B20, xronos clock