Raspberry Pi 4 Model BとMCP3008でA/D変換を行う

ここを参考に
learn.adafruit.com

配線
f:id:seinzumtode:20210219194124p:plain

注意点
・配線をちゃんと見よ(最初間違えた)
・PWMはADCで拾えない。最初ArduinoのPWMを拾おうとしてハマった。面倒臭がらずにポテンショメータから拾う。

import busio
import digitalio
import board
import adafruit_mcp3xxx.mcp3008 as MCP
from adafruit_mcp3xxx.analog_in import AnalogIn
import time

# 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)

while True:
  print('Raw ADC Value: ', chan.value)
  print('ADC Voltage: ' + str(chan.voltage) + 'V')
  time.sleep(1)

www.instagram.com