Arduino 第五课 循环的使用
2023-02-25 06:45:47   0  举报             
     
         
 中小学物联网入门课程
    作者其他创作
 大纲/内容
  课程回顾    
     比尔运算、判断分支在程序中的作用  
     课程目标    
     1. 理解循环的概念和用途;  
     2. 掌握 Arduino 中常用的循环结构;  
     3. 能够编写利用循环实现的程序。  
     教学重点    
     1. 循环的概念和用途;  
     2. for 循环和 while 循环的使用;  
     3. 利用循环实现复杂的程序。  
     教学难点    
      如何使用循环实现复杂的程序?  
     如何结合现实生活中的循环,在编程中使用?  
     教学过程    
     1. 循环的概念和用途  
     2. for 循环和 while 循环的使用:for 循环一般用于在已知循环次数的情况下执行一段代码,而 while 循环则适用于需要一直执行某段代码直到满足特定条件的情况。    
     for 循环的使用:初始化表达式只会在循环开始之前执行一次,条件表达式用于判断是否继续执行循环,更新表达式则在每次循环结束后执行。  
     for (int i = 0; i < 10; i++) {
Serial.println(i);
}
    Serial.println(i);
}
 while 循环的使用:while 循环在每次循环开始前先判断条件表达式的值是否为真,只有当条件表达式的值为真时才会执行循环体。
  
     while (条件表达式) {
// 循环体
}
    // 循环体
}
 3. 利用循环实现复杂的程序:循环结构的威力在于它可以帮助我们简化复杂的程序。  
     案例:计算从1到n的整数之和。  
     案例2:统计开关按键按下的次数  
     int buttonPin = 2;  // 按钮所接的引脚
int ledPin = 13; // LED 灯所接的引脚
int buttonState = 0; // 按钮状态,初始值为未按下
int lastButtonState = 0; // 上一次按钮状态,初始值为未按下
int ledState = LOW; // LED 灯状态,初始值为关
int numPresses = 0; // 按钮按下次数
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
numPresses++;
Serial.print("Button pressed ");
Serial.print(numPresses);
Serial.println(" times");
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
digitalWrite(ledPin, ledState);
}
lastButtonState = buttonState;
}
}
    int ledPin = 13; // LED 灯所接的引脚
int buttonState = 0; // 按钮状态,初始值为未按下
int lastButtonState = 0; // 上一次按钮状态,初始值为未按下
int ledState = LOW; // LED 灯状态,初始值为关
int numPresses = 0; // 按钮按下次数
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
numPresses++;
Serial.print("Button pressed ");
Serial.print(numPresses);
Serial.println(" times");
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
digitalWrite(ledPin, ledState);
}
lastButtonState = buttonState;
}
}
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
 