OK,my original plan was to use adafruit_mcp3008 library. And that was how I did.
Here is my code:
Code: Select all
#MCP3008
import time
import argparse
# Import SPI and MCP3008 library.
import RPi.GPIO as GPIO
import Adafruit_MCP3008
from Adafruit_GPIO.GPIO import RPiGPIOAdapter as Adafruit_GPIO_Adapter
# Software SPI configuration:
CLK = 23 # pin 13 on 3008
MISO = 21 # pin 12 on 3008
MOSI = 19 # pin 11 on 3008
CS = 24 # pin 10 on 3008
gpio_adapter = Adafruit_GPIO_Adapter(GPIO, mode=GPIO.BOARD)
mcp = Adafruit_MCP3008.MCP3008(clk=CLK,cs=CS,miso=MISO,mosi=MOSI,gpio=gpio_adapter)
DEBUG = True
parser = argparse.ArgumentParser(description="Read AD/MCP3008")
parser.add_argument('--times', type=int, default=5,
help='number of times to read the pin')
parser.add_argument('--delay', type=float, default=2,
help='seconds of delay between readings')
parser.add_argument('--AD_pin', type=int, default=0,
help='AD input pin to read')
args = parser.parse_args()
if (DEBUG):
print(f'pin: {args.AD_pin}\tTime: {args.times}\tDel: {args.delay}')
i=0
while (i<args.times):
print(f'Raw ADC Value: {mcp.read_adc(args.AD_pin)}')
time.sleep(args.delay)
i=i+1
Wiring was exactly the same.
It gives me this message:
Traceback (most recent call last):
File "/home/ricky/Desktop/moduleç»ä¹ /module3.py", line 62, in <module>
mcp = Adafruit_MCP3008.MCP3008(clk=CLK,cs=CS,miso=MISO,mosi=MOSI,gpio=gpio_adapter)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/Adafruit_MCP3008-1.0.2-py3.11.egg/Adafruit_MCP3008/MCP3008.py", line 42, in __init__
File "/usr/local/lib/python3.11/dist-packages/Adafruit_GPIO-1.0.4-py3.11.egg/Adafruit_GPIO/SPI.py", line 165, in __init__
File "/usr/local/lib/python3.11/dist-packages/Adafruit_GPIO-1.0.4-py3.11.egg/Adafruit_GPIO/GPIO.py", line 187, in setup
File "/usr/lib/python3/dist-packages/RPi/GPIO/__init__.py", line 704, in setup
initial = _check(lgpio.gpio_read(_chip, gpio))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/lgpio.py", line 903, in gpio_read
return _u2i(_lgpio._gpio_read(handle&0xffff, gpio))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/lgpio.py", line 458, in _u2i
raise error(error_text(v))
lgpio.error: 'GPIO not allocated'