Computer Science Project




The project uses an analog-to-digital converter (ADC-42) from Pico. ADC-42 is a 12 bit converter that produces values in the range 0 to 4095 that represent voltages between -5 and 5 volts. With 12 bits of resolution (resolution of the converter indicates the number of discrete values it can produce over the range of analog values) we can encode an analogue input in  212=4096


0(10) =000000000000(2)

 4095(10) =111111111111(2)


Fig.1 Analog (blue) / Digital (red) signal


An ADC is an integrated circuit which converts signals (analog voltage) to discrete digital numbers. A discrete signal is a time series consisting of a sequence of quantities, called a sample. Increasing the number of samples (sampling rate),  the quality of the conversion is better.

Pico ADC- 42


Fig.2 Conveter

The ADC-42 can be connected to the PC in to a printer port (LPT1, LPT2 or LPT3) and is powered by the printer port. The maximum input voltage is 30Volts and the sampling rate is 15 Ksps.

Fig.3 IC from National Semiconductor

The ADC 080X   is  a 8 bit converter that is similar to the 12 bit converter, we can see in the figure the 8 output digital lines(DB0 to DB7) that carry  the signal to the LPT1 and the 2  analog gates (+V /-V).


Searching & Reading

I have made the first tests with the ADC, but before I have read the manual and installed the basic software that comes with the converter.  The converter takes samples from the microphone or other device, under its own control (asynchronous), and stores them until the computer has time to read them. The term asynchronous is used to indicate that the time that samples are collected is not the same as the time the PC requests them.

The PC recognizes the converter after the installation of the drivers and the basic software.  Driver routines, supplied as Dynamic Link Libraries (DLLs), are very important because we can build your own programmes.

Examples of the driver routines or procedures:

  • adc10_get_driver_version :Check that is the correct driver

  • adc10_open_unit :Open the driver to use the LPT

  • adc10_get_value_and_time: Read a value and time

I have used the Excel to make the first capture of signals during 8 minutes.



JM Freixo Nunes 2009