2014-09-02 173 views
1

如果我在串行監視器中鍵入「forward」,並且如果輸入「Reverse」,我希望它「前進」。我想使用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或字符'r','s','f'作爲反向,停止,前進。

至於制定通信語法,Aruinio IDE中包含了很好的串行示例。看看那些。

相關問題