首页 > 解决方案 > 如何使用 arduino 串行监视器打开和关闭 LED

问题描述

我正在尝试打开和关闭 3 个 LED。所以基本上输入 1 到串行监视器和 LED 之一会打开,我已经完成了这部分但是当我再次按下 1 时 LED 会关闭。第二部分是我遇到的问题,我需要创建某种切换。

这是我的代码

const int greenPin = 2;
const int yellowPin = 3;
const int redPin = 4;

void setup()

{
pinMode(greenPin, OUTPUT);
  pinMode(yellowPin, OUTPUT);
  pinMode(redPin, OUTPUT);


  Serial.begin(9600);

  while (!Serial);

  Serial.println("Input 1 to Turn LED on and 2 to off");

}

void loop() {

  if (Serial.available())

  {

    int state = Serial.parseInt();

    if (state == 1)

    {

      digitalWrite(greenPin, HIGH);
      digitalWrite(yellowPin, LOW);
       digitalWrite(redPin, LOW);
      Serial.println("Command completed LED turned ON");

    }

    if (state == 2)

    {
  digitalWrite(greenPin, LOW);
      digitalWrite(yellowPin, HIGH);
       digitalWrite(redPin, LOW);

      Serial.println("Command completed LED turned OFF");

    }

      if (state == 3)

    {
     digitalWrite(greenPin, LOW);
      digitalWrite(yellowPin, LOW);
       digitalWrite(redPin, HIGH);

      Serial.println("Command completed LED turned OFF");

    }




  }

}

标签: arduinotoggle

解决方案


digitalWrite(ledPin,  !digitalRead(ledPin));

这样,您总是会反转当前的引脚状态。


推荐阅读