boolean pushButton; // 创建布尔型变量
void setup() {
pinMode(2, INPUT_PULLUP); //将引脚2设置为输入上拉模式
pinMode(13, OUTPUT); //将引脚13设置为输出模式
}
void loop() {
pushButton = digitalRead(2); //读取引脚2电平状态并将其赋值给布尔变量
if (pushButton){ //根据布尔变量数值点亮或者熄灭LED
digitalWrite(13, HIGH); //布尔变量数值为真(true)时点亮LED
} else {
digitalWrite(13, LOW); //布尔变量数值为假(false)时熄灭LED
}
}
布尔型变量包含两个值,true or false,根据变量值的真假赋予整型值1或0,可用做标志进行逻辑测试以改变程序流程 pushButton = 0
void loop() {
pushButton = digitalRead(2); //读取引脚2电平状态并将其赋值给布尔变量
if (!pushButton){ //对布尔变量进行逻辑非运算,并根据运算结构点亮或者熄灭LED
digitalWrite(13, HIGH); //布尔变量数值为假(false)时点亮LED
} else {
digitalWrite(13, LOW); //布尔变量数值为真(true)时熄灭LED
}
}
!(逻辑非运算)当操作数为假时返回真,此时按下按键开关led亮;||(逻辑或运算),任意一个为真时返回真;&&(逻辑与运算),只有两个操作数都为真时才返回为真
void setup() {
int pinNumber = 3;
while(pinNumber <= 9){
pinMode(pinNumber, OUTPUT);
pinNumber = pinNumber + 1;
}
}
void loop() {
int i=1, sum=0;
do{
sum+=i;
i++;
}while(i<=100); //判断i是否小于等于零
Serial.print ("sum = "); //通过串口监视器输出
Serial.println (sum); //do-while循环结束后的sum值
delay (5000); // 延迟5秒钟
}
while循环的意思是:先计算表达式的值,当值为真(非0)时, 执行循环体语句;执行完循环体语句,再次计算表达式的值,如果为真,继续执行循环体……这个过程会一直重复,直到表达式的值为假(0)才退出循环。do-while循环与while循环使用相同方式工作,不同的是表达式条件是在循环的末尾测试的,所以do-while循环总是至少会运行一次。
if...else语句可以让Arduino判断某一个条件是否达到,并且根据这一判断结果执行相应的程序。
就像if语句,switch…case允许Arduino根据不同的条件运行不同的的程序代码。switch语句通过对一个变量的值与case语句中指定的值进行比较。当一个case语句中的指定值与switch语句中的变量相匹配。就会运行这个case语句下的代码。
通过break关键字,Arduino可以中止并跳出switch语句段,break关键字常常用于每个case语句的最后面。如果没有break语句,switch语句将继续执行下面的表达式(“持续下降”)直
到遇到break,或者是到达switch语句的末尾。
Arduino编程语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况。
switch (var) {
case 1:
//当var等于1时执行这里的程序
break;
case 2:
//当var等于2时执行这里的程序
break;
default:
// 如果var的值与以上case中的值都不匹配
// 则执行这里的程序
break;
}
自定义函数:声明参数类型(如整数型,浮点数类型),不同参数名称绝对不能相同;void 无返回值,int 返回值类型为整数型
Serial.print("randomNumber = ");
Serial.println(randomNumber);
Serial.println("");
通过串口监视器显示,Serial.println()变量, Serial.println("")换行
重新上传程序,串口监视器会显示一样的数字,通过randomSeed(analogRead(A0));修正,调用 analogRead()函数读取一个空引脚,作为随机种子数值(模拟输入)
测试:数码管从0开始显示到9,按下按键开关按键开关数码显示b
数码管作弊