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

in kr-dev 커뮤니티2 years ago

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

I2C 란건 사실 2선으로 통신하는 방법이라는건 다들 아실꺼고

현재는 온습도 센서와 조도 센서 이렇게 같이 연결해서 사용하는대 이게 문제없이 왜 동작을 하는것인지를 알필요가 있어요.

image.png

약간 이론적으로 들어가면

버스형 통신은 같은 선으로 여러 모듈을 연결하는 기기 인대 이게 장점이 한개의 모듈이 고장이 나더라도 다른 모듈에 영향을 끼치지 않는다는점이 장점입니다.

그래서 차량내부에 전선 연결되거 보면 CAN통신이라고 해서 I2C 처럼 2선으로 통신하는 방법이 있는대 이것도 버스형 통신이다보니 어디가 고장이나더라도 전체에 영향을 주지 않죠.

물론 단점은 모든 모듈이 통신선을 공유하고 있어서 통신속도가 늦어진다는것 뿐이지만

우리는 모듈 2개만 추가해서 사용하기 때문에 속도에 대한걸 생각을 할필요가 없어요.

엄청나게 늘어난다면 고민을 해보아야 하지만

그리고 I2C 에는 Master, Slave 개념이 있습니다.

마스터라는건 아두이노로 생각하시면 되고 Slave는 모듈만 생각하시면 되요.

image.png

아두이노에서 I2C 통신을 통해서 Slave Address 의 값을 뿌려주고 난뒤 모듈에 맞춰서 데이터를 보내주면 그 모듈에서 Slave Address 값을 통해서 식별하고 그뒤에 나오는 데이터를 받아들여

그 데이터를 분석하여 Master가 원하는 데이터를 응답해서 보내줍니다.

즉!! Slave를 구분할수 있는 주소값이 핵심인대요.

온습도 센서, 조도 센서 이 Slave 주소값들이 전부 다릅니다.

그것은 라이브러리 내부에 있는대

image.png

조도 센서 라이브러리 내부에 이렇게 프로그램으로 들어가있습니다.

내부에 다있다보니 라이브러리가 있다면 이렇게 고생할 이유없이 그냥 가져다 쓰면되는 이유죠.

물론 없으면 찾아내서 프로그램을 만들어야 하기때문에 고생을 좀합니다. (저의일이 이런거...)

그래서 결론적으로 같은 선을 연결해도 문제없다!!!

그냥 쓰시면됩니다.

좋은 하루 되세요.

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

Sort:  
 2 years ago 

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

Coin Marketplace

STEEM 0.18
TRX 0.14
JST 0.029
BTC 57893.29
ETH 3130.56
USDT 1.00
SBD 2.44