라즈베리파이
라즈베리파이 GPIO 제어 및 테스트
별메아리
2023. 3. 7. 09:03
728x90
가변저항
#-*-coding:utf-8-*-
#-*- coding: utf-8 -*-
# 필요한 라이브러리를 불러옵니다.
import spidev
import time
# 딜레이시간(센서 측정 간격)
delay = 0.5
#MCP3008 채널 중 센서에 연결한 채널 설정
pot_channel = 0
# SPI 인스턴스 spi 생성
spi = spidev.SpiDev()
# SPI 통신 시작하기
spi.open(0,0)
# SPI 통신속도 설정
spi.max_speed_hz = 100000
# 0 ~ 7 까지 8개의 채널에서 SPI 데이터를 읽어옵니다.
def readadc(adcnum):
if adcnum > 7 or adcnum < 0:
return -1
r = spi.xfer2([1,8+adcnum<<4,0])
data = ((r[1]&3)<<8)+r[2]
return data
while True:
# readadc 함수로 pot_channel의 SPI 데이터를 불러옵니다.
pot_value = readadc(pot_channel)
print("------------------------")
print("POT Value: %d" % pot_value)
time.sleep(delay) # delay 시간만큼 기다립니다.
728x90