1
您好首先im新到Arduino。但我有一些Java的經驗。Arduino不會循環
我得到了一個void設置和一個void循環。我想要的是它保持循環我的LED模式。如果我發送1或2給arduino,它會告訴他運行LED模式。但我希望它能夠保持循環選擇模式。在void循環中,我得到了val = Serial.read() - '0';我認爲循環中的這個東西會將它重新設置爲0.但是,如果我把它放在全局變量中,我不能發送1或2給Arduino Uno控制器。
這是到目前爲止我的代碼:
//Pins initaliseren in de setup d.m.v. for loop.
int ledPins[] = {2,3,4,5,6,7,8,9,10};
int pinCount = 9;
//Patronen voor de knipper leds
int patroonEen[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3};
int patroonEenLength = 16;
int patroonTwee[] = {2,3,4,5,6,5,4,3};
int patroonDrie[] = {10,9,8,7,6,7,8,9};
int patroonTweeDrieLength = 9;
int val = 0;
void setup() {
Serial.begin(9600);
//Inladen van de pins die we gebruiken.
for (int i = 0; i < pinCount; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
while (Serial.available() == 0);
val = Serial.read() - '0';
if (val == 1) {
for (int i = 0; i < patroonEenLength; i++) {
digitalWrite(patroonEen[i], HIGH);
delay(100);
digitalWrite(patroonEen[i], LOW);
}
} else if (val == 2) {
for (int i = 0; i < patroonTweeDrieLength; i++) {
digitalWrite(patroonTwee[i], HIGH);
digitalWrite(patroonDrie[i], HIGH);
delay(100);
digitalWrite(patroonTwee[i], LOW);
digitalWrite(patroonDrie[i], LOW);
}
} else {
Serial.print("Ongeldige input");
}
Serial.flush();
}
我期待着能儘快聽到任何人:)。歡迎任何評論。
嗨烏克萊恩,謝謝你幫我出去!我的程序現在工作正常!非常感謝!! – 2015-02-08 15:28:29