라즈베리파이3 ADC(MCP3008) -> SPI 통신
- SPI 통신을 활성화
- sudo raspi-config
- 5. Interfacing Options
- SPI를 선택
- sudo nano /etc/modules 코드 수정
- 맨 아래에 spidev를 추가
- 라이브러리 설치
- sudo apt-get install python-dev
- git clone git://github.com/Gadgetoid/py-spidev.git
- cd py-spidev/
- sudo python setup.py install
- 센서 연결
- 채널 1번(본 교재 기판의 Analog 0 과 동일)에다 끼우면 정상작동
- 소스 코드 : mcp.py, 참조( https://m.blog.naver.com/PostView.nhn?blogId=roboholic84&logNo=220367321777&proxyReferer=https:%2F%2Fwww.google.com%2F )
12345678910111213141516import spidev, timespi = spidev.SpiDev()spi.open(0, 0)spi.max_speed_hz = 1350000def analog_read(channel):r = spi.xfer2([1, (8 + channel) << 4, 0])adc_out = ((r[1]&3) << 8) + r[2]return adc_outwhile True:reading = analog_read(0)voltage = reading * 3.3 / 1024print("Reading=%d\tVoltage=%f" % (reading, voltage))time.sleep(2) - 작성자 : 나성주