극한의 아두이노 DIY생활 - 식물상태를 알려주는 기기3

in kr-dev 커뮤니티3 years ago

안녕하세요!! Jimae입니다.

오늘은 I2C가 무엇인지 이야기 해볼까 합니다.

I2C 에 앞서

제로부터 시작하는 극한의 아두이노 DIY생활 - 시리얼통신7

이시리즈를 봐주시면 어느정도 도움이 될것입니다.

I2C란 전기신호로 통신을 하는 종류중에 하나에 속한 통신이며

전선 2개를 이용하여 통신을 하는 구조입니다.

쉽게 생각하면 옛날에 어느 회사에서 여러대의 기기들을 가지고 한꺼번에 통신하고자 개발한 통신방법이며

그것이 유용해져서 규격처럼 된것이죠.

사실 다른 통신들도 다이렇게 개발되고 유용하다고 소문나서 인수되거나 다른업체들도 같이 쓰기 시작하니까 유명해져서 나온것들입니다.

image.png

image.png

이 통신의 특징은 버스형태의 즉 여러대의 I2C 통신이 가능한 기기들을 연결하여 통신이 가능하다는 점이죠.

뭐 자세한 전기적인 신호는 둘째치고요. 그냥 2개의 전선을 가지고 여러대에 연결해서 사용할수있는 통신이라고 이해하시면 될것 같습니다.

I2C는 결국 SDA, SCL 이라는 Pin들이 필요한대요.

하드웨어 적으로 모든기기에서 I2C를 연결하려면 SDA Pin은 SDA끼리 SCL Pin은 SCL끼리 연결해서 사용하시면 되구요.

소프트웨어 적으로는 라이브러리르 가져다 쓰면 되기때문에 크게 걱정할 필요가 없습니다.

내부적으로 깊게 원리를 이해하고자 한다면 엄청나게 골치가 아픕니다.

전기적인 타이밍을 맞춰서 프로그램을 만들어야 하기때문에 그부분을 이해하면서 깊게 들어가서 프로그램을 만드는 사람들을 개인적으로 존경합니다.

물론 현재는 그들의 희생 덕분에 쉽게쉽게 프로그래밍을 할수있다는게 좋은점이기는 하나

그래서 크게 깊게 이해할 필요는 없을것같습니다.

물론 나중에 왜 안되는지 원인파악을 하려면 필요하지만

대다수가 SDA, SCL Pin을 반대로 연결하거나 제대로 연결이 안되어 통신이 안되거나 또는 소프트웨어적으로 SCL, SDA핀을 초기화를 안했거나 등등 여러가지 원인들이 있지만

굳이 통신에대한 원리를 알필요는 없이 고칠수 있는 부분들이라고 개인적으로 생각합니다.

오늘은 I2C에대 적었습니다.

image.png

이 부품이 I2C를 사용하고 있기때문에 다음에 이것에 대해서 하나하나 보도록 해봅시다.

다들 좋은 하루 되세요!

극한의 아두이노 DIY생활 - 식물상태를 알려주는 기기1
극한의 아두이노 DIY생활 - 식물상태를 알려주는 기기2

Sort:  
 3 years ago 

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Coin Marketplace

STEEM 0.09
TRX 0.30
JST 0.033
BTC 111757.13
ETH 3952.37
USDT 1.00
SBD 0.58