[아두이노#117] CAN통신 MCP2515으로 1:N통신을 구현해보자(3편/기본)(녹칸다/포로리야공대가자)
프로그래밍/CAN통신(MCP2515) 2020. 10. 21. 22:58
(CAN통신 MCP2515으로 1:N통신을 구현해보자(3편/기본))
아두이노 3개에 각각 MCP2515 CAN 통신 모듈을 장착해보자
역할은 마스터와 슬레이브 2개로 구성한다
마스터는 명령하는 역할만 한다
예제117-1-1 (마스터코드)
* 마스터에 버튼2개가 달려있다
* 첫번째 버튼은 D3에 연결되어있고 슬레이브 1의 LED를 제어한다
* 두번째 버튼은 D4에 연결되어있고 슬레이브 2의 LED를 제어한다
* 마스터가 슬레이브1과 슬레이브2에게 아래와 같이 전송한다
* (예시) [아이디] [작업내용] [명령] [나머지 빈패킷]
* 0x0F6 0x01 0x00 = ID가 0x0F6인것의 LED제어 명령인데 LED를 꺼라
* 0x0F6 0x01 0x01 = ID가 0x0F6인것의 LED제어 명령인데 LED를 켜라
* 0x036 0x01 0x01 = ID가 0x036인것의 LED제어 명령인데 LED를 켜라
예제117-2-1 (마스터코드)
* 마스터는 중계역할을 한다
* 슬레이브1(0x0F6)의 D3포트에 적외선근접센서가 장착되어있다.
* 슬레이브2(0x036)의 D3포트에 LED가 장착되어있다.
* (예시) [아이디] [작업내용] [명령] [나머지 빈패킷]
* (수신)0x0F6 0x02 0x01 = ID가 0x0F6에서 적외선 근접센서 신호가 마스터로 수신됨
* (송신)0x036 0x01 0x01 = ID가 0x036인것의 LED제어 명령인데 LED를 켜라
* (송신)0x036 0x01 0x00 = ID가 0x036인것의 LED제어 명령인데 LED를 꺼라
관련라이브러리(MCP2515)
github.com/autowp/arduino-mcp2515
레퍼런스코드(예제113-1)
'프로그래밍 > CAN통신(MCP2515)' 카테고리의 다른 글
[아두이노#127] CAN통신모듈(MCP2515/6편) 1:N통신으로 스탭모터 제어해보기(녹칸다/포로리야공대가자) (0) | 2020.10.29 |
---|---|
[아두이노#125] CAN통신모듈(MCP2515/5편) 1:N통신 기본코드 버전2 만들기(녹칸다/포로리야공대가자) (0) | 2020.10.28 |
[아두이노#123] CAN통신모듈(MCP2515/4편) 1:N통신으로 온도센서와 먼지센서값 측정하기(녹칸다/포로리야공대가자) (0) | 2020.10.27 |
[아두이노#113] CAN통신 MCP2515으로 1:N통신을 구현해보자(2편/프로토콜)(녹칸다/포로리야공대가자) (0) | 2020.10.19 |
[아두이노#108] CAN통신 MCP2515으로 1:N통신을 구현해보자(튜토리얼)(녹칸다/포로리야공대가자) (0) | 2020.10.13 |