我正在做一個項目與arduino做鈴鐺,當我第一次嘗試,它的工作原理是如何我想(wait(Serial.read())
),但現在我需要通過串行端口發送超過100個0
才能使其顯示4秒。這是我的Java代碼:Arduino - 需要瘋狂的0的數量,使LED持續3秒
int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available() > 0) {
digitalWrite(ledPin, HIGH);
delay(Serial.read());
digitalWrite(ledPin, LOW);
}
}
有誰看到一個錯誤在我的代碼: 爲longness
Main.ringBell("100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");
public static void ringBell(String length) throws Exception {
output.write(length.getBytes());
output.flush();
}
這裏是Arduino的草圖準備?如果是這樣,請讓我知道什麼是錯的,我會解決它。
謝謝。
謝謝,我會嘗試。 – cheese5505 2012-07-25 20:14:21
雖然有所改進,但發送「8000」時仍然不響8秒鐘。我用「parseInt()」替換了「read()」,這就是造成差異的原因,所以你知道如何讓它在8秒內運行「8000」? – cheese5505 2012-07-28 23:32:53
您可以將'parseInt'的結果存儲到一個變量中,並將其打印到'Serial'流中。然後,通過比較發送的內容和接收的內容,您可以更輕鬆地在Arduino「串行監視器」中測試代碼。 – 2012-07-29 07:45:24