아두이노 프로젝트에서 대단히 중요하게 사용되고 있는 I2C 인터페이스 기법에 대해서 알아보자. I2C는 그 발음이 I-two-C 또는 I-squared-C 로 부르며, 1980년대부터 사용되어온 보편적인 직렬형 인터페이스 기법으로 알려져 있다. 인터페이스 속도가 그다지 고속은 아니지만 특히 아두이노와 같이 인터페이스 속도가 문제가 되지 않는 마이크로 콘트롤러들 사이의 통신 수단으로 대단히 유용하다. 아울러 I2C 프로토콜 사용자체는 무료이지만 특히 Slave 의 주소를 고정적으로 사용하는 센서 칩의 경우에는 인터넷 도메인 주소 관리에서 처럼 약간의 비용을 납부해야 한다. 주로 아두이노 보드에서 사용하는 대표적인 센서들 중의 하나로서 드론에서 흔히 사용하는 MPU6050 센서가 있을 수 있으며 Slave 로 사용함에 있어 헥사(16진법)로 사용하는 주소(address) 가 있음에 주의하자.
이미 아두이노 사물인터넷 프로젝트인 ThingSpeak 에서는 이미 Write API 키 값을 가지고 데이터를 서버에 송신하는지에 관한 인터페이스 사용 경험이 있을 것이다. I2C 인터페이스도 비슷하긴 하지만 속도에 있어서는 ThingSpeak에 비해 훨씬 고속이나 짧은 거리에 한해 통신이 가능하다는 점이다.
다음 그림에서처럼 I2C 인터페이스는 하나의 마스터와 여러 개의 슬레이브로 구성이 가능하다. 마스터에서는 지정된 슬레이브 주소에 데이터를 송신해 주면 되고 자신의 주소를 아는 슬레이브가 수신하면 된다. 아두이노에서의 사용 전압은 5V 또는 3.3V 이며 이 전원선과 SDA 핀과 SCL 핀 사이에는 적절한 값의 풀업 저항이 있어 High와 Low 상태를 만들 수 있다.
다음 url 주소로 넘어가서 마저 읽어 보세요.
http://blog.daum.net/ejleep1/892
![마나마인로고.png]