範例碼(一):火焰感測器(KY-203)。
#include <SoftwareSerial.h>
// 初始化讀取的最小值
const int Sensor_Min = 0;
// 初始化讀取的最大值
const int Sensor_Max = 1024;
// 數位腳位
int Digital_Pin = 36;
// select the input pin for the LDR
// 類比腳位(GIOP)
int Analog_Pin = 33;
// 初始化蜂鳴器輸出腳位(GIOP)
int Buzzer_Pin = 32;
// 感測值
int Digital_Value;
int Analog_Value;
void setup() {
// 設定通訊速率
Serial.begin(115200);
// pinMode(火焰感測器數位輸入腳位, INPUT);
pinMode(Analog_Pin, INPUT);
// pinMode(火焰感測器類比輸入腳位, INPUT);
//pinMode(Digital_Pin, INPUT);
}
void loop() {
// 從 33(GIOP) 讀取火焰類比感測值
Analog_Value = analogRead(Analog_Pin);
//Digital_Value = analogRead(Digital_Pin);
// 將感測值對應區間 0 ~ 1024 值為 0 ~ 3
int range = map(Analog_Value, Sensor_Min, Sensor_Max, 0, 3);
//int range = map(Digital_Value, Sensor_Min, Sensor_Max, 0, 3);
// 對應值
switch (range) {
case 0: // 接近火焰大約在 45公分以內
Serial.println("** Close Fire **");
Serial.println("Fire Detected");
Serial.println(Analog_Value);
break;
default: // 沒有火焰
Serial.println("No Fire");
break;
}
delay(1000);
}
文章標籤
全站熱搜

留言功能已依作者設定調整顯示方式