2015-01-09 3 views
0

저는 4 개의 Arduino MEGA 2560과 4 개의 PWM을 가진 16 개의 PWM 신호의 DC (1ms-2ms)를 읽어야하는 프로젝트에 있습니다. 그것을 읽은 후에, 저는 16 개의 값을 컴퓨터에 보내야합니다. 초기 아이디어는 라우터에 연결된 4 개의 Arduino 이더넷 실드를 사용하여 컴퓨터에 연결하는 것이 었습니다. 다른 옵션은 USB로 4 Arduino를 컴퓨터에 직접 연결하고 각각의 Serial.print로 수행하는 것입니다. 두 가지 옵션 중 어느 것이 더 나은 결과를 얻을 수 있습니까? 나는 그 시간이 중요하다는 것을 강조해야한다. 16 PWM 값을 받기 위해서는 20ms 미만이 최적 일 것이다. 환영 인사와 감사합니다.Arduino MEGA와 Ethernet Shield로 PWM 읽기

답변

0

20ms는 실제로 여기에서 문제가되지 않습니다. Serial을 사용하여 USB를 통해 Arduino를 115,000bps로 연결한다고 가정하면 제어 컴퓨터에 0.35ms 단위로 4 바이트 (Duty Cycle 1 바이트 당 1 바이트라고 가정)를 보낼 수 있습니다.

TCP/IP 및 직접 이더넷 연결을 사용하면 이보다 훨씬 빠르게 처리됩니다.

이렇게 말하면, 코딩 용어로 무엇보다 편안합니까? 직렬 방식은 Arduino에서 쉽게 수행 할 수 있지만 제어 컴퓨터에서 조금 더 세게 작업해야 할 수도 있습니다. (예를 들어, C++과 Boost :: ASIO 같은 직렬 라이브러리를 사용 하시겠습니까?

또는 TCP/IP 소켓 프로그래밍에 익숙합니까? 그렇다면 확장 성이 뛰어난 강력한 솔루션을 제공하게 될 것입니다. 더 나은 당신을 위해.