아날로그 핀 입력을 20개정도 받아야 하는 상황에서 어떻게 해야하나 고민하던 차에
SoftSerial을 이용하여 간단한 예제를 만들었다.
실행 결과 핀지정을 할 경우에 기기별로 최소한 1개의 인터럽트 핀에 꼽아야 하는것같다.(추측)
정확한 데이터가 넘어오진않지만 숫자만 read, write한다면 생각보다 정확한 데이터가 나올지도 모른다.
아니면 통신 대역대를 전부 변경한다던지...
위 소스는 오렌지 보드와 yun보드에 각각 4번핀에 버튼을 입력하고 실시간으로 보드에서 확인하기 위해서 13번 led를 활용해서 정상적으로 값을 보내는지 확인하고
uno에서 데이터를 받아 출력해주는 부분이다.
- 추가해야 할 것
- 데이터 통신 포맷 - 불완전한 데이터를 사용하다가 잘못되면 나도 모름
- 최종 yun보드 3개의 아날로그 신호선 6개를 각각 총 18개를 uno에게 보내 uno가 신호를 종합하는 소스 구현
---------- 추가
이상하게 보내는 쪽의 tx와 받는 쪽의 rx만 연결되면 통신이 가능했다.
예제는 uno에서 총 3개의 보드에서 데이터를 받아올 수 있도록 하였다.
통신과정에서 데이터가 상당히 손실되므로 센서를 이용한 후처리는 각 보드에서 처리하고 연산 결과만 true/false값으로 1/0으로 받게할려고 예제를 만들었다.
타임스템프가 있으니 데이터가 얼마나 자주 정확하게 받을 수 있는지 참고하면 좋겠다.
'IT > C# - Arduino' 카테고리의 다른 글
[C# - Arduino 연동] 4. 내가 만든 연동 프로그램 (0) | 2019.11.01 |
---|---|
[C# - Arduino 연동] 목차 (0) | 2019.11.01 |
[C# - Arudiono 연동] 개발 환경 정의 (0) | 2019.11.01 |
댓글