2014-02-17 2 views
1

일련 번호를 통해 서로 이야기 할 두 개의 arduino를 설정하고 싶습니다. 하나는 수신기로 다른 하나는 원격으로 작동합니다. 이미 작동하는 두 개의 단추가 있지만 서보 및 모터 문제가 있습니다.제어 모터 및 서보 오버 직렬 (Arduino)

val = analogRead(potPin1); 
if (val1 != val){ 
    val = map(val, 0, 1023, 5, 150); 
    Serial.println("3/2/10/" + val); //Write steering val 
    val1 = val; 

이것은 작동중인 코드입니다. 정수 대신 정수를 계속해서 인쇄하고 냄비가 바뀔 때만 인쇄합니다. 또한 가능하면 하나의 조이스틱으로 두 개를 제어하고 싶지만 먼저 개별적으로 작동시키는 것이 더 좋을 것이라고 생각했습니다. 원격 코드 = http://pastebin.com/JCq7sNxT 수신자 코드 = http://pastebin.com/KiyYJMFT

감사합니다.

답변

0

"연기하기"란 무엇을 의미합니까? 무슨 뜻인지 잘 모르겠지만 시도해 볼 필요가 있습니다. Serial.println(analogValue, DEC);

줄을 ASCII 인코딩 10 진수로 인쇄합니다. 자세한 내용은 http://arduino.cc/en/Serial/Println#.UwHrRXVdVJw

또는 아마도 print()을 참조하십시오 (http://arduino.cc/en/Serial/Print#.UwHtKXVdVJw).

또한 송신 버퍼를 덮어 쓸 가능성이 있습니다. 전송 속도가 꽤 낮기 때문에 (9600 보오/s) 주 루프에서 아날로그 값이 바뀔 때마다 문자를 보내면 연결에서 처리 할 수있는 것보다 많은 데이터를 보내려고 할 수 있습니다.

이것이 문제가 될지 확실하지 않지만 제 제안은 계속해서 조이스틱을 흔들어 시스템을 테스트하는 것입니다. :)

+0

와우! 너는 위대하다. 그것은 완벽하게 작동합니다. 연기하는 비트에 의해 나는 연재가 문자들로 넘쳐날 것을 의미했다. – user3318754