Most of the information to make this work was taken from posts by Grumpy Mike on the Raspberry Pi forums. Got a couple of PCF8591s nice & cheep from eBay.
Here’s the PCF8591 Datasheet.
Figure 2 below shows the schematic:
Below is the very basic and non-defensive Python code to simply read the voltage provided by the pot to ADC channel 0 and print a proportional value between 0 & 255:
#Read a value from analogue input 0 #in A/D in the PCF8591P @ address 0x48 from smbus import SMBus bus = SMBus(0) print("Read the A/D") print("Ctrl C to stop") bus.write_byte(0x48, 0) # set control register to read channel 0 last_reading =-1 while(0 == 0): # do forever reading = bus.read_byte(0x48) # read A/D if(abs(last_reading - reading) > 2): print(reading) last_reading = reading
Another picture of the breadboard lashup below: