[RaspberryPi] I2C 제어

I2C 특징 및 설치, 확인

  • i2c 통신 특징 : 마스터1개 슬레이브 2개 통신
  • GPIO통신과 다르게 송수신을 통해 통신이 된다. (송신 -> 수신)
  • i2c 관련 툴 설치
# 터미널에 입력
sudo apt-get install -y i2c-tools
  • i2c 핀은 0,2번 핀
# 터미널 에서 i2c 연결 유무 확인 명령어
i2cdetect -y 1

예제

CDS 센서 활용하기

  • CDS : 조도의 밝기를 받아오는 광센서
import smbus
import time

# smbus 라이브러리를 통해 i2c 통신을 할 것임
# i2c 통신 포트 1번
bus = smbus.SMBus(1)

# 주소는 16진수로 사용하는 것 권장
# i2c 통신 채널 주소
i2c_address = 0x48
# CDS 센서 채널 주소
Cds_channel = 0x01

try :
    while True:
        # 송신
        bus.write_byte(i2c_address, Cds_channel)
        time.sleep(0.1)

        # 수신
        CdsValue = bus.read_byte(i2c_address)
        print("Cds : "+str(CdsValue))
        time.sleep(0.1)

# Ctrl + C : 종료
except KeyboardInterrupt:
    pass

좋은 웹페이지 즐겨찾기