範例碼(一):火焰感測器(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);
}
文章標籤
全站熱搜
創作者介紹
創作者 mitblog 的頭像
mitblog

香腸炒章魚

mitblog 發表在 痞客邦 留言(0) 人氣(1)