課程目標
- 布爾類型的概念與應用
- 求余的靈活應用
- while循環的應用
電路搭建
所需材料
ArduinoUno * 1
任意顏色LED * 1
按鍵模塊 * 2
杜邦線若干
程序編寫
練習一:兩個按鍵控制開關燈
按鍵1按下時,LED燈開,按鍵2按下時,LED燈關。
電路連接:
圖形化方式:
代碼方式:
/* 項目名稱:雙按鍵控制開關燈
* 項目時間:2022.02.25
* 項目作者:MRX
*/
const int switch1_Pin = 3;
const int switch2_Pin = 8;
const int led_Pin = 7;
bool switch1 = LOW;
bool switch2 = LOW;
void setup() {
pinMode(switch1_Pin,INPUT);
pinMode(switch2_Pin,INPUT);
pinMode(led_Pin,OUTPUT);
}
void loop() {
switch1 = digitalRead(switch1_Pin);
switch2 = digitalRead(switch2_Pin);
if (switch1 == HIGH) {
digitalWrite(led_Pin,HIGH);
}
if (switch2 == HIGH) {
digitalWrite(led_Pin,LOW);
}
}
**布爾變量:**當我們需要記錄一些只有兩種狀態的事情時,比如開或者關,冷或者熱。布爾變量是最佳的記錄方式,因為布爾變量只有兩個值,0(false,假,低)或者1(true,真,高)。
*練習二:單按鍵開關燈
在學習第八課按鍵控制的時候,我們布置了一個課后練習,要求使用單個按鍵實現按一下開燈,再按一下關燈的功能。這里我們就來講解一下。
電路連接:
圖形化方式:
代碼方式:
/* 項目名稱:單按鍵控制開關燈
* 項目時間:2022.02.25
* 項目作者:MRX
*/
const int switch_Pin = 3;
const int led_Pin = 7;
bool switch_value = LOW;
void setup() {
pinMode(switch_Pin,INPUT);
pinMode(led_Pin,OUTPUT);
}
void loop() {
if(digitalRead(switch_Pin)){
switch_value = !switch_value;
delay(500);
}
if (switch_value == HIGH) {
digitalWrite(led_Pin,HIGH);
}
if (switch_value == LOW) {
digitalWrite(led_Pin,LOW);
}
}
練習三:單按鍵多功能燈
制作一個單按鍵控制的多功能燈,要求按一下微亮,再按一下最亮,按第三下滅,長按住開關閃爍,松開開關熄滅。
電路連接:
圖形化方式:
代碼方式:
/* 項目名稱:單按鍵多功能燈
* 項目時間:2022.02.25
* 項目作者:MRX
*/
const int switch_Pin = 3;
const int led_Pin = 6;
int switch_value = 0;
void setup() {
pinMode(switch_Pin,INPUT);
pinMode(led_Pin,OUTPUT);
}
void loop() {
if(digitalRead(switch_Pin)){
delay(500);
switch_value = (switch_value + 1) % 3;
if (switch_value == 1) {
analogWrite(led_Pin,120);
}
if (switch_value == 2) {
analogWrite(led_Pin,255);
}
if (switch_value == 0) {
analogWrite(led_Pin,0);
}
while (digitalRead(switch_Pin)) {
digitalWrite(led_Pin,HIGH);
delay(100);
digitalWrite(led_Pin,LOW);
delay(100);
switch_value = 0;
}
}
}
while循環: while循環將會連續、無限循環,直到括號()內的表達式變為false。必須用一些東西改變被測試的變量,否則while循環永遠不會退出。Arduino中while循環常見的用法包括傳感器測試、傳感器的校準、可變增量等。
-
傳感器
+關注
關注
2551文章
51099瀏覽量
753606 -
led燈
+關注
關注
22文章
1592瀏覽量
108006 -
Arduino
+關注
關注
188文章
6469瀏覽量
187091 -
按鍵控制
+關注
關注
1文章
44瀏覽量
8785
發布評論請先 登錄
相關推薦
評論