Thursday, 14 March 2013

Massively over-engineered thermometer

Went a bit daft tonight and tried out the Arduino TV Out library along with the 1-Wire library to make a slightly mental video screen thermometer.  The temperature here is 17.68 expressed as 1768 hundredths of a degree.  The DS18B20 has a very impressive 12-bit resolution so it is accurate to 0.625 degrees Celsius allegedly.

It works well enough for a bit of fun, but the TV Out library relies on accurate interrupts to get the video signal timing right and while it is fine on its own, the complex polling of the 1-wire bus must be disabling the interrupts because the screen flickers badly each time a temperature update is performed.

The flickering screen reminds me of the ZX80 or the ZX81 in 'fast' (i.e. rubbish-looking) mode, which isn't surprising because the Arduino is in a similar class to the Z80, except twice as fast and with a lot more memory than either of the original Sinclair computers.

I'm thinking of converting one of the 7" LCD monitors to an RS232 terminal using an Arduino as the bridge from the serial communications to the video screen.  I want to investigate how the Arduino interfaces to a 4-wire resistive panel as I've seen details of a library online that looks very straightforward so there is a possibility of a cheap versatile B&W touch terminal here.

No comments:

Post a Comment