This circuit is a simple 4-channel data logger with infrared remote control and a 2-line LCD driven by a PICAXE 28X1 microcontroller (IC1).
Each channel has an analog input with 10-bit (5mV) resolution. The logged data is stored in a low cost 32KB serial EEPROM (Electronically Erasable, Programmable Read-Only Memory) IC (IC2). The channels are sampled at a configurable interval which can range from a few seconds up to about 18 hours. The logged data can be downloaded to a PC via a serial port.
The microcontroller communicates with the EEPROM IC using the 2-wire I2C (Inter-IC Communications) protocol. Each reading takes up two bytes, so if all four channels are used, 4096 intervals worth of data can be stored.
The signals for analog inputs 1 and 2 can be attenuated using trimpots VR1 and VR2 respectively. This allows signals to be logged that may be in excess of 5V. Inputs 3 and 4 do not have such provision but it could be added if necessary.
While logging, the LCD displays the last readings taken and a countdown to the next reading. It is also used to display menu options which can be selected using a universal infrared remote control. The menu options include: start/stop logging, download data, clear data, change logging interval, apply scale factor to data, change number of channels, ADC input calibration and internal timing adjustment.
The software provided is set up to suit a Cobalt PLAU0067 remote control but can be changed to suit virtually any universal remote. The
easiest way to do this is to un-comment the line which causes the logger to immediately go to the infrared keycode checking routine when power is applied. This displays the code for each button press on the LCD and this code can then be programmed in for future use.
Data is downloaded to a PC using the in-circuit serial programming (ICSP) header. This interface does not support RS-232 signal levels so it may not work with some serial ports but most USB-to-serial port adapters should be suitable. The serial port on the PC must be set up as 9600 baud, eight data bits, no parity bit, one stop bit (9600-8-n-1). Hyperterminal or other similar software can be used.