例えばですが、PCからHLHLと文字列を送信した場合、1秒光って消える→0.5秒光って消える→1秒光って消える→0.5秒光って消える と動作して欲しいのですが、現状ではHLHLと文字列を送っても希望どうりに動いてくれません。
(消えるの動作がないまま光っぱなしで、最後の「消える」の命令で消えてしまう)
どこをどう直したらいいのでしょうか?
char input[30]; int i = 0; void setup(){ Serial.begin(9600); pinMode(13,OUTPUT); } void loop(){ if (Serial.available()) { input[i] = Serial.read(); if (i > 30 || input[i] == '.') { input[i] = '\0'; for(i=0; i<input; i++){ switch (input[i]){ case 'H': digitalWrite(13,HIGH); delay(1000); digitalWrite(13,LOW); break; case 'L': digitalWrite(13,HIGH); delay(500); digitalWrite(13,LOW); break; } if(input[i]=='\0'){ break; } } i = 0; } else { i++; } } }
回答2件
あなたの回答
tips
プレビュー