if声明(条件声明)

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

      1. if (someCondition) {
      2. // do stuff if the condition is true
      3. }
    • 有一个公共变量叫if-else,看起来像这样:

      1. if (someCondition) {
      2. // do stuff if the condition is true
      3. } else {
      4. // do stuff if the condition is false
      5. }
    • 也有else-if,当第一条件为真时你可以检查第二条件:

      1. if (someCondition) {
      2. // do stuff if the condition is true
      3. } else if (anotherCondition) {
      4. // do stuff only if the first condition is false
      5. // and the second condition is true
      6. }
    • 你任何时候都可以用到if声明。下面的例子如果模拟输入引脚读取的值超过阈值,就会打开pin13的LED灯(内置在很多Arduino上)。

    硬件要求

    • Arduino UNO
    • 电位计 或者 变阻器

    电路
    控制结构-if声明条件 - 图1
    样例代码**
    在下面的代码里,一个叫analogValue的变量用来保存从电位计(连接到开发板的模拟引脚pin0)读取的数据。然后对比这个数据和阈值。如果模拟值在设置的阈值上面,打开pin13的内置LED灯。如果低于阈值,LED保持关闭。

    1. /*
    2. 数字读取练习-2
    3. JLHS-Arduino与智能设计选修课
    4. 示例程序
    5. 2021.3.16
    6. */
    7. int analogPin=A0;
    8. int ledPin=13;
    9. int threshord = 400;//将400设置为阈值
    10. void setup() {
    11. Serial.begin(9600);
    12. pinMode(ledPin,OUTPUT);
    13. }
    14. void loop() {
    15. int analogValue=analogRead(analogPin);//不直接写A0,提高了程序的通用性
    16. if(analogValue>threshord)
    17. {
    18. digitalWrite(ledPin,HIGH);
    19. }
    20. else
    21. {
    22. digitalWrite(ledPin,LOW);
    23. }
    24. Serial.println(analogValue);
    25. delay(10);
    26. }

    **