0°

Arduino内置教程-控制结构-if声明条件

这个if()声明是所有程序控制结构里最基本的部分。它允许你来使有些事情是否发生,取决于是否符合一些给定的条件

简介

  • 这个if()声明是所有程序控制结构里最基本的部分。它允许你来使有些事情是否发生,取决于是否符合一些给定的条件。它看起来像这样:
if (someCondition) {
   // do stuff if the condition is true
}
  • 有一个公共变量叫if-else,看起来像这样:
if (someCondition) {
   // do stuff if the condition is true
} else {
   // do stuff if the condition is false
}
  • 也有else-if,当第一条件为真时你可以检查第二条件:
if (someCondition) {
   // do stuff if the condition is true
} else if (anotherCondition) {
   // do stuff only if the first condition is false
   // and the second condition is true
}
  • 你任何时候都可以用到if声明。下面的例子如果模拟输入引脚读取的值超过阈值,就会打开pin13的LED灯(内置在很多Arduino上)。

硬件要求

  • Arduino or Genuino 开发板
  • 电位计 或者 变阻器

电路

Arduino内置教程-控制结构-if声明条件

 

原理图

样例代码

在下面的代码里,一个叫analogValue的变量用来保存从电位计(连接到开发板的模拟引脚pin0)读取的数据。然后对比这个数据和阈值。如果模拟值在设置的阈值上面,打开pin13的内置LED灯。如果低于阈值,LED保持关闭。

// These constants won't change:
const int analogPin = A0;    // pin that the sensor is attached to
const int ledPin = 13;       // pin that the LED is attached to
const int threshold = 400;   // an arbitrary threshold level that's in the range of the analog input

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize serial communications:
  Serial.begin(9600);
}

void loop() {
  // read the value of the potentiometer:
  int analogValue = analogRead(analogPin);

  // if the analog value is high enough, turn on the LED:
  if (analogValue > threshold) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }

  // print the analog value:
  Serial.println(analogValue);
  delay(1);        // delay in between reads for stability
}
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论