### Install MCP3xxx Library via pip Source: https://github.com/adafruit/adafruit_circuitpython_mcp3xxx/blob/main/README.rst Install the library using pip for supported GNU/Linux systems like Raspberry Pi. This can be done for the current user, system-wide, or within a virtual environment. ```shell pip3 install adafruit-circuitpython-mcp3xxx ``` ```shell sudo pip3 install adafruit-circuitpython-mcp3xxx ``` ```shell mkdir project-name && cd project-name python3 -m venv .venv source .venv/bin/activate pip3 install adafruit-circuitpython-mcp3xxx ``` -------------------------------- ### MCP3004 Differential ADC Example Source: https://github.com/adafruit/adafruit_circuitpython_mcp3xxx/blob/main/docs/index.md This example shows how to configure and read differential analog input from an MCP3004 ADC. It uses two channels and requires the SPI and DigitalIO modules. ```python import busio import digitalio import board import adafruit_mcp3xxx.mcp3004 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3004(spi, cs) # create a differential ADC channel between Pin 0 and Pin 1 chan = AnalogIn(mcp, MCP.P0, MCP.P1) print('Differential ADC Value: ', chan.value) print('Differential ADC Voltage: ' + str(chan.voltage) + 'V') ``` -------------------------------- ### Read Single-Ended Analog Input from MCP3004 Source: https://github.com/adafruit/adafruit_circuitpython_mcp3xxx/blob/main/docs/examples.md This example shows how to read a single-ended analog input from pin 0 of an MCP3004 chip. Verify your SPI bus and chip select pin setup. ```python # SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT import board import busio import digitalio import adafruit_mcp3xxx.mcp3004 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3004(spi, cs) # create an analog input channel on pin 0 chan = AnalogIn(mcp, MCP.P0) print("Raw ADC Value: ", chan.value) print("ADC Voltage: " + str(chan.voltage) + "V") ``` -------------------------------- ### MCP3004 Single Ended ADC Example Source: https://github.com/adafruit/adafruit_circuitpython_mcp3xxx/blob/main/docs/index.md Read single-ended analog input from an MCP3004 ADC using this Python snippet. It requires SPI and DigitalIO setup, and imports for the MCP3004 and AnalogIn classes. ```python import busio import digitalio import board import adafruit_mcp3xxx.mcp3004 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3004(spi, cs) # create an analog input channel on pin 0 chan = AnalogIn(mcp, MCP.P0) print('Raw ADC Value: ', chan.value) print('ADC Voltage: ' + str(chan.voltage) + 'V') ``` -------------------------------- ### Read Differential Analog Input from MCP3002 Source: https://github.com/adafruit/adafruit_circuitpython_mcp3xxx/blob/main/docs/examples.md This example reads a differential analog input between pins 0 and 1 on an MCP3002. Verify your SPI bus and chip select pin configuration. ```python # SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT import board import busio import digitalio import adafruit_mcp3xxx.mcp3002 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3002(spi, cs) # create a differential ADC channel between Pin 0 and Pin 1 chan = AnalogIn(mcp, MCP.P0, MCP.P1) print("Differential ADC Value: ", chan.value) print("Differential ADC Voltage: " + str(chan.voltage) + "V") ``` -------------------------------- ### MCP3008 Differential ADC Example Source: https://github.com/adafruit/adafruit_circuitpython_mcp3xxx/blob/main/docs/index.md This snippet demonstrates reading differential analog input from an MCP3008 ADC using two channels. Ensure SPI and DigitalIO are imported, along with the necessary library components. ```python import busio import digitalio import board import adafruit_mcp3xxx.mcp3008 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3008(spi, cs) # create a differential ADC channel between Pin 0 and Pin 1 chan = AnalogIn(mcp, MCP.P0, MCP.P1) print('Differential ADC Value: ', chan.value) print('Differential ADC Voltage: ' + str(chan.voltage) + 'V') ``` -------------------------------- ### MCP3008 Single Ended ADC Example Source: https://github.com/adafruit/adafruit_circuitpython_mcp3xxx/blob/main/docs/index.md Use this snippet to read analog values from a single-ended channel on an MCP3008 ADC. It requires SPI and DigitalIO modules, and the MCP3008 and AnalogIn classes. ```python import busio import digitalio import board import adafruit_mcp3xxx.mcp3008 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3008(spi, cs) # create an analog input channel on pin 0 chan = AnalogIn(mcp, MCP.P0) print('Raw ADC Value: ', chan.value) print('ADC Voltage: ' + str(chan.voltage) + 'V') ``` -------------------------------- ### Read Single-Ended Analog Input from MCP3002 Source: https://github.com/adafruit/adafruit_circuitpython_mcp3xxx/blob/main/docs/examples.md Configure and read a single-ended analog input from pin 0 of an MCP3002 chip. Ensure the SPI bus and chip select pin are correctly initialized. ```python # SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT import board import busio import digitalio import adafruit_mcp3xxx.mcp3002 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3002(spi, cs) # create an analog input channel on pin 0 chan = AnalogIn(mcp, MCP.P0) print("Raw ADC Value: ", chan.value) print("ADC Voltage: " + str(chan.voltage) + "V") ``` -------------------------------- ### Read Differential Analog Input from MCP3008 Source: https://github.com/adafruit/adafruit_circuitpython_mcp3xxx/blob/main/docs/examples.md This snippet demonstrates reading a differential analog input between pins 0 and 1 on an MCP3008. Proper SPI bus and chip select configuration is required. ```python # SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT import board import busio import digitalio import adafruit_mcp3xxx.mcp3008 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3008(spi, cs) # create a differential ADC channel between Pin 0 and Pin 1 chan = AnalogIn(mcp, MCP.P0, MCP.P1) print("Differential ADC Value: ", chan.value) print("Differential ADC Voltage: " + str(chan.voltage) + "V") ``` -------------------------------- ### Read Single-Ended Analog Input from MCP3008 Source: https://github.com/adafruit/adafruit_circuitpython_mcp3xxx/blob/main/docs/examples.md Use this snippet to read a single-ended analog input from pin 0 of an MCP3008 chip. Ensure the SPI bus and chip select pin are correctly configured. ```python # SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT import board import busio import digitalio import adafruit_mcp3xxx.mcp3008 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3008(spi, cs) # create an analog input channel on pin 0 chan = AnalogIn(mcp, MCP.P0) print("Raw ADC Value: ", chan.value) print("ADC Voltage: " + str(chan.voltage) + "V") ``` -------------------------------- ### Read Differential Analog Input from MCP3004 Source: https://github.com/adafruit/adafruit_circuitpython_mcp3xxx/blob/main/docs/examples.md Use this code to read a differential analog input between pins 0 and 1 on an MCP3004. Ensure the SPI bus and chip select pin are correctly set up. ```python # SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT import board import busio import digitalio import adafruit_mcp3xxx.mcp3004 as MCP from adafruit_mcp3xxx.analog_in import AnalogIn # create the spi bus spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) # create the cs (chip select) cs = digitalio.DigitalInOut(board.D5) # create the mcp object mcp = MCP.MCP3004(spi, cs) # create a differential ADC channel between Pin 0 and Pin 1 chan = AnalogIn(mcp, MCP.P0, MCP.P1) print("Differential ADC Value: ", chan.value) print("Differential ADC Voltage: " + str(chan.voltage) + "V") ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.