2014-09-02 3 views
1

직렬 모니터에 "forward"를 입력하고 "Reverse"를 입력하면 "Reverse"로 입력하면 "forward"가됩니다. arduino 직렬 모니터를 사용하여 모터를 제어하고 싶습니다.

String readString; 
int a = 8; 
int b = 7; 

void setup() { 
    Serial.begin(9600); 
    pinMode(a, OUTPUT); 
    pinMode(b, OUTPUT); 
    Serial.println("Test"); 
} 

void loop() { 

    while (Serial.available()) { 
    delay(1); 
    if (Serial.available() >0) { 
     char c = Serial.read(); 
     readString += c; 
    } 
    } 

    if (readString.length() >0) { 
    if (readString == "forward") 
    { 
     digitalWrite(a, HIGH); 
     digitalWrite(b, LOW); 
     delay(5000); 
     readString = ""; 
    } 
    readString=""; 
    } 
} 

내 코드는 정말 사람이 나에게 시리얼 모니터를 통해 모터를하시기 바랍니다 제어하는 ​​방법에 대한 몇 가지 간단한 예제를 표시 할 수 있습니다 작동하지 않는 경우

. 인터넷에서 여러 가지 예를 찾아 보았지만 결코 작동하지 않는 것 같고 내가 잘못하고있는 것을 해결할 수 없습니다.

답변

0

"앞으로"와 같은 전체 단어를 보내거나 메시징에서 문자열을 사용하는 것을 귀찮게하는 것은 의미가 없습니다. 역, 정지, 앞으로를 위해 -1, 0, 1 또는 chars 'r', 's', 'f'를 사용하십시오.

통신 구문을 작성하는 경우 Aruinio IDE에 포함 된 일련의 좋은 예가 있습니다. 그것들을 한번보세요.

관련 문제