Considering all the possible combinations among Windows operating systems, Arduino IDEs and libraries, it is not difficult to get in trouble. What follows has been tested for several weeks.
1) Windows XP + IDE 1.0.6 + Arduino UNO work fine with sketches both not incorporating or incorporating the WIRE library.
2) Windows XP + IDE 1.6.0 to IDE 1.6.8 + Arduino UNO work fine if the sketch does not use the WIRE library. Of course the sketches developed for the ZERO cannot work with the UNO as the Processor is different.
3) Windows XP + IDE 1.6.0 to IDE 1.6.8 + Arduino ZERO work fine if the WIRE library is not used. Sketches with the WIRE library do not compile. E.g. Sketch_Universal_Translator_8 works, Sketch_Universal_Translator_8_I2C does not work.
AMENDED 16/5/2016: IDEs 1.6.6 and later have been modified & improved, therefore Windows XP + IDE 1.6.6 to IDE 1.6.8 + Arduino ZERO work fine with or without the WIRE library.
4) Windows 7 + IDE 1.6.0 to IDE 1.6.8 + Arduino ZERO work fine with both sketches, e.g. with or without the WIRE library.
Enclosed are PC shots of system operation with Picolog 1012 DA. Remember to set the AREF to 2.5V in the sketches. Also consider that the Optocoupler output transistors are losing 200 mV approx., so that the PWM peak is at 2.3V and this loss introduces an error that must be corrected in Picolog (table or equation or file). Another way to overcome this problem is to set AREF @ 2V, while leaving the Opto feed @ 2.5V, restricting the dynamic range and correcting the excess again in Picolog. I do not advise to set the Regulator @ 2.7 V, as this might damage the 1012 inputs in the long run.
Since the 1012 does not have a +5V output as the DrDAQ, a simple USB "cheater" can be used to "steal" the 5V to feed the Optocouplers supply from the PC USB bus.
Once these issues are addressed, calibration stability is excellent.
ADDITIONAL CONSIDERATIONS REGARDING THE I2C FACILITY
It is not easy to make I2C work because of many different issues involved. Generally speaking, any I2C sensor device requires its own library and furthermore I2C itself requires the WIRE library. In the I2C sketch presented: sketch_Universal_Translator_8_I2C, we have:
#include and
#include
is the generic I2C library, while is the specific library for the Temperature Sensor device. Both libraries MUST be loaded into the libraries directory of the Arduino folder present in the Programs directory of the "C" HD. In general the specific sensor libraries are downloaded from site in compressed form and often, when de-compressed, they are within one folder contained by another folder. Files .cpp and .h must be identified and the external and reduntant folder MUST BE eliminated. Even the smallest imprecision in this respect will cause problems with sketch compilation.
With the Buffer/Isolator in operation and the two laptops connected to the mains through their PSU bricks, the resistance between the sensors' ground and the Picolog 1012 ground is virtually not measurable with a digital ohmmeter and in the order of tens of megahoms.