Processor

【라즈베리파이】 wiringPi Python : SPI MCP칩

작성자 임베디드코리아 작성일26-02-20 00:50 조회102회 댓글0건
--->>> MCP 칩 사용 <<<---------------------
import time
import spidev

spi = spidev.SpiDev() #Spi 객체 생성
spi.open(0,0) # 0번채널 open
spi.max_speed_hz = 1000000

# MCP3008의 0번 채널에서 아날로그 값을 불러옴
def ReadVol(vol):
adc = spi.xfer2([1,(8+vol)<<4,0]) #SPI 통신을 사용하여 MCP3008에 명령을 전송하고 아날로그 값을 읽어옴.
data = ((adc[1]&3)<<8)+adc[2] #MCP3008에서 아날로그 값을 디지털 값으로 변환
return data

mcp3008 = 0 #MCP3008의 채널

# 디지털 값을 계산하여 아날로그 값으로 변환 및 출력
while True:
a_1 = ReadVol(mcp3008)
print('readvol:', a_1, 'Voltage:', 3.3*a_1/1024) #저항과 전압은 비례
time.sleep(0.5)