Blog der Heimetli Software AG

MCP3202 mit Python auslesen

Vor mehr als 10 Jahren habe ich eine Version mit C/C++ gepostet: MCP3202 mit C, aber jetzt schreibe ich kaum mehr C-Code für den Raspberry. Deshalb dokumentiere ich hier die Ansteuerung mit Python.

Die Schaltung

Bleibt eigentlich unverändert, nur die GPIO-Leiste vom Raspberry ist länger geworden. Zudem habe ich die Masseleitung verlegt damit die Kabel ein schönes Bündel bilden.

Anschlussschema für den MCP3202 am Raspberry

Neuerdings mache ich Photos damit ich es später einfacher nachbauen kann:

MCP3202 auf dem Breadboard Anschluss an den Raspberry

Das Script dazu

import spidev

# Define SPI port and chip select
bus    = 0
device = 0

def main():
    # Open the device
    spi = spidev.SpiDev()
    spi.open( bus, device )
    spi.max_speed_hz = 500000

    try:
        while True:
            # Read channel 0 of ADC
            result = spi.xfer2( [0x01,0xA0,0] )
            # Extract the value from result and print it
            print( ((result[1] & 0x0F) << 8) | result[2] )
    except KeyboardInterrupt:
        spi.close()

if __name__ == "__main__":
    main()