if (條件式一){
符合條件一執行
}
else if(條件式二){
符合條件二執行
}
else if(條件式三){
符合條件三執行
}
else {
以上條件都不符合的時候執行
}
由於程式是由上往下判斷 因此是由上方開始往下判斷。
範例一
利用按鈕當數位輸入值控制內建LED燈開關。
int button=8;
void setup() {
pinMode(button,INPUT);
pinMode(13,OUTPUT);
}
void loop() {
if(digitalRead(button) == LOW){
digitalWrite(13,HIGH);
}
else{
digitalWrite(button,LOW);
}
}
範例二
使用超音波模組輸入值控制內建LED燈開關。
條件一 當距離<30公分 LED燈1秒閃10次。
條件二 當距離<60公分 LED燈1秒閃5次。
其他 LED關閉。
const byte trigPin=5;
const byte echoPin=6;
int LED = 13;
float d;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LED,OUTPUT);
Serial.begin(9600);
}
void loop() {
d = sr04() * 0.017;
Serial.print(d);
Serial.println("cm");
delay(1000);
if (d <= 30){
for(int i=1;i<=10;i++){
digitalWrite(LED,HIGH);
delay(100);
digitalWrite(LED,LOW);
delay(100);
}
}
else if (d <= 60){
for(int i=1;i<=10;i++){
digitalWrite(LED,HIGH);
delay(200);
digitalWrite(LED,LOW);
delay(200);
}
}
else{
digitalWrite(LED,LOW);
}
}
unsigned long sr04() {
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
return pulseIn(echoPin, HIGH);
}
沒有留言:
張貼留言