次のことを行うプログラムを作成しようとしています。
1 を入力してプレスまたは送信クリックを入力し、もう一度 1 を入力してプレスまたは送信クリックを入力すると LED 1 が点灯し、同様に '1' '0' を入力すると LED 1 が消灯し、 LED 2 と 3 についても同様です。つまり、'2' '1' は LED 2 をオンにし、'3' '0' は LED 3 をオフにします。
これまでのところ、私のコードは次のとおりです。
int incomingVal;
int ledPin = 16;
int ledPin2 = 15;
int ledPin3 = 14;
void setup()
{
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
Serial.println("starting");
pinMode(ledPin,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
}
void checkForRecvdChar ();
void loop()
{
if (Serial.available() > 0 ) //then chars are in the serial buffer
{
incomingVal = Serial.parseInt();
Serial.print("You entered: ");
Serial.println(incomingVal);
if (incomingVal == 10);//turns off led 1
{
digitalWrite(ledPin, LOW);
}
if (incomingVal == 11);//turns on led 1
{
digitalWrite(ledPin, HIGH);
}
if (incomingVal == 20);//turns off led 2
{
digitalWrite(ledPin2, LOW);
}
if (incomingVal == 21);//turns on led 2
{
digitalWrite(ledPin2, HIGH);
}
if (incomingVal == 30);//turns off led 3
{
digitalWrite(ledPin3, LOW);
}
if (incomingVal == 31);//turns on led 3
{
digitalWrite(ledPin3, HIGH);
}
}
}
現在、入力した組み合わせに関係なく、すべての LED が点灯します。