본문 바로가기
IT/C# - Arduino

아두이노 uno, yun, orange 연동하기

by G0Yang 2019. 11. 28.

 

아날로그 핀 입력을 20개정도 받아야 하는 상황에서 어떻게 해야하나 고민하던 차에

 

SoftSerial을 이용하여 간단한 예제를 만들었다.

 

실행 결과 핀지정을 할 경우에 기기별로 최소한 1개의 인터럽트 핀에 꼽아야 하는것같다.(추측)

 

정확한 데이터가 넘어오진않지만 숫자만 read, write한다면 생각보다 정확한 데이터가 나올지도 모른다.

 

아니면 통신 대역대를 전부 변경한다던지...

 

위 소스는 오렌지 보드와 yun보드에 각각 4번핀에 버튼을 입력하고 실시간으로 보드에서 확인하기 위해서 13번 led를 활용해서 정상적으로 값을 보내는지 확인하고

 

uno에서 데이터를 받아 출력해주는 부분이다.

 

 

- 추가해야 할 것

 

- 데이터 통신 포맷 - 불완전한 데이터를 사용하다가 잘못되면 나도 모름

- 최종 yun보드 3개의 아날로그 신호선 6개를 각각 총 18개를 uno에게 보내 uno가 신호를 종합하는 소스 구현

 

 

 

 

 

 

 

 

 

---------- 추가

 

 

 

 

 

이상하게 보내는 쪽의 tx와 받는 쪽의 rx만 연결되면 통신이 가능했다.

 

예제는 uno에서 총 3개의 보드에서 데이터를 받아올 수 있도록 하였다.

 

통신과정에서 데이터가 상당히 손실되므로 센서를 이용한 후처리는 각 보드에서 처리하고 연산 결과만 true/false값으로 1/0으로 받게할려고 예제를 만들었다.

 

타임스템프가 있으니 데이터가 얼마나 자주 정확하게 받을 수 있는지 참고하면 좋겠다.

댓글