I have posted a sketch for logging data from a TekPower TP4000ZC or Digitek DT4000ZC multimeter as TP4000ZC20130427.zip
Instructions for interfacing the meter to an Arduino are included. The interface consists of a standard audio cable with 3.5 mm plugs, a 3.5 mm socket, and a 10k resistor.
The sketch TP4000ZC.ino is a data logger for TekPower TP4000ZC and
Digitek DT4000ZC multimeters.
This sketch requires the SdFat library located here:http://code.google.com/p/sdfatlib/downloads/list
An Arduino interface for the meter is described in interface.txt.
logger.jpg shows my debug setup.
The meter protocol is defined in TP4000ZC_serial_protocol.pdf.
Links to other meter info are in meter_info_url.txt.
The sketch was debugged with an Adafruit Data Logging Shield but
any SD module/shield should work.
Data is logged to a file named DMMLOGnn.CSV where nn is a number 00-99.
The csv log file has three or four columns depending on the value of
For MULTIPLIER_FORMAT = 1 the format is:
<time in seconds from boot>,<value with multiplier>,<units and other info>
For MULTIPLIER_FORMAT = 2 the format is:
<time in seconds from boot>,<value>,<multiplier number>,<units and other info>
For MULTIPLIER_FORMAT = 3 the format is:
<time in seconds from boot>,<value>,<multiplier character>,<units and other info>
possible multiplier characters are
'n' - nano
'u' - micro
'm' - milli
' ' - multiplier of one
'k' - kilo
'M' - Mega
The following are configuration parameters:
const uint8_t DMM_RX_PIN = A0; // DMM connected to analog pin 0.
const uint8_t DMM_TX_PIN = A1; // Analog pin 1, not used.
const uint8_t SD_CS_PIN = SS; // SD chip select pin.
// Options for multiplier format are 1, 2, 3
#define MULTIPLIER_FORMAT 3
// If ECHO_TO_SERIAL is nonzero, print record to Serial.
#define ECHO_TO_SERIAL 1