控制部分-If条件判断

条件判断结构是编程中的最基本结构,在Arduino和其他语言中往往用if()语句实现条件判断。if()让你能够根据某个条件(Condition)的真假执行不同的代码。(条件只有两种可能,要么是真(true)要么是假(false))if语句的最简单形式如下:

if (someCondition) {

// someCondition为 真 的时候处理这个花括号里的语句

}

If语句的完整形式如下:

if (someCondition) {

// someCondition为 真 的时候处理这个花括号里的语句

} else {

// someCondition为 假 的时候处理这个花括号里的语句

}

还可以使用if-else嵌套多个if条件语句。使用if-else就可以在只有第一个条件为false(假)时才继续检查其他条件,如果第一个为true(真)就不检查了:

if (someCondition) {

} else if (anotherCondition) {

// someCondition是 假,并且anotherCondition是 真 的时候处理这个花括号里的语句

}

你可以随时随地使用if语句。下面的代码将在A0口模拟信号值大于临界值的时候点亮LED。本例使用大多数Arduino板上的板载LED(内部连接到13引脚)。

硬件需求

Arduino板

电位器或者可变电阻

连接线

电路连接

电路

原理图

代码

在下列代码中,analogValue 变量用来存储电位器的模拟信号值(电位器在A0口)。analogValue的值将与临界值(用threshold变量存储)进行比较。如果大于临界值就将13号引脚上的板载LED打开,如果小于临界值就将它关闭。

 
 /*
If条件判断

本例展示if()语句的使用。代码将读取电位器的值,如果超过临界值就把LED打开,否则就将LED关闭。程序会把电位器的值输出到电脑。

电路搭建:
* 电位器中间引脚连接到A0。两侧的引脚分别连接到+5V和GND。
* LED连接13号引脚到GND

* 提示: 在大多数Arduino板上有13号引脚连接的板载LED,因此你一般不许要多加LED。

代码公开。
*/

// 常量定义:
const int analogPin = A0;    // 电位器引脚
const int ledPin = 13;       // LED引脚
const int threshold = 400;   // 模拟信号临界值

void setup() {
// 初始化LED引脚为输出模式:
pinMode(ledPin, OUTPUT);
// 初始化串口通信:
Serial.begin(9600);
}

void loop() {
// 读取电位器值:
int analogValue = analogRead(analogPin);

// 模拟信号值是否超过临界:
if (analogValue > threshold) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}

// 打印模拟信号值:
Serial.println(analogValue);
delay(1);        // 为了稳定性,延迟1毫秒
0
分享到:

评论0

请先

本站资料配套硬件销售店铺:天猫店ultirobot.tmall.com 、三冠淘宝店zhongbest.taobao.com
没有账号? 忘记密码?