프로그래밍/Raspberry PI

라즈베리파이 I2C(SCL.0, SDA.0) 사용하기

Beginner:) 2021. 6. 29.
320x100

먼저 I2C(SCL, SDA)가 무엇인지 알고싶다면 BH1750FVI센서를 I2C통신하는 아래의 링크를 먼저 확인한다.

 

이론도 포함되어 있으며 이론만 알면 아두이노, STM등 I2C를 지원하는 컨트롤러는 다 응용이 가능하다.

 

2021.11.11 - [프로그래밍/Python] - [Python] 라즈베리파이 I2C통신 feat.조도센서(BH1750FVI)

 

[Python] 라즈베리파이 I2C통신 feat.조도센서(BH1750FVI)

BH1750FVI센서(이하 조도센서)는 I2C통신을한다. 정식명칭은 I2C이며 윗첨자를 쓰는게 힘들어 I2C로 쓰는듯 하다. 이론부터 설명할것이며 이론은 위키 자료를 사용하며 작동만 되면 되는 사람들은

park-duck.tistory.com

 

테스트 환경은 라즈베리파이 B, 라즈비안 데스크톱 버스터이다.

 

아래는 라즈베리파이 핀 정보이며 회로도는 첨부하였다.

라즈베리_회로도.pdf
0.07MB

 

아래 명령어는 라즈베리 핀을 확인하는 명령어이다.

gpio readall

 

 

반응형

 

물리적 핀번호 3, 5번이 기본적으로 설정되어있는 i2c 핀번호이며 채널 1(SCL.1, SDA.1)에 속한다.

 

아래 명령어를 실행하면 16진수 행렬이 나올텐데, 자세한건 모르나 채널1이 오픈되어있다고 생각하면 될 것 같다.

 

아래는 채널 1에 연결되어있는 센서 주소를 확인하는 명령어이다.

 

sudo i2cdetect -y 1

 

채널 0(SCL.0, SDA.0)은 물리적 핀번호 27, 28에 속한다.

 

아래는 채널 0에 연결되어있는 센서 주소를 확인하는 명령어이다. 

sudo i2cdetect -y 0

 

하지만 명령어를 실행하면 에러가 뜰텐데 채널 0은 수동으로 설정을 해주어야 한다.

 

채널 0도 오픈하려면 아래 명령어를 실행해 편집기를 실행한 후 

sudo vim /boot/config.txt

 

아래와 같이 dtparam=i2c_vc=on 을 추가 한 후 저장하고 reboot 한다.

 

다시 i2cdetect -y 0 을 실행해보자.

반응형

댓글